:root {
  --bg: #eef3f8;
  --bg-strong: #e4ebf3;
  --surface: rgba(255, 255, 255, 0.94);
  --surface-strong: #ffffff;
  --surface-muted: #f6f9fc;
  --border: #d7e0ea;
  --border-strong: #c4d0dd;
  --text: #172638;
  --muted: #4d6178; /* Phase 49: darkened from #5f7085 to hit WCAG AA 4.5+ on body bg */
  --accent: #1d5f95;
  --accent-strong: #143f68;
  --accent-soft: rgba(29, 95, 149, 0.12);
  /* Per-clinic brand tokens — default to the accent so unbranded clinics are
     unchanged; the active clinic's operator-set colors override these inline. */
  --brand-primary: var(--accent);
  --brand-secondary: var(--accent);
  --success: #147055;
  --warning: #8e5d12;
  --danger: #aa3d4b;
  /* Phase 48: shadows unified with --prod-elev scale (was tight 4px-shadow legacy) */
  --shadow: 0 1px 2px rgba(15, 32, 44, 0.05), 0 6px 16px rgba(15, 32, 44, 0.09);
  --shadow-hover: 0 10px 26px rgba(15, 32, 44, 0.14), 0 2px 6px rgba(15, 32, 44, 0.08);
  /* Phase 48: radius scale raised from 2-4px to a coherent 6/8/10/14 step.
     Previously the legacy tokens shipped 2-4px while .aap-card used 10px
     directly, which is why buttons read smaller than cards. */
  --radius-xl: 14px;
  --radius-lg: 10px;
  --radius-md: 8px;
  --radius-sm: 6px;
  --radius-pill: 999px;
  --font-sans: "Segoe UI Variable", "Aptos", "Segoe UI", sans-serif;
  --font-mono: "Cascadia Code", "Consolas", monospace;
  /* Phase 48: typography scale tokens — use these in new components and
     when sweeping inline font-size declarations. */
  --text-eyebrow: 0.71rem;
  --text-label: 0.78rem;
  --text-body: 0.92rem;
  --text-heading: 1.08rem;
  --text-display: 1.32rem;
  --weight-eyebrow: 600;
  --weight-label: 600;
  --weight-body: 500;
  --weight-heading: 700;
  --weight-display: 700;
  --topbar-height: 4.3rem;
  --tabs-height: 3rem;
  --sticky-offset: 8.25rem;
  --page-accent: #1d5f95;
  --page-accent-strong: #143f68;
  --page-soft: rgba(29, 95, 149, 0.12);
  --premium-graphite: #17202c;
  --premium-navy: #0f3557;
  --premium-teal: #087f83;
  --premium-green: #14745f;
  --premium-amber: #a66d12;
  --premium-red: #b5424d;
  --premium-cyan: #137da3;
  --premium-violet: #6e56a3;
  --premium-line: rgba(15, 53, 87, 0.16);
  /* Phase 48: motion + transition timing tokens for cohesive micro-interactions. */
  --motion-fast: 120ms;
  --motion-base: 180ms;
  --motion-slow: 280ms;
  --easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --easing-emphasized: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* Final production shell overrides: keep the command bar one-row after legacy blocks. */
.topbar.topbar--p13 {
  display: grid !important;
  grid-template-columns: minmax(18rem, auto) minmax(24rem, 1fr) auto !important;
  grid-template-areas: "menus center right" !important;
  align-items: center !important;
  gap: 0.75rem !important;
  min-height: 3.15rem !important;
}

.topbar.topbar--p13 .topbar__left { display: none !important; }
.topbar.topbar--p13 .topbar__menus { grid-area: menus !important; display: flex !important; }
.topbar.topbar--p13 .topbar__center-zone { grid-area: center !important; min-width: 0 !important; }
.topbar.topbar--p13 .topbar__right { grid-area: right !important; justify-self: end !important; }
.topbar.topbar--p13 .topbar__center-actions,
.topbar.topbar--p13 .topbar__action-group {
  display: flex !important;
  justify-content: space-evenly !important;
  gap: clamp(0.45rem, 1.6vw, 2rem) !important;
  width: 100% !important;
}

.clinic-brief-assist {
  display: grid;
  gap: 0.32rem;
  padding: 0.8rem 0.95rem;
  border-left: 3px solid #17476b;
  background: #fff;
  color: #10273c;
}

.clinic-brief-assist span {
  color: #17476b;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.clinic-brief-assist strong {
  font-size: 0.78rem;
  line-height: 1.35;
}

@media (max-width: 760px) {
  .topbar.topbar--p13 {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "hamburger menus right"
      "center center center" !important;
  }
  .topbar.topbar--p13 .topbar__left {
    grid-area: hamburger !important;
    display: flex !important;
  }
  .topbar.topbar--p13 .topbar__left .topbar__search { display: none !important; }
  body.client-facing-hub .topbar__menus,
  body.client-facing-hub .topbar.topbar--p13 > .topbar__menus,
  .topbar--p13 > .topbar__menus {
    display: flex !important;
    overflow-x: auto !important;
  }
  .topbar.topbar--p13 .topbar__center-actions,
  .topbar.topbar--p13 .topbar__action-group {
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }
}

/* Final production brand prominence lock: this must stay at file end. */
body .sidebar .sidebar__brand,
body.client-facing-hub .sidebar .sidebar__brand,
body[data-current-page="operator-console"] .sidebar .sidebar__brand {
  padding: 0.9rem 0.85rem 0.82rem !important;
  min-height: 5.15rem !important;
}

body .sidebar .sidebar__brand-lockup,
body.client-facing-hub .sidebar .sidebar__brand-lockup,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-lockup {
  /* Centered vertical stack: emblem → AdvanceAPractice → Command Suite, all
     centered on the same axis (replaces the old logo-left / text-right grid). */
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 0.32rem !important;
  padding: 0.35rem 0.2rem !important;
}

body .sidebar .sidebar__brand-logo,
body.client-facing-hub .sidebar .sidebar__brand-logo,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-logo {
  width: 4.1rem !important;
  max-width: 4.1rem !important;
  min-width: 4.1rem !important;
  height: 4.1rem !important;
  object-fit: contain !important;
  /* Phase 48: transparent-bg mark — brighten + saturate + layered halo */
  filter:
    brightness(1.08)
    saturate(1.15)
    drop-shadow(0 0 10px rgba(120, 170, 255, 0.35))
    drop-shadow(0 10px 18px rgba(0, 64, 208, 0.32)) !important;
}

body .sidebar .sidebar__brand-name,
body.client-facing-hub .sidebar .sidebar__brand-name,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-name {
  display: block !important;
  font-size: 0.94rem !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  color: #0b1f35 !important;
  opacity: 1 !important;
}

body .sidebar .sidebar__brand-name strong,
body.client-facing-hub .sidebar .sidebar__brand-name strong,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-name strong {
  display: block !important;
  margin-top: 0.2rem !important;
  font-size: 0.82rem !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  color: #24445f !important;
}

body .sidebar #sidebar-clinic-switch,
body.client-facing-hub .sidebar #sidebar-clinic-switch,
body[data-current-page="operator-console"] .sidebar #sidebar-clinic-switch {
  margin-top: 0.55rem !important;
  border-color: rgba(0, 64, 208, 0.22) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%) !important;
  color: #0b1f35 !important;
  box-shadow: 0 8px 18px -14px rgba(0, 64, 208, 0.35) !important;
}

body .sidebar #sidebar-pulse-badge,
body.client-facing-hub .sidebar #sidebar-pulse-badge,
body[data-current-page="operator-console"] .sidebar #sidebar-pulse-badge {
  max-width: 4.85rem !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0.08rem 0.38rem !important;
  font-size: 0.54rem !important;
  line-height: 1.1 !important;
  letter-spacing: 0.025em !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.12), 0 0 14px rgba(220, 38, 38, 0.26) !important;
}

body .sidebar #sidebar-pulse-badge.is-alert,
body.client-facing-hub .sidebar #sidebar-pulse-badge.is-alert,
body[data-current-page="operator-console"] .sidebar #sidebar-pulse-badge.is-alert {
  animation: aap-attention-glow 2.6s ease-in-out infinite !important;
}

@keyframes aap-attention-glow {
  0%, 100% {
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.14), 0 0 10px rgba(220, 38, 38, 0.18);
  }
  50% {
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.28), 0 0 18px rgba(220, 38, 38, 0.34);
  }
}

@media (max-width: 760px) {
  body .sidebar .sidebar__brand-lockup,
  body.client-facing-hub .sidebar .sidebar__brand-lockup,
  body[data-current-page="operator-console"] .sidebar .sidebar__brand-lockup {
    grid-template-columns: 3.35rem minmax(0, 1fr) !important;
  }

  body .sidebar .sidebar__brand-logo,
  body.client-facing-hub .sidebar .sidebar__brand-logo,
  body[data-current-page="operator-console"] .sidebar .sidebar__brand-logo {
    width: 3.35rem !important;
    max-width: 3.35rem !important;
    min-width: 3.35rem !important;
    height: 3.35rem !important;
  }

  body[data-current-page="claims"] .claims-table-wrap,
  body[data-current-page="denials"] .claims-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    overscroll-behavior-inline: contain !important;
    contain: inline-size !important;
  }

  body[data-current-page="claims"] .claims-table,
  body[data-current-page="denials"] .denials-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body[data-current-page="claims"] .claims-table,
  body[data-current-page="claims"] .claims-table tbody,
  body[data-current-page="claims"] .claims-table tr,
  body[data-current-page="claims"] .claims-table td,
  body[data-current-page="denials"] .denials-table,
  body[data-current-page="denials"] .denials-table tbody,
  body[data-current-page="denials"] .denials-table tr,
  body[data-current-page="denials"] .denials-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body[data-current-page="claims"] .claims-table thead,
  body[data-current-page="denials"] .denials-table thead {
    display: none !important;
  }

  body[data-current-page="claims"] .claims-table tr,
  body[data-current-page="denials"] .denials-table tr {
    margin: 0 0 0.55rem !important;
    padding: 0.55rem !important;
    border: 1px solid rgba(15, 53, 87, 0.13) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 22px -20px rgba(15, 53, 87, 0.35) !important;
  }

  body[data-current-page="claims"] .claims-table td,
  body[data-current-page="denials"] .denials-table td {
    border-bottom: 1px solid rgba(15, 53, 87, 0.07) !important;
    padding: 0.36rem 0 !important;
    white-space: normal !important;
  }

  body[data-current-page="claims"] .claims-table td:last-child,
  body[data-current-page="denials"] .denials-table td:last-child {
    border-bottom: 0 !important;
  }

  body[data-current-page="claims"] .topbar.topbar--p13,
  body[data-current-page="denials"] .topbar.topbar--p13,
  body[data-current-page="claims"] .topbar__center-zone,
  body[data-current-page="denials"] .topbar__center-zone {
    max-width: 100vw !important;
    overflow: hidden !important;
  }

  body[data-current-page="claims"] .topbar__center-actions,
  body[data-current-page="claims"] .topbar__action-group,
  body[data-current-page="denials"] .topbar__center-actions,
  body[data-current-page="denials"] .topbar__action-group {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.42rem !important;
    overflow: hidden !important;
  }

  body[data-current-page="claims"] .topbar__fancy-btn,
  body[data-current-page="denials"] .topbar__fancy-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-inline: 0.55rem !important;
  }

  body[data-current-page="claims"] .topbar__fancy-btn:nth-child(n+3),
  body[data-current-page="denials"] .topbar__fancy-btn:nth-child(n+3) {
    display: none !important;
  }

  body[data-current-page="claims"] .charts-grid,
  body[data-current-page="denials"] .charts-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body[data-current-page="claims"] .chart,
  body[data-current-page="claims"] .chart__summary,
  body[data-current-page="claims"] .chart-row,
  body[data-current-page="claims"] .chart__toggle,
  body[data-current-page="denials"] .chart,
  body[data-current-page="denials"] .chart__summary,
  body[data-current-page="denials"] .chart-row,
  body[data-current-page="denials"] .chart__toggle {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body[data-current-page="claims"],
  body[data-current-page="denials"] {
    overflow-x: clip !important;
  }
}

/* Premium appearance and RCM Today production upgrade */
:root {
  --aap-rcm: #087f83;
  --aap-rcm-deep: #075f7a;
  --aap-credentialing: #14745f;
  --aap-tasks: #a85d00;
  --aap-messenger: #6d45a8;
  --aap-reports: #3257b8;
  --aap-workflows: #7c3aed;
  --aap-risk: #c72f45;
  --aap-warning: #a85d00;
  --aap-success: #0f7a55;
  --aap-ink: #071d33;
}

.sidebar__brand {
  padding: 1rem 0.75rem 0.95rem !important;
  margin-bottom: 0.55rem !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(239,247,255,0.94)) !important;
  border: 1px solid rgba(15, 83, 135, 0.14) !important;
  box-shadow: 0 16px 34px rgba(15, 53, 87, 0.10) !important;
}

.sidebar__brand-lockup {
  display: grid !important;
  grid-template-columns: 3.75rem minmax(0, 1fr) !important;
  gap: 0.72rem !important;
  align-items: center !important;
}

.sidebar__brand-logo {
  width: 3.65rem !important;
  height: 3.65rem !important;
  object-fit: contain !important;
  /* Phase 48: transparent-bg mark — brighten + saturate + soft halo */
  filter:
    brightness(1.08)
    saturate(1.15)
    drop-shadow(0 0 10px rgba(120, 170, 255, 0.35))
    drop-shadow(0 10px 18px rgba(0, 64, 208, 0.32)) !important;
}

.sidebar__brand-name {
  display: block !important;
  color: var(--aap-ink) !important;
  font-size: 1.02rem !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.sidebar__brand-name strong {
  display: block !important;
  margin-top: 0.18rem !important;
  color: #38526b !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

#sidebar-clinic-switch,
.topbar__fancy-btn,
#topbar-operator-btns .topbar__fancy-btn {
  color: #071d33 !important;
  background: linear-gradient(180deg, #ffffff, #eef6ff) !important;
  border-color: rgba(13, 62, 103, 0.22) !important;
}

.topbar__fancy-btn:hover,
.topbar__fancy-btn:focus-visible,
#sidebar-clinic-switch:hover,
#sidebar-clinic-switch:focus-visible {
  color: #031426 !important;
  background: linear-gradient(180deg, #ffffff, #dcefff) !important;
  box-shadow: 0 10px 22px rgba(15, 83, 135, 0.14) !important;
}

.module-link {
  border-left: 4px solid var(--custom-module-accent, #6d8092) !important;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease !important;
}

.module-link--claims,
[data-page-link="claims"] { --custom-module-accent: var(--aap-rcm); }
.module-link--credentialing,
[data-page-link="credentialing"] { --custom-module-accent: var(--aap-credentialing); }
.module-link--ops,
[data-page-link="staff-ops"] { --custom-module-accent: var(--aap-tasks); }
.module-link--messages,
[data-page-link="messaging"] { --custom-module-accent: var(--aap-messenger); }
.module-link--reports,
[data-page-link="reporting"] { --custom-module-accent: var(--aap-reports); }
.module-link--automation,
.module-link--integrations,
[data-page-link="workflows"],
[data-page-link="automation"],
[data-page-link="universal-connectors"] { --custom-module-accent: var(--aap-workflows); }

.module-link:hover,
.module-link:focus-visible,
.module-link.is-active {
  transform: translateX(2px) !important;
  box-shadow: 0 8px 18px rgba(15, 53, 87, 0.10) !important;
}

body[data-current-page="dashboard"] #workspace-overview .eyebrow,
body[data-current-page="dashboard"] #premium-client-command .premium-eyebrow {
  color: #607487 !important;
}

.rcm-today-command {
  position: relative;
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 1.8vw, 1.35rem);
  border-radius: 10px;
  border: 1px solid rgba(8, 127, 131, 0.22);
  background:
    radial-gradient(circle at top left, rgba(8, 127, 131, 0.12), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.99), rgba(239,248,251,0.96));
  box-shadow: 0 22px 48px rgba(15, 53, 87, 0.12);
  overflow: clip;
}

.rcm-today-command::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--aap-rcm), #12b7c2, var(--aap-risk));
}

.rcm-today-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.46fr);
  gap: 1rem;
  align-items: start;
}

.rcm-today-hero h3 {
  margin: 0.18rem 0 0.35rem;
  color: var(--aap-ink);
  font-size: clamp(1.5rem, 2.8vw, 2.3rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.rcm-today-hero p {
  max-width: 58rem;
  color: #4d6377;
  font-size: 0.92rem;
}

.rcm-today-hero__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.rcm-today-hero__actions button,
.rcm-floating-dock button,
.rcm-worklist-card footer button {
  min-height: 2.35rem;
  font-weight: 900;
}

.rcm-today-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.65rem;
}

.rcm-today-metric {
  position: relative;
  padding: 0.8rem 0.8rem 0.72rem;
  border-radius: 8px;
  border: 1px solid rgba(15, 53, 87, 0.12);
  background: rgba(255,255,255,0.92);
  box-shadow: 0 12px 22px rgba(15, 53, 87, 0.08);
  animation: premiumRise 520ms ease both;
  animation-delay: var(--metric-delay, 0ms);
}

.rcm-today-metric::before,
.rcm-worklist-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 8px 0 0 8px;
  background: var(--tone-color, var(--aap-rcm));
}

.rcm-today-metric span,
.rcm-worklist-card header span,
.rcm-premium-panel header span {
  display: block;
  color: #66798b;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.rcm-today-metric strong {
  display: block;
  margin-top: 0.2rem;
  color: var(--aap-ink);
  font-size: clamp(1.4rem, 2vw, 2.05rem);
  line-height: 1;
}

.rcm-today-metric em {
  display: block;
  margin-top: 0.28rem;
  color: #52687b;
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 700;
}

.rcm-command-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.65fr);
  gap: 0.8rem;
}

.rcm-worklist-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
}

.rcm-worklist-card,
.rcm-premium-panel {
  position: relative;
  display: grid;
  gap: 0.65rem;
  padding: 0.82rem;
  border-radius: 9px;
  border: 1px solid rgba(15, 53, 87, 0.13);
  background: rgba(255,255,255,0.94);
  box-shadow: 0 14px 30px rgba(15, 53, 87, 0.09);
  animation: premiumRise 520ms ease both;
  animation-delay: var(--metric-delay, 0ms);
}

.rcm-worklist-card:hover,
.rcm-premium-panel:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(15, 53, 87, 0.13);
}

.rcm-worklist-card header,
.rcm-premium-panel header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.6rem;
}

.rcm-worklist-card header strong,
.rcm-premium-panel header strong {
  color: var(--aap-ink);
  font-size: 1.1rem;
}

.rcm-worklist-card p,
.rcm-premium-panel p {
  color: #53687c;
  font-size: 0.78rem;
}

.rcm-worklist-card__items {
  display: grid;
  gap: 0.42rem;
}

.rcm-worklist-card__items button,
.rcm-payer-heatmap button,
.rcm-automation-suggestions button {
  display: grid;
  gap: 0.12rem;
  width: 100%;
  text-align: left;
  padding: 0.55rem 0.65rem;
  border-radius: 7px;
  border: 1px solid rgba(8, 127, 131, 0.16);
  background: linear-gradient(180deg, #ffffff, #f2f9fb);
  color: var(--aap-ink);
}

.rcm-worklist-card__items button:hover,
.rcm-payer-heatmap button:hover,
.rcm-automation-suggestions button:hover {
  border-color: rgba(8, 127, 131, 0.42);
  box-shadow: 0 10px 20px rgba(8, 127, 131, 0.12);
}

.rcm-worklist-card__items span,
.rcm-payer-heatmap span,
.rcm-automation-suggestions span {
  color: var(--aap-ink);
  font-weight: 900;
}

.rcm-worklist-card__items strong,
.rcm-worklist-card__items em,
.rcm-payer-heatmap em,
.rcm-automation-suggestions em {
  color: #52687b;
  font-size: 0.72rem;
  font-style: normal;
}

.rcm-worklist-card footer,
.rcm-floating-dock {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.rcm-command-sidecar {
  display: grid;
  gap: 0.72rem;
  align-content: start;
}

.rcm-payer-heatmap button {
  position: relative;
  overflow: hidden;
}

.rcm-payer-heatmap button::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  width: var(--payer-pressure, 16%);
  background: linear-gradient(90deg, var(--aap-rcm), var(--aap-risk));
}

.rcm-root-cause-bars__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.45rem;
  align-items: center;
}

.rcm-root-cause-bars__row i {
  grid-column: 1 / -1;
  height: 0.42rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--tone-color, var(--aap-warning)) var(--bar, 20%), #e6eef6 var(--bar, 20%));
}

.rcm-root-cause-bars__row em {
  color: #52687b;
  font-size: 0.72rem;
  font-style: normal;
}

.rcm-release-flow__lanes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.rcm-release-flow__lanes article {
  padding: 0.55rem;
  border-radius: 7px;
  border: 1px solid rgba(15, 53, 87, 0.12);
  background: #f7fbff;
}

.rcm-empty-lane {
  padding: 0.7rem;
  border-radius: 7px;
  color: #52687b;
  background: #f4f8fb;
  border: 1px dashed #cbd8e5;
}

.rcm-floating-dock {
  position: sticky;
  bottom: 0.75rem;
  z-index: 10;
  align-items: center;
  padding: 0.65rem;
  border-radius: 10px;
  border: 1px solid rgba(8, 127, 131, 0.18);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 42px rgba(15, 53, 87, 0.16);
  backdrop-filter: blur(12px);
}

.rcm-tone-danger { --tone-color: var(--aap-risk); }
.rcm-tone-warning { --tone-color: var(--aap-warning); }
.rcm-tone-success { --tone-color: var(--aap-success); }
.rcm-tone-info,
.rcm-tone-neutral { --tone-color: var(--aap-rcm); }

.action-button.rcm-tone-success,
.action-button[data-rcm-stage-action],
.rcm-floating-dock .action-button {
  color: #fff !important;
  background: linear-gradient(135deg, var(--aap-rcm), var(--aap-rcm-deep)) !important;
  border-color: transparent !important;
}

@keyframes premiumRise {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1180px) {
  .rcm-today-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rcm-command-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .sidebar__brand-lockup {
    grid-template-columns: 3rem minmax(0, 1fr) !important;
  }
  .sidebar__brand-logo {
    width: 2.9rem !important;
    height: 2.9rem !important;
  }
  .sidebar__brand-name {
    font-size: 0.92rem !important;
  }
  .rcm-today-command {
    padding: 0.82rem;
  }
  .rcm-today-hero,
  .rcm-today-metrics,
  .rcm-worklist-grid,
  .rcm-release-flow__lanes,
  .rcm-today-hero__actions {
    grid-template-columns: 1fr;
  }
  .rcm-floating-dock {
    position: static;
  }
  .rcm-floating-dock button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rcm-today-metric,
  .rcm-worklist-card,
  .rcm-premium-panel,
  .module-link {
    animation: none !important;
    transition: none !important;
  }
}

/* Final final: this is intentionally last so the production one-row topbar wins over old phase CSS. */
body.client-facing-hub .topbar.topbar--p13,
.topbar.topbar--p13 {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) max-content !important;
  grid-template-rows: auto !important;
  grid-template-areas: "menus actions right" !important;
  align-items: center !important;
  gap: 0.65rem !important;
  min-height: 3.3rem !important;
  padding: 0.42rem 0.78rem !important;
}

body.client-facing-hub .topbar.topbar--p13 > .topbar__left,
.topbar.topbar--p13 > .topbar__left {
  display: none !important;
}

body.client-facing-hub .topbar.topbar--p13 > .topbar__menus,
.topbar.topbar--p13 > .topbar__menus {
  grid-area: menus !important;
  display: flex !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  min-width: max-content !important;
  overflow: visible !important;
  border: 0 !important;
}

body.client-facing-hub .topbar.topbar--p13 > .topbar__center-zone,
.topbar.topbar--p13 > .topbar__center-zone {
  grid-area: actions !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.client-facing-hub .topbar.topbar--p13 > .topbar__right,
.topbar.topbar--p13 > .topbar__right {
  grid-area: right !important;
  justify-self: end !important;
}

#topbar-center-actions,
#topbar-operator-btns,
.topbar.topbar--p13 .topbar__center-actions,
.topbar.topbar--p13 .topbar__action-group {
  display: flex !important;
  align-items: center !important;
  justify-content: space-evenly !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  gap: clamp(0.35rem, 1vw, 1.4rem) !important;
}

.topbar.topbar--p13 .topbar__fancy-btn,
#topbar-operator-btns .topbar__fancy-btn {
  padding: 0.34rem 0.58rem !important;
  min-width: 7.1rem !important;
  max-width: 10.4rem !important;
  justify-content: center !important;
}

[data-page-link][data-module-hidden="true"] {
  display: none !important;
}

[data-page-link][data-custom-accent] {
  border-left-color: var(--custom-module-accent, #0f5e9c) !important;
}

body[data-workspace-density="compact"] .workspace-overview,
body[data-workspace-density="compact"] .premium-command-grid,
body[data-workspace-density="compact"] .workspace-shell__module {
  gap: 0.72rem !important;
}

body[data-workspace-density="spacious"] .workspace-overview,
body[data-workspace-density="spacious"] .premium-command-grid,
body[data-workspace-density="spacious"] .workspace-shell__module {
  gap: 1.35rem !important;
}

@media (max-width: 1100px) and (min-width: 761px) {
  body.client-facing-hub .topbar.topbar--p13,
  .topbar.topbar--p13 {
    grid-template-columns: max-content minmax(20rem, 1fr) max-content !important;
  }
  .topbar.topbar--p13 .topbar__fancy-btn,
  #topbar-operator-btns .topbar__fancy-btn {
    min-width: 7.4rem !important;
    font-size: 0.74rem !important;
    padding-inline: 0.55rem !important;
  }
}

@media (max-width: 760px) {
  body.client-facing-hub .topbar.topbar--p13,
  .topbar.topbar--p13 {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "hamburger menus right"
      "actions actions actions" !important;
    padding: 0.42rem 0.55rem !important;
  }
  body.client-facing-hub .topbar.topbar--p13 > .topbar__left,
  .topbar.topbar--p13 > .topbar__left {
    grid-area: hamburger !important;
    display: flex !important;
  }
  .topbar.topbar--p13 > .topbar__center-zone {
    overflow: hidden !important;
  }
  #topbar-center-actions,
  #topbar-operator-btns,
  .topbar.topbar--p13 .topbar__center-actions,
  .topbar.topbar--p13 .topbar__action-group {
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }
}

/* Production pass: keep desktop topbar as a single command row and make workspace module prefs visible. */
body.client-facing-hub .topbar.topbar--p13,
.topbar.topbar--p13 {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) max-content !important;
  grid-template-rows: auto !important;
  grid-template-areas: "menus actions right" !important;
  align-items: center !important;
  gap: 0.65rem !important;
  min-height: 3.3rem !important;
  padding: 0.42rem 0.78rem !important;
}

body.client-facing-hub .topbar.topbar--p13 > .topbar__menus,
.topbar.topbar--p13 > .topbar__menus {
  grid-area: menus !important;
  display: flex !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  min-width: max-content !important;
  overflow: visible !important;
  border: 0 !important;
}

.topbar.topbar--p13 > .topbar__center-zone {
  grid-area: actions !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
}

.topbar.topbar--p13 > .topbar__right {
  grid-area: right !important;
  justify-self: end !important;
}

#topbar-center-actions,
#topbar-operator-btns,
.topbar.topbar--p13 .topbar__center-actions,
.topbar.topbar--p13 .topbar__action-group {
  display: flex !important;
  align-items: center !important;
  justify-content: space-evenly !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  gap: clamp(0.35rem, 1vw, 1.4rem) !important;
}

.topbar.topbar--p13 .topbar__fancy-btn,
#topbar-operator-btns .topbar__fancy-btn {
  padding: 0.34rem 0.58rem !important;
  min-width: 7.1rem !important;
  max-width: 10.4rem !important;
  justify-content: center !important;
}

[data-page-link][data-module-hidden="true"] {
  display: none !important;
}

[data-page-link][data-custom-accent] {
  border-left-color: var(--custom-module-accent, #0f5e9c) !important;
}

body[data-workspace-density="compact"] .workspace-overview,
body[data-workspace-density="compact"] .premium-command-grid,
body[data-workspace-density="compact"] .workspace-shell__module {
  gap: 0.72rem !important;
}

body[data-workspace-density="spacious"] .workspace-overview,
body[data-workspace-density="spacious"] .premium-command-grid,
body[data-workspace-density="spacious"] .workspace-shell__module {
  gap: 1.35rem !important;
}

@media (max-width: 1100px) and (min-width: 761px) {
  body.client-facing-hub .topbar.topbar--p13,
  .topbar.topbar--p13 {
    grid-template-columns: max-content minmax(20rem, 1fr) max-content !important;
  }
  .topbar.topbar--p13 .topbar__fancy-btn,
  #topbar-operator-btns .topbar__fancy-btn {
    min-width: 7.4rem !important;
    font-size: 0.74rem !important;
    padding-inline: 0.55rem !important;
  }
}

@media (max-width: 760px) {
  body.client-facing-hub .topbar.topbar--p13,
  .topbar.topbar--p13 {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "hamburger menus right"
      "actions actions actions" !important;
    padding: 0.42rem 0.55rem !important;
  }
  .topbar.topbar--p13 > .topbar__center-zone {
    overflow: hidden !important;
  }
  #topbar-center-actions,
  #topbar-operator-btns,
  .topbar.topbar--p13 .topbar__center-actions,
  .topbar.topbar--p13 .topbar__action-group {
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }
}

/* Phase 48 premium production refinement */
.wf-canvas {
  position: relative;
  min-height: 300px;
  margin: 1rem 0 1.25rem;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid rgba(15, 53, 87, 0.14);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(0, 64, 208, 0.04), rgba(20, 184, 166, 0.06));
}
.wf-canvas__connections { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.wf-connection-path { stroke: rgba(15, 53, 87, 0.32); stroke-width: 2; fill: none; stroke-dasharray: 6 5; animation: wf-dash 1.25s linear infinite; }
@keyframes wf-dash { to { stroke-dashoffset: -11; } }
.wf-canvas__nodes { position: relative; display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 1rem; max-width: calc(100% - 380px); z-index: 1; }
.wf-node { min-height: 112px; padding: 0.85rem 1rem; text-align: left; border: 1px solid rgba(15, 53, 87, 0.12); border-radius: 10px; background: #fff; box-shadow: 0 8px 22px rgba(15, 53, 87, 0.08); cursor: pointer; }
.wf-node--trigger { border-top: 4px solid #f97316; }
.wf-node--condition { border-top: 4px solid #0040d0; }
.wf-node--action { border-top: 4px solid #14b8a6; }
.wf-node__type { display: block; margin-bottom: 0.35rem; color: rgba(15, 53, 87, 0.58); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.wf-node strong { display: block; color: #0d2a44; font-size: 0.94rem; line-height: 1.25; }
.wf-node small { display: block; margin-top: 0.38rem; color: rgba(15, 53, 87, 0.62); font-size: 0.75rem; line-height: 1.35; }
.wf-canvas__inspector { position: absolute; top: 1rem; right: 1rem; bottom: 4.6rem; width: min(330px, 32%); padding: 1rem; border: 1px solid rgba(15, 53, 87, 0.12); border-radius: 10px; background: rgba(255, 255, 255, 0.92); box-shadow: 0 8px 24px rgba(15, 53, 87, 0.08); z-index: 2; }
.wf-canvas__inspector h4 { margin: 0.6rem 0 0.4rem; color: #0d2a44; }
.wf-canvas__inspector p { margin: 0; color: rgba(15, 53, 87, 0.68); font-size: 0.82rem; line-height: 1.45; }
.wf-run-mini { display: grid; gap: 0.35rem; margin-top: 0.85rem; font-size: 0.76rem; color: rgba(15, 53, 87, 0.65); }
.wf-run-mini strong { color: #0d2a44; }
.wf-canvas__toolbar { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; display: flex; gap: 0.5rem; align-items: center; z-index: 3; }
.kanban-col--drag-over { outline: 2px dashed rgba(0, 64, 208, 0.38); background: rgba(0, 64, 208, 0.06); }
.kanban-card.dragging { opacity: 0.45; transform: rotate(1deg); }
.kanban-card__project { display: block; margin-bottom: 0.24rem; color: rgba(15, 53, 87, 0.52); font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.kanban-card__meta { display: flex; gap: 0.4rem; flex-wrap: wrap; align-items: center; margin-top: 0.44rem; }
.kanban-card__due { color: rgba(15, 53, 87, 0.68); font-size: 0.72rem; }
.portfolio-table-wrap { margin: 1rem 0; overflow: auto; border: 1px solid rgba(15, 53, 87, 0.10); border-radius: 10px; background: #fff; }
.portfolio-table { width: 100%; min-width: 920px; border-collapse: collapse; }
.portfolio-table th { padding: 0.62rem 0.75rem; color: rgba(15, 53, 87, 0.58); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.07em; text-align: left; text-transform: uppercase; border-bottom: 1px solid rgba(15, 53, 87, 0.10); background: rgba(15, 53, 87, 0.035); }
.portfolio-table td { padding: 0.7rem 0.75rem; color: #0d2a44; font-size: 0.82rem; border-bottom: 1px solid rgba(15, 53, 87, 0.07); vertical-align: middle; }
.portfolio-table tr:hover td { background: rgba(0, 64, 208, 0.035); }
.portfolio-slug { display: block; margin-top: 0.18rem; color: rgba(15, 53, 87, 0.52); font-size: 0.68rem; }
.health-bar { width: 90px; height: 5px; margin-top: 0.22rem; overflow: hidden; border-radius: 999px; background: rgba(15, 53, 87, 0.10); }
.health-bar__fill { display: block; height: 100%; border-radius: inherit; }
.health-bar__fill--green { background: #059669; }
.health-bar__fill--amber { background: #f59e0b; }
.health-bar__fill--red { background: #dc2626; }
.portfolio-drill-btn { padding: 0.28rem 0.62rem; border: 1px solid rgba(0, 64, 208, 0.16); border-radius: 7px; background: rgba(0, 64, 208, 0.07); color: #0040d0; font-weight: 800; cursor: pointer; }

/* Phase 60 — compact clinic roster (scales to 50 clinics, dense scannable rows) */
.clinic-roster { margin: 0.9rem 0 0.4rem; }
.clinic-roster__toolbar { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 0.5rem; }
.clinic-roster__count { margin: 0; color: #0d2a44; font-size: 0.82rem; font-weight: 800; letter-spacing: 0.01em; }
.clinic-roster__hint { margin: 0; color: rgba(15, 53, 87, 0.52); font-size: 0.72rem; }
.clinic-roster__scroll { max-height: 620px; overflow: auto; border: 1px solid rgba(15, 53, 87, 0.12); border-radius: 12px; background: #fff; box-shadow: 0 1px 2px rgba(15, 53, 87, 0.04); }
.clinic-roster__table { width: 100%; min-width: 880px; border-collapse: separate; border-spacing: 0; }
.clinic-roster__th { position: sticky; top: 0; z-index: 2; padding: 0; background: #f4f6fb; border-bottom: 1px solid rgba(15, 53, 87, 0.12); }
.clinic-roster__sort { display: flex; align-items: center; gap: 0.32rem; width: 100%; padding: 0.6rem 0.75rem; border: 0; background: transparent; color: rgba(15, 53, 87, 0.6); font: inherit; font-size: 0.67rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; cursor: pointer; }
.clinic-roster__sort:hover { color: #0040d0; }
.clinic-roster__th--left .clinic-roster__sort { justify-content: flex-start; }
.clinic-roster__th--center .clinic-roster__sort { justify-content: center; }
.clinic-roster__th--right .clinic-roster__sort { justify-content: flex-end; }
.clinic-roster__th.is-active .clinic-roster__sort { color: #0040d0; }
.clinic-roster__th--action { width: 88px; }
.clinic-roster__arrow { color: #0040d0; font-size: 0.62rem; line-height: 1; }
.clinic-roster__row { cursor: pointer; transition: background 0.12s ease; }
.clinic-roster__row:hover { background: rgba(0, 64, 208, 0.04); }
.clinic-roster__row.is-selected { background: rgba(0, 64, 208, 0.08); box-shadow: inset 3px 0 0 #0040d0; }
.clinic-roster__row:focus-visible { outline: 2px solid #0040d0; outline-offset: -2px; }
.clinic-roster__row:hover .clinic-roster__open,
.clinic-roster__row.is-selected .clinic-roster__open { opacity: 1; }
.clinic-roster__cell { padding: 0.56rem 0.75rem; color: #0d2a44; font-size: 0.82rem; border-bottom: 1px solid rgba(15, 53, 87, 0.07); vertical-align: middle; }
.clinic-roster__row:last-child .clinic-roster__cell { border-bottom: 0; }
.clinic-roster__cell--center { text-align: center; }
.clinic-roster__cell--right { text-align: right; }
.clinic-roster__cell--action { text-align: right; }
.clinic-roster__cell--name { max-width: 340px; }
.clinic-roster__cell--name strong { display: block; color: #0d2a44; font-size: 0.86rem; font-weight: 700; }
.clinic-roster__sub { display: block; margin-top: 0.16rem; max-width: 320px; overflow: hidden; color: rgba(15, 53, 87, 0.55); font-size: 0.69rem; text-overflow: ellipsis; white-space: nowrap; }
.clinic-roster__cell--right .clinic-roster__sub { margin-left: auto; }
.clinic-roster__attn { display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; padding: 0.2rem 0.5rem; border-radius: 999px; font-size: 0.78rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.clinic-roster__attn--critical { background: rgba(220, 38, 38, 0.13); color: #b91c1c; }
.clinic-roster__attn--warning { background: rgba(245, 158, 11, 0.16); color: #b45309; }
.clinic-roster__attn--stable { background: rgba(5, 150, 105, 0.14); color: #047857; }
.clinic-roster__money { display: block; font-size: 0.84rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.clinic-roster__money--critical { color: #dc2626; }
.clinic-roster__money--warning { color: #b45309; }
.clinic-roster__money--stable { color: #0d2a44; }
.clinic-roster__badges { display: inline-flex; gap: 0.28rem; flex-wrap: wrap; justify-content: center; }
.clinic-roster__pill { display: inline-flex; align-items: center; padding: 0.16rem 0.42rem; border-radius: 6px; font-size: 0.66rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.clinic-roster__pill--critical { background: rgba(220, 38, 38, 0.12); color: #b91c1c; }
.clinic-roster__pill--warning { background: rgba(245, 158, 11, 0.16); color: #b45309; }
.clinic-roster__pill--muted { background: rgba(15, 53, 87, 0.07); color: rgba(15, 53, 87, 0.6); }
.clinic-roster__open { opacity: 0.55; color: #0040d0; font-size: 0.78rem; font-weight: 800; white-space: nowrap; transition: opacity 0.12s ease; }
@media (max-width: 980px) {
  .wf-canvas__nodes { grid-template-columns: 1fr; max-width: none; padding-right: 0; }
  .wf-canvas__connections { display: none; }
  .wf-canvas__inspector { position: relative; inset: auto; width: auto; margin-top: 1rem; }
  .wf-canvas__toolbar { position: relative; left: auto; right: auto; bottom: auto; margin-top: 1rem; flex-wrap: wrap; }
}

body[data-theme="behavioral-health-premium"] {
  --bg: #f3f0e8;
  --bg-strong: #ebe5d8;
  --surface: rgba(255, 255, 255, 0.95);
  --surface-muted: #fbf8f3;
  --border: #dccfbb;
  --border-strong: #cbbca7;
  --accent: #0d7a6b;
  --accent-strong: #0c6255;
  --accent-soft: rgba(13, 122, 107, 0.12);
}

body[data-theme="executive-glass"] {
  --bg: #ebf2fb;
  --bg-strong: #d8e5f5;
  --surface: rgba(255, 255, 255, 0.86);
  --surface-muted: rgba(255, 255, 255, 0.72);
  --border: rgba(28, 78, 124, 0.18);
  --border-strong: rgba(28, 78, 124, 0.28);
  --accent: #1766bf;
  --accent-strong: #0f4d91;
  --accent-soft: rgba(23, 102, 191, 0.12);
}

body[data-theme="clinical-command"] {
  --bg: #eef3f8;
  --bg-strong: #e4ebf3;
  --surface: rgba(255, 255, 255, 0.94);
  --surface-strong: #ffffff;
  --surface-muted: #f6f9fc;
  --border: #d7e0ea;
  --border-strong: #c4d0dd;
  --text: #172638;
  --muted: #4d6178; /* Phase 49: darkened from #5f7085 to hit WCAG AA 4.5+ on body bg */
  --accent: #1d5f95;
  --accent-strong: #143f68;
  --accent-soft: rgba(29, 95, 149, 0.12);
}

/* Premium polish pass: account/logout, tighter command bar, and showcase visuals. */
.topbar {
  gap: 0.55rem;
  align-items: center;
}

.topbar__command-core {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: min(31rem, 100%);
  margin-right: auto;
}

.topbar__workspace-label {
  display: inline-flex;
  align-items: center;
  min-height: 2.2rem;
  padding: 0 0.75rem;
  border: 1px solid rgba(15, 53, 87, 0.18);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(15, 53, 87, 0.95), rgba(8, 127, 131, 0.9));
  color: #f7fbff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: 0 10px 22px rgba(15, 53, 87, 0.18);
}

.topbar__search {
  flex: 1;
  min-width: 13rem;
  min-height: 2.25rem;
  padding: 0 0.85rem;
  border: 1px solid rgba(15, 53, 87, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  color: var(--muted);
  font-size: 0.78rem;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
  cursor: pointer;
}

.topbar__search:hover,
.topbar__search:focus-visible {
  border-color: rgba(8, 127, 131, 0.32);
  background: #fff;
  color: var(--text);
}

.account-menu {
  position: relative;
}

.account-menu summary {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.3rem;
  padding: 0.25rem 0.65rem 0.25rem 0.3rem;
  border: 1px solid rgba(15, 53, 87, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--text);
  cursor: pointer;
  list-style: none;
}

.account-menu summary::-webkit-details-marker {
  display: none;
}

.account-menu summary span {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--premium-navy), var(--premium-cyan));
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
}

.account-menu summary strong {
  max-width: 9.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.76rem;
}

.account-menu__panel {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  z-index: 60;
  display: grid;
  gap: 0.25rem;
  min-width: 15.5rem;
  padding: 0.55rem;
  border: 1px solid rgba(15, 53, 87, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 42px rgba(15, 53, 87, 0.22);
}

.account-menu__identity {
  display: grid;
  gap: 0.15rem;
  padding: 0.55rem 0.65rem;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(15, 53, 87, 0.08), rgba(8, 127, 131, 0.08));
}

.account-menu__identity strong {
  color: var(--text);
  font-size: 0.82rem;
}

.account-menu__identity span {
  color: var(--muted);
  font-size: 0.72rem;
}

.account-menu__panel button {
  width: 100%;
  min-height: 2.2rem;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--text);
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.account-menu__panel button:hover,
.account-menu__panel button:focus-visible {
  background: rgba(29, 95, 149, 0.08);
}

.account-menu__panel .account-menu__danger {
  color: var(--premium-red);
}

.ghost-button--danger {
  border-color: rgba(181, 66, 77, 0.24) !important;
  color: var(--premium-red) !important;
  background: rgba(181, 66, 77, 0.06) !important;
}

.ghost-button--danger:hover,
.ghost-button--danger:focus-visible {
  border-color: rgba(181, 66, 77, 0.42) !important;
  background: rgba(181, 66, 77, 0.12) !important;
}

.sidebar__nav-title {
  color: rgba(15, 53, 87, 0.88);
}

.workspace-page-strip {
  margin-bottom: 0.65rem;
}

.premium-brief,
.premium-workspace-command,
.rcm-premium-visuals,
.credentialing-premium-visuals {
  animation: premiumSurfaceRise 420ms ease both;
}

.rcm-premium-visuals__grid,
.credentialing-premium-visuals {
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.premium-chart-card--donut,
.premium-chart-card--gauge,
.premium-chart-card--timeline {
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 0%, rgba(19, 125, 163, 0.12), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,0.96), rgba(246,249,252,0.88));
}

.premium-donut-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
}

.premium-donut {
  position: relative;
  width: 7.8rem;
  aspect-ratio: 1;
  border-radius: 999px;
  background: conic-gradient(var(--chart-conic));
  box-shadow: 0 16px 34px rgba(15, 53, 87, 0.14), inset 0 0 0 1px rgba(255,255,255,0.8);
  animation: premiumDonutDraw 760ms cubic-bezier(.2,.75,.25,1) both;
}

.premium-donut::after {
  content: "";
  position: absolute;
  inset: 0.82rem;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: inset 0 0 0 1px rgba(15, 53, 87, 0.08);
}

.premium-donut__center {
  position: absolute;
  inset: 1.15rem;
  z-index: 1;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
}

.premium-donut__center strong {
  color: var(--text);
  font-size: 1rem;
  line-height: 1.05;
}

.premium-donut__center span {
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
}

.premium-donut-card__copy h4 {
  margin: 0.15rem 0 0.25rem;
  color: var(--text);
  font-size: 0.92rem;
}

.premium-donut-card__copy p {
  margin: 0;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.premium-donut-card__legend {
  display: grid;
  gap: 0.28rem;
  margin-top: 0.65rem;
}

.premium-donut-card__legend span {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.4rem;
  align-items: center;
  color: var(--text);
  font-size: 0.72rem;
}

.premium-donut-card__legend i {
  width: 0.58rem;
  height: 0.58rem;
  border-radius: 999px;
  background: var(--legend-color);
}

.premium-donut-card__legend b {
  color: var(--muted);
}

.premium-gauge {
  display: grid;
  place-items: center;
  align-content: center;
  width: 8.2rem;
  aspect-ratio: 1;
  margin: 0.55rem auto;
  border-radius: 999px;
  background:
    radial-gradient(circle at center, rgba(255,255,255,0.96) 0 56%, transparent 57%),
    conic-gradient(var(--premium-green) var(--gauge-value), rgba(15, 53, 87, 0.12) 0);
  box-shadow: 0 16px 34px rgba(15, 53, 87, 0.14);
  animation: premiumDonutDraw 760ms cubic-bezier(.2,.75,.25,1) both;
}

.premium-gauge strong {
  color: var(--text);
  font-size: 1.25rem;
}

.premium-gauge span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.credentialing-timeline {
  position: relative;
  display: grid;
  gap: 0.45rem;
  margin-top: 0.6rem;
}

.credentialing-timeline__item {
  position: relative;
  padding: 0.55rem 0.65rem 0.55rem 1.4rem;
  border: 1px solid rgba(15, 53, 87, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  animation: premiumSurfaceRise 420ms ease both;
  animation-delay: var(--step-delay);
}

.credentialing-timeline__item::before {
  content: "";
  position: absolute;
  left: 0.55rem;
  top: 0.75rem;
  width: 0.46rem;
  height: 0.46rem;
  border-radius: 999px;
  background: var(--premium-amber);
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.14);
}

.credentialing-timeline__item strong {
  display: block;
  color: var(--text);
  font-size: 0.78rem;
}

.credentialing-timeline__item span {
  display: block;
  margin-top: 0.16rem;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

@keyframes premiumDonutDraw {
  from {
    transform: scale(0.84) rotate(-28deg);
    opacity: 0;
    filter: saturate(0.7);
  }
  to {
    transform: scale(1) rotate(0deg);
    opacity: 1;
    filter: saturate(1);
  }
}

@keyframes premiumSurfaceRise {
  from {
    transform: translateY(10px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@media (max-width: 980px) {
  .topbar__command-core {
    width: 100%;
  }

  .premium-donut-card {
    grid-template-columns: 1fr;
  }
}

.premium-command-grid,
.premium-workspace-command {
  margin: 0 0 0.85rem;
}

.premium-brief,
.premium-workspace-command {
  border: 1px solid var(--premium-line);
  background:
    linear-gradient(135deg, rgba(15, 53, 87, 0.08), rgba(8, 127, 131, 0.05)),
    var(--surface-strong);
  box-shadow: 0 12px 30px rgba(15, 53, 87, 0.10), inset 0 1px 0 rgba(255,255,255,0.72);
}

.premium-workspace-command {
  padding: 0.85rem;
  border-radius: 6px;
}

.premium-workspace-command--owner {
  background:
    linear-gradient(135deg, rgba(23, 32, 44, 0.92), rgba(15, 53, 87, 0.88)),
    #17202c;
  color: #eef6ff;
}

.premium-workspace-command--owner .premium-eyebrow,
.premium-workspace-command--owner .premium-row span,
.premium-workspace-command--owner .premium-row em,
.premium-workspace-command--owner .premium-command-header p {
  color: rgba(238, 246, 255, 0.78);
}

.premium-brief {
  border-radius: 6px;
  padding: 1rem;
}

.premium-brief__header,
.premium-command-header {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
}

.premium-brief h2,
.premium-command-header h3 {
  margin: 0.1rem 0 0.3rem;
  color: var(--text);
  font-size: 1.05rem;
  letter-spacing: 0;
}

.premium-workspace-command--owner .premium-command-header h3 {
  color: #fff;
}

.premium-brief p,
.premium-command-header p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.premium-eyebrow {
  margin: 0;
  color: var(--premium-teal);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.premium-ai-card {
  min-width: 15rem;
  max-width: 24rem;
  padding: 0.75rem;
  border: 1px solid rgba(8, 127, 131, 0.20);
  background: rgba(255,255,255,0.72);
  border-radius: 6px;
}

.premium-ai-card span {
  display: block;
  color: var(--premium-cyan);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.premium-ai-card strong {
  display: block;
  margin-top: 0.25rem;
  color: var(--text);
  font-size: 0.78rem;
  line-height: 1.35;
}

.premium-metric-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.55rem;
  margin-top: 0.75rem;
}

.premium-metric {
  min-height: 5.1rem;
  padding: 0.65rem;
  border: 1px solid var(--border);
  border-left: 4px solid var(--premium-navy);
  background: rgba(255,255,255,0.76);
  border-radius: 5px;
}

.premium-metric--success { border-left-color: var(--premium-green); }
.premium-metric--warning { border-left-color: var(--premium-amber); }
.premium-metric--danger { border-left-color: var(--premium-red); }
.premium-metric--neutral { border-left-color: var(--premium-cyan); }

.premium-metric span,
.premium-work-item span,
.premium-row span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.premium-metric strong {
  display: block;
  margin: 0.2rem 0;
  color: var(--text);
  font-size: 1.08rem;
}

.premium-metric em,
.premium-work-item em,
.premium-row em {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-style: normal;
  line-height: 1.35;
}

.premium-brief__actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.premium-brief__actions span {
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(15, 53, 87, 0.14);
  background: rgba(246, 249, 252, 0.86);
  color: var(--text);
  border-radius: 5px;
  font-size: 0.78rem;
  line-height: 1.35;
}

.premium-lane-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.55rem;
  margin-top: 0.75rem;
}

.premium-lane {
  min-height: 11rem;
  border: 1px solid var(--border);
  background: rgba(246,249,252,0.72);
  border-radius: 5px;
  overflow: hidden;
}

.premium-lane header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.65rem;
  border-bottom: 1px solid var(--border);
  background: rgba(15, 53, 87, 0.06);
}

.premium-lane header span {
  color: var(--premium-navy);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.premium-lane header strong {
  color: var(--text);
  font-size: 0.85rem;
}

.premium-work-item,
.premium-row {
  margin: 0.45rem;
  padding: 0.55rem;
  border: 1px solid rgba(15, 53, 87, 0.12);
  background: rgba(255,255,255,0.82);
  border-radius: 5px;
}

.premium-work-item--high {
  border-left: 4px solid var(--premium-red);
}

.premium-work-item--medium {
  border-left: 4px solid var(--premium-amber);
}

.premium-work-item strong,
.premium-row strong {
  display: block;
  margin-bottom: 0.2rem;
  color: var(--text);
  font-size: 0.8rem;
}

.premium-row--impact {
  border-left: 4px solid var(--premium-teal);
}

.premium-empty {
  margin: 0.55rem;
  color: var(--muted);
  font-size: 0.78rem;
}

.premium-split {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.premium-split h4 {
  margin: 0 0 0.4rem;
  color: var(--text);
  font-size: 0.78rem;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .premium-brief__header,
  .premium-command-header,
  .premium-split {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  .premium-ai-card {
    min-width: 0;
    max-width: none;
  }
}

/* Production navigation and operator-console hardening: final override layer. */
body.client-facing-hub {
  --prod-border: #e2e8f0;
  --prod-ink: #0b1f35;
  --prod-muted: rgba(45, 55, 72, 0.72);
  --prod-panel: #ffffff;
  --prod-soft: #f8f9fa;
  --prod-navy: #0f3557;
  --prod-success: #276749;
  --prod-danger: #9b2c2c;
  /* Phase 1 premium retheme: surface depth tokens for the prod theme */
  --prod-radius: 10px;
  --prod-radius-sm: 7px;
  --prod-elev: 0 1px 2px rgba(15, 32, 44, 0.05), 0 6px 16px rgba(15, 32, 44, 0.09);
  --prod-elev-hover: 0 10px 26px rgba(15, 32, 44, 0.14), 0 2px 6px rgba(15, 32, 44, 0.08);
}

@media (min-width: 721px) {
  body.client-facing-hub .app-frame {
    grid-template-columns: clamp(13.5rem, 17vw, 15.5rem) minmax(0, 1fr) !important;
    gap: 0.75rem !important;
    align-items: start !important;
  }

  body.client-facing-hub .main-shell {
    grid-column: 2 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.client-facing-hub .topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "menus actions" !important;
    width: 100% !important;
    min-height: 2.65rem !important;
    padding: 0.28rem 0.38rem !important;
    gap: 0.45rem !important;
    align-items: center !important;
    border: 1px solid var(--prod-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.client-facing-hub .topbar__command-core {
    display: none !important;
  }

  body.client-facing-hub .topbar__menus {
    grid-area: menus !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    gap: 0 !important;
    border: 1px solid var(--prod-border) !important;
    border-radius: 4px !important;
    background: var(--prod-soft) !important;
    scrollbar-width: none !important;
  }

  body.client-facing-hub .topbar__menus::-webkit-scrollbar {
    display: none !important;
  }

  body.client-facing-hub .command-menu {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.client-facing-hub .command-menu summary {
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 1.78rem !important;
    padding: 0.34rem 0.36rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--prod-ink) !important;
    font-size: clamp(0.58rem, 0.75vw, 0.72rem) !important;
    letter-spacing: 0.045em !important;
    line-height: 1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }

  body.client-facing-hub .command-menu[open] summary,
  body.client-facing-hub .command-menu summary:hover,
  body.client-facing-hub .command-menu summary:focus-visible {
    background: #fff !important;
    outline: 1px solid var(--prod-border) !important;
    outline-offset: -1px !important;
  }

  body.client-facing-hub .command-menu__panel {
    top: calc(100% + 0.22rem) !important;
    min-width: 15.5rem !important;
    max-width: min(24rem, calc(100vw - 2rem)) !important;
    padding: 0.45rem !important;
    border: 1px solid var(--prod-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: 0 12px 24px rgba(15, 53, 87, 0.12) !important;
  }

  body.client-facing-hub .topbar__quick-actions {
    grid-area: actions !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    min-width: max-content !important;
    gap: 0.28rem !important;
  }

  body.client-facing-hub .topbar__quick-actions .ghost-button,
  body.client-facing-hub .notification-bell-wrap .ghost-button,
  body.client-facing-hub .account-menu summary {
    min-height: 1.86rem !important;
    padding: 0.34rem 0.55rem !important;
    border: 1px solid var(--prod-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: var(--prod-ink) !important;
    font-size: 0.68rem !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }

  body.client-facing-hub .workspace-menu-fallback {
    display: none !important;
  }
}

@media (max-width: 1100px) and (min-width: 761px) {
  /* Collapse the full menu bar into the compact fallback menu before the menus +
     density/motion toggles + avatar would overlap. Shrinking the menus grid column
     to content size frees width so the center + right-side controls get their
     natural size back (no more overlap). Below 761px the mobile topbar takes over.
     Higher specificity than the base `.topbar.topbar--p13 .topbar__menus` flex rule. */
  html body.client-facing-hub .topbar.topbar--p13 { grid-template-columns: auto minmax(0, 1fr) auto !important; }
  html body.client-facing-hub .topbar.topbar--p13 .topbar__menus { display: none !important; }
  html body.client-facing-hub .topbar.topbar--p13 .workspace-menu-fallback { display: block !important; grid-area: menus !important; }
}

body[data-current-page="operator-console"].client-facing-hub #module-operator-console,
body[data-current-page="operator-console"].client-facing-hub .operator-workspace,
body[data-current-page="operator-console"].client-facing-hub .operator-inspector,
body[data-current-page="operator-console"].client-facing-hub #operator-console-table-shell,
body[data-current-page="operator-console"].client-facing-hub .operator-console-card,
body[data-current-page="operator-console"].client-facing-hub .operator-portfolio-strip__item,
body[data-current-page="operator-console"].client-facing-hub .operator-practice-card,
body[data-current-page="operator-console"].client-facing-hub .operator-practice-panel,
body[data-current-page="operator-console"].client-facing-hub .operator-kpi {
  border: 1px solid var(--prod-border) !important;
  border-radius: 4px !important;
  background: var(--prod-panel) !important;
  box-shadow: none !important;
}

body[data-current-page="operator-console"].client-facing-hub #module-operator-console {
  max-height: none !important;
  overflow: visible !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace {
  padding: 24px !important;
  display: grid !important;
  gap: 32px !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace__header,
body[data-current-page="operator-console"].client-facing-hub .operator-pane__header {
  padding-bottom: 0.85rem !important;
  border-bottom: 1px solid var(--prod-border) !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace__header h3 {
  color: var(--prod-ink) !important;
  font-size: 1.35rem !important;
  letter-spacing: -0.035em !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace__meta,
body[data-current-page="operator-console"].client-facing-hub .operator-kpi__label,
body[data-current-page="operator-console"].client-facing-hub .operator-kpi__detail,
body[data-current-page="operator-console"].client-facing-hub .operator-practice-card__meta,
body[data-current-page="operator-console"].client-facing-hub .item__meta {
  color: var(--prod-muted) !important;
  font-size: 0.875rem !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-kpi-strip {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 0.75rem !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-kpi {
  padding: 24px !important;
  text-align: left !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-kpi__value {
  color: var(--prod-ink) !important;
  font-size: 2.25rem !important;
  font-weight: 650 !important;
  letter-spacing: -0.055em !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-kpi[data-operator-kpi*="cash"] .operator-kpi__value,
body[data-current-page="operator-console"].client-facing-hub .operator-kpi[data-operator-kpi*="collection"] .operator-kpi__value {
  color: var(--prod-success) !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-kpi[data-operator-kpi*="denial"] .operator-kpi__value,
body[data-current-page="operator-console"].client-facing-hub .operator-kpi[data-operator-kpi*="ar"] .operator-kpi__value {
  color: var(--prod-danger) !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-filterbar {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 0.75rem !important;
  padding: 24px !important;
  border: 1px solid var(--prod-border) !important;
  border-radius: 4px !important;
  background: var(--prod-soft) !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-filterbar__search {
  grid-column: span 2 !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-filterbar input,
body[data-current-page="operator-console"].client-facing-hub .operator-filterbar select,
body[data-current-page="operator-console"].client-facing-hub .operator-console-form input,
body[data-current-page="operator-console"].client-facing-hub .operator-console-form select,
body[data-current-page="operator-console"].client-facing-hub .operator-console-form textarea {
  border: 1px solid var(--prod-border) !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace__body {
  grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr) !important;
  gap: 32px !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-inspector {
  position: sticky !important;
  top: calc(var(--sticky-offset, 7rem) + 0.5rem) !important;
  padding: 24px !important;
  max-height: calc(100vh - var(--sticky-offset, 7rem) - 1rem) !important;
  overflow: auto !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-inspector__summary,
body[data-current-page="operator-console"].client-facing-hub .operator-inspector__list,
body[data-current-page="operator-console"].client-facing-hub .operator-alert {
  border: 1px solid var(--prod-border) !important;
  border-radius: 4px !important;
  background: var(--prod-soft) !important;
  box-shadow: none !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-console-card,
body[data-current-page="operator-console"].client-facing-hub .operator-practice-card,
body[data-current-page="operator-console"].client-facing-hub .operator-portfolio-strip__item {
  padding: 24px !important;
}

body[data-current-page="operator-console"].client-facing-hub .priority-pill--blocked,
body[data-current-page="operator-console"].client-facing-hub .priority-pill--failed,
body[data-current-page="operator-console"].client-facing-hub .operator-badge--critical,
body[data-current-page="operator-console"].client-facing-hub .operator-badge--danger {
  background: rgba(155, 44, 44, 0.1) !important;
  color: var(--prod-danger) !important;
}

body[data-current-page="operator-console"].client-facing-hub .priority-pill--approved,
body[data-current-page="operator-console"].client-facing-hub .priority-pill--active,
body[data-current-page="operator-console"].client-facing-hub .operator-badge--stable,
body[data-current-page="operator-console"].client-facing-hub .operator-badge--success {
  background: rgba(39, 103, 73, 0.1) !important;
  color: var(--prod-success) !important;
}

body[data-current-page="operator-console"].client-facing-hub .priority-pill--warning,
body[data-current-page="operator-console"].client-facing-hub .operator-badge--warning,
body[data-current-page="operator-console"].client-facing-hub .operator-badge--review {
  background: #f1f5f9 !important;
  color: #4a5568 !important;
}

@media (max-width: 1180px) {
  body[data-current-page="operator-console"].client-facing-hub .operator-kpi-strip,
  body[data-current-page="operator-console"].client-facing-hub .operator-filterbar {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body[data-current-page="operator-console"].client-facing-hub .operator-workspace__body {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-current-page="operator-console"].client-facing-hub .operator-inspector {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
  }
}

.panel--module-ai,
.module-link--ai {
  --section-accent: #1e63d0;
  --section-accent-strong: #174ea4;
  --section-soft: rgba(30, 99, 208, 0.12);
  --section-border: rgba(30, 99, 208, 0.18);
}

.panel--module-coding,
.module-link--coding {
  --section-accent: #9a5d13;
  --section-accent-strong: #7a4609;
  --section-soft: rgba(154, 93, 19, 0.12);
  --section-border: rgba(154, 93, 19, 0.18);
}

.panel--module-benefits,
.module-link--benefits {
  --section-accent: #0b7a68;
  --section-accent-strong: #0b5f52;
  --section-soft: rgba(11, 122, 104, 0.12);
  --section-border: rgba(11, 122, 104, 0.18);
}

.panel--module-auth,
.module-link--auth {
  --section-accent: #b04f64;
  --section-accent-strong: #8f3950;
  --section-soft: rgba(176, 79, 100, 0.12);
  --section-border: rgba(176, 79, 100, 0.18);
}

.panel--module-credentialing,
.module-link--credentialing,
.workspace-tab--credentialing {
  --section-accent: #0f6b78;
  --section-accent-strong: #0c515b;
  --section-soft: rgba(15, 107, 120, 0.12);
  --section-border: rgba(15, 107, 120, 0.18);
}

.panel--module-prescribing,
.module-link--prescribing {
  --section-accent: #5c43b2;
  --section-accent-strong: #453091;
  --section-soft: rgba(92, 67, 178, 0.12);
  --section-border: rgba(92, 67, 178, 0.18);
}

.panel--module-messages,
.module-link--messages {
  --section-accent: #3e5ea9;
  --section-accent-strong: #2d467f;
  --section-soft: rgba(62, 94, 169, 0.12);
  --section-border: rgba(62, 94, 169, 0.18);
}

.panel--module-scheduling,
.module-link--scheduling {
  --section-accent: #0d7f95;
  --section-accent-strong: #0d6374;
  --section-soft: rgba(13, 127, 149, 0.12);
  --section-border: rgba(13, 127, 149, 0.18);
}

.panel--module-claims,
.module-link--claims {
  --section-accent: #1d5f95;
  --section-accent-strong: #143f68;
  --section-soft: rgba(29, 95, 149, 0.12);
  --section-border: rgba(29, 95, 149, 0.18);
}

.panel--module-denials,
.module-link--denials {
  --section-accent: #ab5a1d;
  --section-accent-strong: #874412;
  --section-soft: rgba(171, 90, 29, 0.12);
  --section-border: rgba(171, 90, 29, 0.18);
}

.panel--module-ops,
.module-link--ops {
  --section-accent: #54657c;
  --section-accent-strong: #3d4c60;
  --section-soft: rgba(84, 101, 124, 0.12);
  --section-border: rgba(84, 101, 124, 0.18);
}

.panel--module-operator,
.module-link--operator {
  --section-accent: #117364;
  --section-accent-strong: #114f63;
  --section-soft: rgba(17, 115, 100, 0.12);
  --section-border: rgba(17, 115, 100, 0.18);
}

.nav-alert-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.1em;
  height: 1.1em;
  padding: 0 0.25em;
  margin-left: 0.25em;
  border-radius: 99px;
  background: #c0392b;
  color: #fff;
  font-size: 0.55rem;
  font-weight: 800;
  line-height: 1;
  vertical-align: middle;
  animation: value-flash 0.35s ease;
}

.nav-alert-badge:empty {
  display: none;
}

.panel--module-patients,
.module-link--patients {
  --section-accent: #0e7c81;
  --section-accent-strong: #0f5d61;
  --section-soft: rgba(14, 124, 129, 0.12);
  --section-border: rgba(14, 124, 129, 0.18);
}

.panel--module-automation,
.module-link--automation {
  --section-accent: #7a5617;
  --section-accent-strong: #61430f;
  --section-soft: rgba(122, 86, 23, 0.12);
  --section-border: rgba(122, 86, 23, 0.18);
}

.panel--module-compliance,
.module-link--compliance {
  --section-accent: #8f3a50;
  --section-accent-strong: #6b2639;
  --section-soft: rgba(143, 58, 80, 0.12);
  --section-border: rgba(143, 58, 80, 0.18);
}

.panel--module-providers {
  --section-accent: #176f5c;
  --section-accent-strong: #125445;
  --section-soft: rgba(23, 111, 92, 0.12);
  --section-border: rgba(23, 111, 92, 0.18);
}

.module-link--providers {
  --section-accent: #176f5c;
  --section-accent-strong: #125445;
  --section-soft: rgba(23, 111, 92, 0.12);
  --section-border: rgba(23, 111, 92, 0.18);
}

.module-link--reports,
.workspace-tab--reports {
  --section-accent: #176f5c;
  --section-accent-strong: #125445;
  --section-soft: rgba(23, 111, 92, 0.12);
  --section-border: rgba(23, 111, 92, 0.18);
}

.panel--module-integrations,
.module-link--integrations {
  --section-accent: #13668a;
  --section-accent-strong: #104d69;
  --section-soft: rgba(19, 102, 138, 0.12);
  --section-border: rgba(19, 102, 138, 0.18);
}

.workspace-shell-strip {
  display: grid;
  gap: 1rem;
  margin: 0 0 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(242, 247, 252, 0.98));
  box-shadow: var(--shadow);
}

.workspace-shell-strip__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.workspace-shell-strip__pills,
.workspace-shell-strip__modules {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.workspace-context-pill.is-active {
  background: var(--accent);
  color: #fff;
}

.shell-module-card,
.workflow-summary-card {
  min-width: 11rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-strong);
  box-shadow: 0 10px 18px rgba(18, 36, 59, 0.06);
}

.panel--module-modes {
  --section-accent: #5a607f;
  --section-accent-strong: #434864;
  --section-soft: rgba(90, 96, 127, 0.12);
  --section-border: rgba(90, 96, 127, 0.18);
}

.panel--module-evolution {
  --section-accent: #2e7b4b;
  --section-accent-strong: #235f39;
  --section-soft: rgba(46, 123, 75, 0.12);
  --section-border: rgba(46, 123, 75, 0.18);
}

.module-link--overview {
  --section-accent: #1d5f95;
  --section-accent-strong: #143f68;
  --section-soft: rgba(29, 95, 149, 0.12);
  --section-border: rgba(29, 95, 149, 0.18);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

section[id],
article[id],
div[id] {
  scroll-margin-top: calc(var(--sticky-offset) + 0.85rem);
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font-family: var(--font-sans);
  background: var(--bg);
}

h1,
h2,
h3,
h4,
p,
label,
button,
span {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}

.app-frame {
  display: grid;
  grid-template-columns: 16.25rem minmax(0, 1fr);
  gap: 0.9rem;
  min-height: 100vh;
  padding: 0.8rem;
}

.sidebar,
.topbar,
.workspace-header,
.control-bar,
.panel,
.metric-card {
  border: 1px solid var(--border);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 0.5rem 0.5rem 0.56rem;
  border-radius: 0 4px 4px 0;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 0.34rem;
  overflow-y: auto;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 253, 0.94)),
    linear-gradient(180deg, rgba(18, 60, 104, 0.04), transparent 22%);
}

.sidebar__brand {
  padding: 0.12rem 0.08rem 0.32rem;
  border-bottom: 1px solid rgba(24, 43, 68, 0.08);
}

.sidebar__brand-lockup {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.28rem;
  text-decoration: none;
  border-radius: 6px;
  padding: 0.18rem 0.25rem 0.18rem 0;
  transition: background 0.15s;
}
.sidebar__brand-lockup:hover,
.sidebar__brand-lockup:focus-visible {
  background: rgba(255,255,255,0.07);
  outline: none;
}

/* Phase 44: product name label next to logo */
.sidebar__brand-name {
  font-size: 0.70rem;
  line-height: 1.22;
  letter-spacing: 0.01em;
  color: rgba(255,255,255,0.82);
  white-space: nowrap;
}
.sidebar__brand-name strong {
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #ffffff;
}

.sidebar__brand-logo {
  width: auto;
  max-width: 3.4rem;
  height: auto;
  display: block;
  flex-shrink: 0;
  object-fit: contain;
}

.sidebar__brand h1 {
  margin: 0.06rem 0 0.16rem;
  font-size: 0.88rem;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.sidebar__brand p:last-child,
.sidebar__footnote p {
  margin: 0;
  color: var(--muted);
  line-height: 1.25;
  font-size: 0.63rem;
}

.sidebar__eyebrow,
.eyebrow,
.panel__eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--muted);
}

.sidebar__status,
.workspace-header__chips,
.hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sidebar__nav {
  display: grid;
  gap: 0.11rem;
  align-content: start;
}

.sidebar__group {
  border-top: 1px solid rgba(24, 43, 68, 0.08);
  padding-top: 0.16rem;
}

.sidebar__group summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding-right: 0.8rem;
}

.sidebar__group summary::-webkit-details-marker {
  display: none;
}

.sidebar__group summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 800;
}

.sidebar__group[open] summary::after {
  content: "-";
}

.sidebar__group-links {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.05rem;
  margin-top: 0.08rem;
}

.sidebar__section-title {
  margin: 0.22rem 0 0.06rem;
  color: var(--muted);
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.module-link {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 1.08rem;
  padding: 0.08rem 0.22rem 0.08rem 0.26rem;
  text-decoration: none;
  font-size: 0.53rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  border-radius: 0;
  border: 1px solid transparent;
  border-left: 3px solid transparent;
  background: transparent;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.module-link::before {
  content: "";
  width: 0.12rem;
  height: 0.72rem;
  border-radius: 1px;
  background: linear-gradient(180deg, var(--section-accent, var(--accent)), var(--section-accent-strong, var(--accent-strong)));
  flex: 0 0 auto;
}

.module-link:hover {
  border-color: rgba(24, 43, 68, 0.08);
  border-left-color: var(--section-accent, var(--accent));
  background: rgba(244, 248, 252, 0.96);
}

.module-link.is-active {
  border-color: rgba(24, 43, 68, 0.08);
  border-left-color: var(--section-accent, var(--accent));
  color: var(--section-accent-strong, var(--accent-strong));
  background: color-mix(in srgb, var(--section-soft) 65%, white);
}

.sidebar__group--queue .module-link {
  min-height: 1.16rem;
  padding-inline: 0.24rem;
}

.sidebar__group--queue .module-link::before {
  width: 0.14rem;
  height: 0.76rem;
}

.sidebar__group--queue .module-link.is-active {
  box-shadow: inset 0 0 0 1px rgba(24, 43, 68, 0.04);
}

.main-shell {
  min-width: 0;
  display: grid;
  gap: 0.65rem;
  overflow-x: hidden;
}

.topbar,
.workspace-header,
.control-bar,
.panel,
.metric-card {
  border-radius: var(--radius-lg);
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.24rem 0.5rem;
  align-items: start;
  padding: 0.2rem 0.28rem 0.24rem;
  background:
    linear-gradient(180deg, rgba(250, 252, 254, 0.995), rgba(242, 246, 251, 0.985)),
    linear-gradient(90deg, rgba(19, 74, 121, 0.04), transparent 40%);
  backdrop-filter: blur(18px);
  border-radius: 0 0 3px 3px;
}

.topbar h2 {
  margin: 0.08rem 0 0;
  font-size: 0.88rem;
  letter-spacing: -0.03em;
}

.topbar__main {
  display: contents;
}

.topbar__title {
  min-width: 0;
  grid-column: 1;
  grid-row: 1;
}

.topbar__subtitle {
  margin: 0.08rem 0 0;
  max-width: 108ch;
  color: var(--muted);
  font-size: 0.63rem;
  line-height: 1.18;
}

.topbar__menus {
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  overflow: visible;
  padding: 0;
  border: 1px solid rgba(22, 45, 73, 0.16);
  border-radius: 1px;
  background: linear-gradient(180deg, rgba(239, 243, 248, 0.98), rgba(231, 236, 242, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.topbar__actions {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  align-items: center;
  justify-content: flex-end;
  padding-top: 0.05rem;
}

.topbar__role-picker {
  display: inline-grid;
  gap: 0.18rem;
  min-width: 8.2rem;
  color: var(--muted);
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.topbar__role-picker select {
  min-height: 1.28rem;
  padding: 0.08rem 1.2rem 0.08rem 0.3rem;
  border: 1px solid var(--border);
  border-radius: 2px;
  background: var(--surface-strong);
  color: var(--text);
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.topbar__role-picker select:focus {
  outline: 2px solid rgba(29, 95, 149, 0.22);
  outline-offset: 1px;
  border-color: var(--accent);
}

.topbar__status,
.hero-chip,
.hero__stats span,
.status-pill,
.priority-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 2px;
  font-size: 0.76rem;
  font-weight: 800;
}

.topbar__status,
.hero-chip,
.hero__stats span,
.status-pill {
  padding: 0.2rem 0.42rem;
  background: var(--accent-soft);
  color: var(--accent-strong);
}

.command-menu {
  position: relative;
  min-width: 0;
}

.command-menu + .command-menu {
  border-left: 1px solid rgba(22, 45, 73, 0.14);
}

.command-menu summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.14rem;
  min-height: 1.02rem;
  width: 100%;
  padding: 0.03rem 0.14rem;
  border-radius: 0;
  border: 0;
  background: transparent;
  font-size: 0.52rem;
  font-weight: 800;
  cursor: pointer;
  user-select: none;
  color: var(--section-accent-strong, var(--text));
  white-space: nowrap;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  overflow: hidden;
  text-overflow: ellipsis;
}

.command-menu summary:hover {
  background: rgba(255, 255, 255, 0.58);
}

.command-menu summary::after {
  content: "▾";
  font-size: 0.62rem;
  color: var(--muted);
}

.command-menu summary::-webkit-details-marker {
  display: none;
}

.command-menu summary::after {
  content: "▾";
  font-size: 0.52rem;
  color: var(--muted);
}

.command-menu[open] summary {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: inset 0 -1px 0 var(--section-accent, var(--accent));
}

.command-menu__panel {
  position: absolute;
  top: calc(100% + 0.08rem);
  left: 0;
  min-width: 15.5rem;
  max-width: min(23rem, calc(100vw - 2rem));
  max-height: min(76vh, 30rem);
  display: grid;
  gap: 0.22rem;
  padding: 0.26rem;
  border-radius: 1px;
  border: 1px solid rgba(22, 45, 73, 0.18);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 18px rgba(16, 33, 53, 0.14);
  z-index: 70;
  overflow-y: auto;
}

.topbar__menus .command-menu:nth-last-child(-n + 2) .command-menu__panel {
  left: auto;
  right: 0;
}

.command-menu__section {
  display: grid;
  gap: 0.22rem;
  padding: 0.16rem 0;
}

.command-menu__section + .command-menu__section {
  border-top: 1px solid rgba(24, 43, 68, 0.08);
  padding-top: 0.34rem;
}

.command-menu__label {
  margin: 0;
  padding: 0 0.34rem;
  font-size: 0.54rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.command-menu__group {
  display: grid;
  gap: 0.1rem;
}

.command-menu__panel button {
  min-height: 1.24rem;
  padding: 0.14rem 0.34rem;
  border: 0;
  border-radius: 1px;
  background: transparent;
  color: var(--text);
  text-align: left;
  font-size: 0.58rem;
  font-weight: 700;
  cursor: pointer;
  border-left: 2px solid transparent;
}

.command-menu__panel button:hover,
.command-menu__panel button:focus-visible {
  outline: none;
  background: color-mix(in srgb, var(--accent-soft) 88%, white);
  color: var(--accent-strong);
  border-left-color: var(--accent);
}

.workspace-tabs {
  display: flex;
  gap: 0.4rem;
  overflow: visible;
  padding: 0.05rem 0 0.05rem;
  align-items: center;
}

.workspace-tabs--context {
  padding: 0.15rem 0 0.1rem;
}

.workspace-context-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.42rem;
  padding: 0.14rem 0.36rem;
  border: 1px solid rgba(24, 43, 68, 0.1);
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--muted);
  font-size: 0.6rem;
  font-weight: 700;
}

.workspace-tabs--sidebar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.3rem;
  overflow: visible;
  padding: 0;
  align-items: stretch;
}

.workspace-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 0 auto;
  min-height: 1.72rem;
  padding: 0.22rem 0.42rem;
  border-radius: 2px;
  border: 1px solid var(--section-border, var(--border));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(242, 246, 250, 0.95));
  text-decoration: none;
  font-size: 0.64rem;
  font-weight: 700;
  color: var(--section-accent-strong, var(--text));
  white-space: nowrap;
}

.workspace-tabs--sidebar .workspace-tab {
  width: 100%;
  justify-content: flex-start;
  min-height: 1.4rem;
  padding: 0.12rem 0.22rem;
  border-radius: 2px;
  font-size: 0.57rem;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
}

.operator-workspace {
  display: grid;
  gap: 0.7rem;
}

.clinic-workspace-shell {
  padding: 0.42rem 0.5rem;
  border-top: 3px solid var(--page-accent);
}

.clinic-workspace__snapshot {
  display: grid;
  grid-template-columns: minmax(15rem, 1.25fr) minmax(0, 2fr);
  gap: 0.46rem;
  padding: 0.36rem 0.42rem;
  border: 1px solid color-mix(in srgb, var(--page-accent) 20%, white);
  border-radius: 2px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(247, 250, 253, 0.98)),
    linear-gradient(135deg, var(--page-soft), transparent 35%);
}

.clinic-shell-note {
  display: grid;
  gap: 0.18rem;
  margin-top: 0.22rem;
  padding: 0.28rem 0.34rem;
  border: 1px solid color-mix(in srgb, var(--page-accent) 18%, white);
  border-left: 3px solid var(--page-accent);
  border-radius: 1px;
  background: rgba(255, 255, 255, 0.94);
}

.clinic-workspace-shell[data-clinic-shell="authorization"] .clinic-shell-note,
.clinic-workspace-shell[data-clinic-shell="revenue"] .clinic-shell-note,
.clinic-workspace-shell[data-clinic-shell="integration"] .clinic-shell-note {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--page-soft) 26%, white));
}

.clinic-workspace-shell[data-clinic-shell="communication"] .clinic-shell-note,
.clinic-workspace-shell[data-clinic-shell="operations"] .clinic-shell-note,
.clinic-workspace-shell[data-clinic-shell="governance"] .clinic-shell-note {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--page-soft) 20%, white));
}

.clinic-workspace-shell[data-clinic-shell="medication"] .clinic-shell-note,
.clinic-workspace-shell[data-clinic-shell="enrollment"] .clinic-shell-note,
.clinic-workspace-shell[data-clinic-shell="readiness"] .clinic-shell-note {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--page-soft) 22%, white));
}

.clinic-shell-note__header {
  display: flex;
  justify-content: space-between;
  gap: 0.3rem;
  align-items: flex-start;
}

.clinic-shell-note h3 {
  margin: 0.08rem 0 0;
  font-size: 0.82rem;
  letter-spacing: -0.02em;
}

.clinic-shell-note .summary-text {
  margin: 0;
  font-size: 0.61rem;
  line-height: 1.24;
}

.clinic-shell-note__points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18rem;
}

.clinic-workspace-shell[data-clinic-shell="authorization"] .clinic-shell-note__points,
.clinic-workspace-shell[data-clinic-shell="revenue"] .clinic-shell-note__points {
  gap: 0.14rem;
}

.clinic-workspace-shell[data-clinic-shell="communication"] .clinic-shell-note__points,
.clinic-workspace-shell[data-clinic-shell="operations"] .clinic-shell-note__points {
  gap: 0.1rem;
}

.clinic-workspace-shell[data-clinic-shell="medication"] .clinic-shell-note__points,
.clinic-workspace-shell[data-clinic-shell="enrollment"] .clinic-shell-note__points {
  gap: 0.12rem;
}

.clinic-shell-note__point {
  display: inline-flex;
  align-items: center;
  min-height: 1.08rem;
  padding: 0.08rem 0.22rem;
  border: 1px solid rgba(24, 43, 68, 0.08);
  border-radius: 2px;
  background: color-mix(in srgb, var(--page-soft) 45%, white);
  color: var(--page-accent-strong);
  font-size: 0.53rem;
  font-weight: 700;
}

.clinic-workspace-shell[data-clinic-shell="authorization"] .clinic-shell-note__point,
.clinic-workspace-shell[data-clinic-shell="revenue"] .clinic-shell-note__point,
.clinic-workspace-shell[data-clinic-shell="integration"] .clinic-shell-note__point {
  background: color-mix(in srgb, var(--page-soft) 52%, white);
}

.clinic-workspace-shell[data-clinic-shell="communication"] .clinic-shell-note__point,
.clinic-workspace-shell[data-clinic-shell="operations"] .clinic-shell-note__point,
.clinic-workspace-shell[data-clinic-shell="governance"] .clinic-shell-note__point {
  background: color-mix(in srgb, var(--page-soft) 42%, white);
}

.clinic-workspace-shell[data-clinic-shell="medication"] .clinic-shell-note__point,
.clinic-workspace-shell[data-clinic-shell="enrollment"] .clinic-shell-note__point,
.clinic-workspace-shell[data-clinic-shell="readiness"] .clinic-shell-note__point {
  background: color-mix(in srgb, var(--page-soft) 46%, white);
}

.clinic-workspace__snapshot-main h4 {
  margin: 0.08rem 0 0.12rem;
  font-size: 0.86rem;
  letter-spacing: -0.02em;
}

.clinic-workspace__snapshot-main .summary-text {
  margin: 0;
  font-size: 0.64rem;
  line-height: 1.24;
}

.clinic-workspace__snapshot-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.22rem;
}

.clinic-snapshot-card {
  display: grid;
  gap: 0.06rem;
  padding: 0.26rem 0.3rem;
  border: 1px solid rgba(24, 43, 68, 0.08);
  border-top: 2px solid var(--page-accent);
  border-radius: 1px;
  background: rgba(255, 255, 255, 0.92);
}

.clinic-snapshot-card--warning {
  border-top-color: #b46b22;
}

.clinic-snapshot-card--critical {
  border-top-color: #9d3a4e;
}

.clinic-snapshot-card--stable {
  border-top-color: #176f5c;
}

.clinic-snapshot-card__label {
  font-size: 0.54rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.clinic-snapshot-card__value {
  font-size: 0.82rem;
  line-height: 1.05;
}

.clinic-snapshot-card__detail {
  font-size: 0.58rem;
  color: var(--muted);
}

.clinic-ai-panel {
  display: grid;
  gap: 0.3rem;
  padding: 0.34rem 0.36rem;
  border: 1px solid rgba(24, 43, 68, 0.1);
  background: rgba(248, 251, 254, 0.9);
}

.clinic-ai-panel .summary-text {
  margin: 0;
  font-size: 0.62rem;
}

.clinic-ai-panel .operator-inspector__list {
  margin: 0;
  font-size: 0.6rem;
  line-height: 1.3;
  color: var(--ink);
}

.clinic-ai-panel .operator-pane__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18rem;
  align-items: center;
}

#operator-console-ai {
  margin: 0.28rem 0 0.12rem;
}

.operator-summary-group__grid .operator-summary-card strong {
  font-size: 0.88rem;
  letter-spacing: -0.02em;
}

.operator-summary-group + .operator-summary-group {
  margin-top: 0.26rem;
}

.command-menu {
  border-right: 1px solid rgba(22, 45, 73, 0.12);
}

.command-menu:last-child {
  border-right: 0;
}

.command-menu summary {
  border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.command-menu__section + .command-menu__section {
  border-top: 1px solid rgba(24, 43, 68, 0.08);
  margin-top: 0.08rem;
  padding-top: 0.18rem;
}

.command-menu__group {
  display: grid;
  gap: 0.08rem;
}

.command-menu__label {
  margin: 0;
  font-size: 0.5rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
}

.topbar__menus .command-menu summary {
  min-height: 1rem;
  padding: 0.04rem 0.14rem;
  font-size: 0.5rem;
}

.topbar__menus .command-menu summary::after {
  font-size: 0.42rem;
  opacity: 0.88;
}

.topbar__menus .command-menu__panel {
  padding: 0.2rem;
  border: 1px solid rgba(24, 43, 68, 0.14);
}

.command-menu__panel button {
  border-left: 2px solid transparent;
}

.clinic-workspace-shell[data-clinic-module] {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(249, 251, 254, 0.98)),
    linear-gradient(140deg, var(--page-soft), transparent 28%);
}

.clinic-workspace-shell[data-clinic-module] .panel__eyebrow {
  color: var(--page-accent-strong);
  letter-spacing: 0.12em;
}

.clinic-workspace-shell[data-clinic-module] .operator-pane__header {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 252, 0.96));
}

.clinic-workspace-shell[data-clinic-module] .operator-meta-pill {
  border-color: color-mix(in srgb, var(--page-accent) 18%, white);
}

.clinic-workspace-shell[data-clinic-module] .operator-kpi {
  border-top-width: 3px;
}

.clinic-workspace-shell[data-clinic-shell="authorization"] .clinic-workspace__snapshot,
.clinic-workspace-shell[data-clinic-shell="revenue"] .clinic-workspace__snapshot,
.clinic-workspace-shell[data-clinic-shell="integration"] .clinic-workspace__snapshot {
  grid-template-columns: minmax(14rem, 1fr) minmax(0, 1.8fr);
}

.clinic-workspace-shell[data-clinic-shell="communication"] .clinic-workspace__snapshot,
.clinic-workspace-shell[data-clinic-shell="operations"] .clinic-workspace__snapshot,
.clinic-workspace-shell[data-clinic-shell="governance"] .clinic-workspace__snapshot {
  grid-template-columns: minmax(14rem, 1.15fr) minmax(0, 1.85fr);
}

.clinic-workspace-shell[data-clinic-shell="medication"] .clinic-workspace__snapshot,
.clinic-workspace-shell[data-clinic-shell="enrollment"] .clinic-workspace__snapshot,
.clinic-workspace-shell[data-clinic-shell="readiness"] .clinic-workspace__snapshot {
  grid-template-columns: minmax(14rem, 1.05fr) minmax(0, 1.95fr);
}

.clinic-workspace-shell[data-clinic-shell="revenue"] .clinic-workspace__snapshot-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.clinic-workspace-shell[data-clinic-shell="integration"] .clinic-workspace__snapshot-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.clinic-workspace-shell[data-clinic-shell="communication"] .clinic-workspace__snapshot-metrics,
.clinic-workspace-shell[data-clinic-shell="governance"] .clinic-workspace__snapshot-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.clinic-workspace-shell[data-clinic-shell="authorization"] .operator-pane__header,
.clinic-workspace-shell[data-clinic-shell="revenue"] .operator-pane__header,
.clinic-workspace-shell[data-clinic-shell="integration"] .operator-pane__header {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), color-mix(in srgb, var(--page-soft) 34%, white));
}

.clinic-workspace-shell[data-clinic-shell="communication"] .operator-pane__header,
.clinic-workspace-shell[data-clinic-shell="operations"] .operator-pane__header,
.clinic-workspace-shell[data-clinic-shell="governance"] .operator-pane__header {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), color-mix(in srgb, var(--page-soft) 24%, white));
}

.clinic-workspace-shell[data-clinic-shell="medication"] .operator-pane__header,
.clinic-workspace-shell[data-clinic-shell="enrollment"] .operator-pane__header,
.clinic-workspace-shell[data-clinic-shell="readiness"] .operator-pane__header {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), color-mix(in srgb, var(--page-soft) 28%, white));
}

.clinic-workspace-shell[data-clinic-shell="authorization"] .operator-inspector__section-title,
.clinic-workspace-shell[data-clinic-shell="revenue"] .operator-inspector__section-title,
.clinic-workspace-shell[data-clinic-shell="integration"] .operator-inspector__section-title {
  color: var(--page-accent-strong);
}

.clinic-workspace-shell[data-clinic-shell="communication"] .operator-inspector__section-title,
.clinic-workspace-shell[data-clinic-shell="operations"] .operator-inspector__section-title,
.clinic-workspace-shell[data-clinic-shell="governance"] .operator-inspector__section-title {
  color: color-mix(in srgb, var(--page-accent-strong) 78%, black);
}

.clinic-workspace-shell[data-clinic-shell="medication"] .operator-inspector__section-title,
.clinic-workspace-shell[data-clinic-shell="enrollment"] .operator-inspector__section-title,
.clinic-workspace-shell[data-clinic-shell="readiness"] .operator-inspector__section-title {
  color: color-mix(in srgb, var(--page-accent-strong) 84%, black);
}

.clinic-workspace-shell[data-clinic-shell="revenue"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-shell="authorization"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-shell="integration"] .operator-table-shell--clinic {
  background: linear-gradient(180deg, rgba(255, 255, 255, 1), color-mix(in srgb, var(--page-soft) 18%, white));
}

.clinic-workspace-shell[data-clinic-shell="communication"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-shell="operations"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-shell="governance"] .operator-table-shell--clinic {
  background: linear-gradient(180deg, rgba(255, 255, 255, 1), color-mix(in srgb, var(--page-soft) 14%, white));
}

.clinic-workspace-shell[data-clinic-shell="medication"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-shell="enrollment"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-shell="readiness"] .operator-table-shell--clinic {
  background: linear-gradient(180deg, rgba(255, 255, 255, 1), color-mix(in srgb, var(--page-soft) 16%, white));
}

.clinic-workspace-shell[data-clinic-shell="revenue"] .clinic-snapshot-card,
.clinic-workspace-shell[data-clinic-shell="authorization"] .clinic-snapshot-card,
.clinic-workspace-shell[data-clinic-shell="integration"] .clinic-snapshot-card {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.clinic-workspace-shell[data-clinic-shell="communication"] .clinic-snapshot-card,
.clinic-workspace-shell[data-clinic-shell="operations"] .clinic-snapshot-card,
.clinic-workspace-shell[data-clinic-shell="governance"] .clinic-snapshot-card {
  border-top-width: 3px;
}

.clinic-workspace-shell[data-clinic-shell="medication"] .clinic-snapshot-card,
.clinic-workspace-shell[data-clinic-shell="enrollment"] .clinic-snapshot-card,
.clinic-workspace-shell[data-clinic-shell="readiness"] .clinic-snapshot-card {
  border-top-width: 3px;
}

.clinic-workspace-shell[data-clinic-module="patients"] {
  --page-accent: #0e7c81;
  --page-accent-strong: #0f5d61;
  --page-soft: rgba(14, 124, 129, 0.12);
}

.clinic-workspace-shell[data-clinic-module="benefits"] {
  --page-accent: #0b7a68;
  --page-accent-strong: #0b5f52;
  --page-soft: rgba(11, 122, 104, 0.12);
}

.clinic-workspace-shell[data-clinic-module="prior-auth"] {
  --page-accent: #b04f64;
  --page-accent-strong: #8f3950;
  --page-soft: rgba(176, 79, 100, 0.12);
}

.clinic-workspace-shell[data-clinic-module="credentialing"] {
  --page-accent: #0f6b78;
  --page-accent-strong: #0c515b;
  --page-soft: rgba(15, 107, 120, 0.12);
}

.clinic-workspace-shell[data-clinic-module="prescribing"] {
  --page-accent: #5c43b2;
  --page-accent-strong: #453091;
  --page-soft: rgba(92, 67, 178, 0.12);
}

.clinic-workspace-shell[data-clinic-module="messaging"] {
  --page-accent: #3e5ea9;
  --page-accent-strong: #2d467f;
  --page-soft: rgba(62, 94, 169, 0.12);
}

.clinic-workspace-shell[data-clinic-module="claims"] {
  --page-accent: #1d5f95;
  --page-accent-strong: #143f68;
  --page-soft: rgba(29, 95, 149, 0.12);
}

.clinic-workspace-shell[data-clinic-module="denials"] {
  --page-accent: #ab5a1d;
  --page-accent-strong: #874412;
  --page-soft: rgba(171, 90, 29, 0.12);
}

.clinic-workspace-shell[data-clinic-module="staff-ops"] {
  --page-accent: #54657c;
  --page-accent-strong: #3d4c60;
  --page-soft: rgba(84, 101, 124, 0.12);
}

.clinic-workspace-shell[data-clinic-module="compliance"] {
  --page-accent: #8f3a50;
  --page-accent-strong: #6b2639;
  --page-soft: rgba(143, 58, 80, 0.12);
}

.clinic-workspace-shell[data-clinic-module="reporting"] {
  --page-accent: #176f5c;
  --page-accent-strong: #125445;
  --page-soft: rgba(23, 111, 92, 0.12);
}

.clinic-workspace-shell[data-clinic-module="integrations"] {
  --page-accent: #13668a;
  --page-accent-strong: #104d69;
  --page-soft: rgba(19, 102, 138, 0.12);
}

.clinic-workspace__alerts .operator-alert {
  border-left: 3px solid rgba(171, 122, 21, 0.32);
}

.clinic-workspace__queue .operator-table-shell,
.clinic-workspace__inspector-shell {
  border-color: color-mix(in srgb, var(--page-accent) 18%, white);
}

.clinic-workspace__inspector-shell {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(247, 250, 253, 0.98)),
    linear-gradient(180deg, var(--page-soft), transparent 42%);
}

.clinic-workspace__inspector-shell .operator-inspector__summary {
  padding-bottom: 0.2rem;
}

.clinic-workspace__inspector-shell .operator-inspector__section {
  padding-inline: 0.28rem;
}

.clinic-workspace__inspector-shell .inspector-grid {
  grid-template-columns: 1fr;
}

.clinic-workspace__inspector-shell .operator-pane__header {
  border-top-color: color-mix(in srgb, var(--page-accent) 78%, white);
}

.operator-workspace__header {
  display: flex;
  justify-content: space-between;
  gap: 0.82rem;
  align-items: flex-start;
  padding: 0.6rem 0.8rem;
  margin: -0.5rem -0.5rem 0;
  border-radius: 2px 2px 0 0;
  background: linear-gradient(135deg, color-mix(in srgb, var(--page-accent) 8%, white) 0%, rgba(255,255,255,0.95) 100%);
  border-bottom: 1px solid rgba(24, 43, 68, 0.09);
}

.operator-workspace__header h3 {
  margin: 0.15rem 0 0.2rem;
  font-size: 0.98rem;
  letter-spacing: -0.02em;
}

.operator-workspace__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}

.operator-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  min-height: 1.38rem;
  padding: 0.12rem 0.34rem;
  border: 1px solid rgba(24, 43, 68, 0.12);
  border-radius: 3px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 0.6rem;
  font-weight: 700;
  white-space: nowrap;
}

.operator-meta-pill strong {
  color: var(--text);
  font-weight: 800;
}

.operator-meta-pill--neutral {
  background: #f8fafc;
  color: var(--muted);
}

.operator-meta-pill--info {
  border-color: rgba(29, 95, 149, 0.15);
  background: rgba(29, 95, 149, 0.08);
  color: var(--accent-strong);
}

.operator-meta-pill--warning {
  border-color: rgba(142, 93, 18, 0.18);
  background: rgba(142, 93, 18, 0.08);
  color: var(--warning);
}

.operator-meta-pill--critical {
  border-color: rgba(170, 61, 75, 0.18);
  background: rgba(170, 61, 75, 0.08);
  color: var(--danger);
}

.operator-subtabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.08rem;
  border-bottom: 1px solid rgba(24, 43, 68, 0.1);
  padding-bottom: 0.08rem;
}

.operator-subtab {
  min-height: 1.22rem;
  padding: 0.08rem 0.24rem;
  border: 1px solid transparent;
  border-radius: 1px;
  background: transparent;
  color: var(--muted);
  font-size: 0.56rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.24rem;
}

.operator-subtab:hover:not(.is-active) {
  background: rgba(24, 43, 68, 0.05);
  color: var(--text);
}

.operator-subtab.is-active {
  border-color: color-mix(in srgb, var(--page-accent) 30%, white);
  background: var(--page-soft);
  color: var(--page-accent-strong);
  border-bottom-color: var(--page-accent);
  border-bottom-width: 2px;
}

.operator-subtab__label {
  min-width: 0;
}

.operator-subtab__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0.96rem;
  min-height: 0.86rem;
  padding: 0 0.18rem;
  border-radius: 2px;
  background: rgba(23, 38, 56, 0.07);
  color: inherit;
  font-size: 0.54rem;
  font-weight: 800;
  line-height: 1;
}

.operator-subtab.is-active .operator-subtab__count {
  background: rgba(255, 255, 255, 0.78);
}

.operator-filterbar {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.26rem;
  padding: 0.22rem;
  border: 1px solid rgba(24, 43, 68, 0.12);
  border-radius: 2px;
  background: linear-gradient(180deg, rgba(248, 251, 254, 0.98), rgba(242, 246, 251, 0.96));
}

.clinic-workspace .operator-filterbar,
body[data-current-page="operator-console"] .operator-filterbar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.operator-filterbar label {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
  font-size: 0.56rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.operator-filterbar__search {
  grid-column: span 2;
}

.operator-filterbar input,
.operator-filterbar select {
  min-height: 1.46rem;
  padding: 0.14rem 0.32rem;
  border: 1px solid rgba(24, 43, 68, 0.12);
  border-radius: 1px;
  background: #fff;
  font-size: 0.64rem;
}

.operator-kpi-strip {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.28rem;
}

@media (max-width: 1200px) {
  .operator-kpi-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.operator-kpi {
  display: grid;
  gap: 0.12rem;
  justify-items: start;
  padding: 0.3rem 0.34rem;
  border: 1px solid rgba(24, 43, 68, 0.12);
  border-top: 2px solid var(--page-accent);
  border-radius: 2px;
  background: #fff;
  cursor: pointer;
  text-align: left;
  transition: background 0.12s ease, box-shadow 0.12s ease, transform 0.1s ease;
}

.operator-kpi:hover {
  background: color-mix(in srgb, var(--page-soft) 40%, white);
  box-shadow: 0 2px 8px rgba(24, 43, 68, 0.1);
  transform: translateY(-1px);
}

.operator-kpi.is-active {
  background: var(--page-soft);
  border-top-width: 3px;
  border-color: var(--page-accent);
  box-shadow: 0 2px 10px rgba(24, 43, 68, 0.12);
}

.operator-kpi__label {
  color: var(--muted);
  font-size: 0.59rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.operator-kpi__value {
  font-size: 0.76rem;
  line-height: 1.15;
}

.operator-kpi__detail {
  color: var(--muted);
  font-size: 0.62rem;
}

.operator-workspace__body {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(18rem, 0.78fr);
  gap: 0.5rem;
  align-items: start;
}

.operator-workspace__main {
  min-width: 0;
  display: grid;
  gap: 0.5rem;
}

.operator-pane,
.operator-inspector {
  min-width: 0;
  border: 1px solid rgba(24, 43, 68, 0.12);
  border-radius: 2px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(250, 252, 254, 0.98));
}

.operator-pane__header {
  display: flex;
  justify-content: space-between;
  gap: 0.62rem;
  align-items: start;
  padding: 0.32rem 0.4rem;
  border-bottom: 1px solid rgba(24, 43, 68, 0.08);
  border-top: 2px solid color-mix(in srgb, var(--page-accent) 60%, white);
}

.operator-pane__header h3 {
  margin: 0.08rem 0 0;
  font-size: 0.76rem;
}

.operator-pane__actions {
  display: flex;
  gap: 0.35rem;
  align-items: center;
  flex-wrap: wrap;
}

.operator-inspector {
  position: sticky;
  top: calc(var(--sticky-offset) + 0.1rem);
  max-height: calc(100vh - var(--sticky-offset, 0px) - 4rem);
  overflow-y: auto;
  scroll-behavior: smooth;
}

.operator-inspector__summary,
.operator-inspector__list,
.operator-table-stack,
.operator-alert,
#operator-console-table-shell {
  padding: 0.34rem 0.4rem;
}

.operator-inspector__summary h4 {
  margin: 0;
  font-size: 0.76rem;
}

.operator-inspector__summary-row {
  display: flex;
  justify-content: space-between;
  gap: 0.34rem;
  align-items: flex-start;
}

.operator-inspector__section {
  display: grid;
  gap: 0.22rem;
  padding: 0.24rem 0.32rem;
  border-top: 1px solid rgba(24, 43, 68, 0.08);
}

.operator-inspector__section:first-of-type {
  border-top: 0;
  padding-top: 0.18rem;
}

.operator-inspector__section-title {
  margin: 0;
  color: var(--muted);
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.inspector-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.22rem;
}

.inspector-field {
  display: grid;
  gap: 0.05rem;
  padding: 0.18rem 0.2rem;
  border: 1px solid rgba(24, 43, 68, 0.08);
  border-radius: 1px;
  background: rgba(248, 251, 254, 0.9);
}

.inspector-field--info {
  background: color-mix(in srgb, var(--accent-soft) 55%, white);
}

.inspector-field--warning {
  background: color-mix(in srgb, rgba(171, 90, 29, 0.1) 70%, white);
}

.inspector-field__label {
  color: var(--muted);
  font-size: 0.49rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.inspector-field__value {
  color: var(--text);
  font-size: 0.58rem;
  line-height: 1.28;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.operator-inspector__list {
  margin: 0;
  padding-top: 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 0.26rem;
}

.operator-inspector__list li {
  display: grid;
  grid-template-columns: minmax(7rem, 10rem) minmax(0, 1fr);
  gap: 0.32rem;
  padding-top: 0.18rem;
  border-top: 1px solid rgba(24, 43, 68, 0.08);
}

.operator-inspector__list li strong {
  color: var(--page-accent-strong, var(--text));
  text-transform: capitalize;
}

.operator-inspector__list li {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.operator-health-score {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  font-size: 0.85rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  line-height: 1;
}

.operator-health-score__label {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.85;
}

.operator-health-score--stable { color: #1a7a47; }
.operator-health-score--warning { color: #a06010; }
.operator-health-score--critical { color: #b03030; }

#operator-console-health-score.operator-meta-pill {
  padding: 0.1rem 0.4rem;
  background: transparent;
  border: none;
  min-height: unset;
}

.operator-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  padding: 0.3rem 0;
  border-bottom: 1px solid rgba(24, 43, 68, 0.08);
}

.operator-quick-actions .ghost-button {
  font-size: 0.57rem;
  padding: 0.2rem 0.5rem;
  border-radius: 2px;
}

.operator-quick-actions .ghost-button:first-child {
  background: color-mix(in srgb, var(--page-accent) 10%, white);
  border-color: color-mix(in srgb, var(--page-accent) 25%, white);
  color: var(--page-accent-strong);
  font-weight: 800;
}

.inline-progress {
  width: 4rem;
  height: 4px;
  border-radius: 99px;
  background: rgba(24, 43, 68, 0.1);
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.3em;
}

.inline-progress__fill {
  height: 100%;
  border-radius: 99px;
  transition: width 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.inline-progress__fill--stable { background: #1a7a47; }
.inline-progress__fill--warning { background: #a06010; }
.inline-progress__fill--critical { background: #b03030; }

.inline-progress__label {
  font-size: 0.6rem;
  font-variant-numeric: tabular-nums;
  color: var(--muted);
  vertical-align: middle;
}

.operator-inspector__actions {
  display: flex;
  gap: 0.32rem;
  flex-wrap: wrap;
  padding: 0.3rem 0.4rem;
  border-top: 1px solid rgba(24, 43, 68, 0.08);
  background: color-mix(in srgb, var(--accent-soft) 20%, white);
}

.operator-inspector__actions .action-button,
.operator-inspector__actions .ghost-button {
  font-size: 0.56rem;
  padding: 0.22rem 0.55rem;
}

.operator-alert {
  border-bottom: 1px solid rgba(24, 43, 68, 0.08);
  display: grid;
  gap: 0.22rem;
}

.operator-alert .ghost-button,
.operator-pane__actions .ghost-button,
.operator-pane__actions .action-button,
.operator-table .ghost-button {
  min-height: 1.38rem;
  padding-inline: 0.34rem;
  font-size: 0.58rem;
}

.operator-alert:last-child {
  border-bottom: 0;
}

.operator-alert--critical {
  background: linear-gradient(180deg, #fff5f5, #fff);
}

.operator-alert--warning {
  background: linear-gradient(180deg, #fff9f0, #fff);
}

.operator-alert--info {
  background: linear-gradient(180deg, #f5f9ff, #fff);
}

.operator-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.12rem;
  padding: 0.06rem 0.26rem;
  border-radius: 3px;
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

body[data-current-page="patients"] {
  --page-accent: #0e7c81;
  --page-accent-strong: #0f5d61;
  --page-soft: rgba(14, 124, 129, 0.12);
}

body[data-current-page="benefits"] {
  --page-accent: #0b7a68;
  --page-accent-strong: #0b5f52;
  --page-soft: rgba(11, 122, 104, 0.12);
}

body[data-current-page="prior-auth"] {
  --page-accent: #b04f64;
  --page-accent-strong: #8f3950;
  --page-soft: rgba(176, 79, 100, 0.12);
}

body[data-current-page="credentialing"] {
  --page-accent: #0f6b78;
  --page-accent-strong: #0c515b;
  --page-soft: rgba(15, 107, 120, 0.12);
}

body[data-current-page="prescribing"] {
  --page-accent: #5c43b2;
  --page-accent-strong: #453091;
  --page-soft: rgba(92, 67, 178, 0.12);
}

body[data-current-page="messaging"] {
  --page-accent: #3e5ea9;
  --page-accent-strong: #2d467f;
  --page-soft: rgba(62, 94, 169, 0.12);
}

body[data-current-page="claims"] {
  --page-accent: #1d5f95;
  --page-accent-strong: #143f68;
  --page-soft: rgba(29, 95, 149, 0.12);
}

body[data-current-page="denials"] {
  --page-accent: #ab5a1d;
  --page-accent-strong: #874412;
  --page-soft: rgba(171, 90, 29, 0.12);
}

body[data-current-page="staff-ops"] {
  --page-accent: #54657c;
  --page-accent-strong: #3d4c60;
  --page-soft: rgba(84, 101, 124, 0.12);
}

body[data-current-page="operator-console"] {
  --page-accent: #117364;
  --page-accent-strong: #114f63;
  --page-soft: rgba(17, 115, 100, 0.12);
}

body[data-current-page="automation"] {
  --page-accent: #7a5617;
  --page-accent-strong: #61430f;
  --page-soft: rgba(122, 86, 23, 0.12);
}

body[data-current-page="compliance"] {
  --page-accent: #8f3a50;
  --page-accent-strong: #6b2639;
  --page-soft: rgba(143, 58, 80, 0.12);
}

body[data-current-page="reporting"] {
  --page-accent: #176f5c;
  --page-accent-strong: #125445;
  --page-soft: rgba(23, 111, 92, 0.12);
}

body[data-current-page="integrations"] {
  --page-accent: #13668a;
  --page-accent-strong: #104d69;
  --page-soft: rgba(19, 102, 138, 0.12);
}

.operator-badge--critical {
  background: #fbe7e7;
  color: #9f1c1c;
}

.operator-badge--warning {
  background: #fff0d8;
  color: #915b00;
}

.operator-badge--stable {
  background: #e7f6ec;
  color: #17653a;
}

.operator-badge--info {
  background: #e8f1fb;
  color: #1d4f8f;
}

.operator-table-shell {
  overflow: auto;
  border: 1px solid rgba(24, 43, 68, 0.08);
  border-radius: 2px;
  background: #fff;
}

.operator-table-shell--clinic {
  border-top: 2px solid color-mix(in srgb, var(--page-accent) 65%, white);
  background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(248, 250, 253, 0.98));
}

.operator-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.64rem;
  table-layout: auto;
}

.operator-table__caption {
  caption-side: top;
  padding: 0.22rem 0.32rem;
  border-bottom: 1px solid rgba(24, 43, 68, 0.08);
  background: linear-gradient(180deg, rgba(250, 252, 254, 0.98), rgba(244, 248, 252, 0.96));
  color: var(--page-accent-strong, var(--text));
  font-size: 0.53rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: left;
  text-transform: uppercase;
}

.operator-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 0.24rem 0.3rem;
  border-bottom: 1px solid rgba(24, 43, 68, 0.12);
  background: linear-gradient(180deg, #f4f7fa, #eef3f8);
  color: var(--muted);
  font-size: 0.51rem;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.operator-table tbody td {
  padding: 0.24rem 0.3rem;
  border-bottom: 1px solid rgba(24, 43, 68, 0.08);
  vertical-align: top;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.operator-table tbody tr:nth-child(even) {
  background: rgba(245, 248, 252, 0.46);
}

.operator-table tbody td:first-child {
  font-weight: 700;
  color: var(--page-accent-strong, var(--text));
}

.operator-table tbody td:nth-child(2) {
  font-weight: 600;
}

.operator-table--clinic tbody td:first-child {
  color: var(--page-accent-strong);
}

.operator-table--clinic tbody td:nth-child(2) {
  color: color-mix(in srgb, var(--page-accent-strong) 82%, black);
}

.operator-table tbody tr {
  cursor: pointer;
}

.operator-table tbody tr:hover {
  background: color-mix(in srgb, var(--page-soft) 38%, white);
}

.operator-table tbody tr.is-selected {
  background: color-mix(in srgb, var(--page-soft) 55%, white);
}

.operator-table tbody tr.is-selected td {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 3px 0 0 var(--page-accent);
}

.operator-table__cell--numeric,
.operator-table thead th.operator-table__cell--numeric {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.operator-table__cell--date,
.operator-table thead th.operator-table__cell--date {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.operator-table__cell--status {
  white-space: nowrap;
}

.operator-table__cell--action,
.operator-table thead th.operator-table__cell--action {
  width: 1%;
  white-space: nowrap;
}

.clinic-workspace-shell[data-clinic-tab="escalations"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-tab="alerts"] .operator-table-shell--clinic {
  border-top-color: #b46b22;
}

.clinic-workspace-shell[data-clinic-tab="owners"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-tab="providers"] .operator-table-shell--clinic {
  border-top-color: #4a607c;
}

.clinic-workspace-shell[data-clinic-tab="scrub"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-tab="rules"] .operator-table-shell--clinic {
  border-top-color: #7a5617;
}

.clinic-workspace-shell[data-clinic-module="prior-auth"][data-clinic-tab="follow-up"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-module="prior-auth"][data-clinic-tab="due-today"] .operator-table-shell--clinic {
  border-top-color: #8f3950;
}

.clinic-workspace-shell[data-clinic-module="credentialing"][data-clinic-tab="expirables"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-module="credentialing"][data-clinic-tab="enrollment"] .operator-table-shell--clinic {
  border-top-color: #0c515b;
}

.clinic-workspace-shell[data-clinic-module="messaging"][data-clinic-tab="provider"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-module="messaging"][data-clinic-tab="patient"] .operator-table-shell--clinic {
  border-top-color: #2d467f;
}

.clinic-workspace-shell[data-clinic-module="claims"][data-clinic-tab="holds"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-module="claims"][data-clinic-tab="scrub"] .operator-table-shell--clinic {
  border-top-color: #143f68;
}

.clinic-workspace-shell[data-clinic-module="prescribing"][data-clinic-tab="review"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-module="prescribing"][data-clinic-tab="transmission"] .operator-table-shell--clinic {
  border-top-color: #453091;
}

.clinic-workspace-shell[data-clinic-module="denials"][data-clinic-tab="appeals"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-module="denials"][data-clinic-tab="preventable"] .operator-table-shell--clinic {
  border-top-color: #874412;
}

.clinic-workspace-shell[data-clinic-module="integrations"][data-clinic-tab="conflicts"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-module="integrations"][data-clinic-tab="architecture"] .operator-table-shell--clinic,
.clinic-workspace-shell[data-clinic-module="integrations"][data-clinic-tab="toolkit"] .operator-table-shell--clinic {
  border-top-color: #104d69;
}

.clinic-workspace-shell[data-clinic-module="messaging"] .clinic-workspace__alerts .operator-alert {
  border-left-color: rgba(62, 94, 169, 0.34);
}

.clinic-workspace-shell[data-clinic-module="prior-auth"] .clinic-workspace__alerts .operator-alert {
  border-left-color: rgba(176, 79, 100, 0.4);
}

.clinic-workspace-shell[data-clinic-module="credentialing"] .clinic-workspace__alerts .operator-alert {
  border-left-color: rgba(15, 107, 120, 0.36);
}

.clinic-workspace-shell[data-clinic-module="claims"] .clinic-workspace__alerts .operator-alert,
.clinic-workspace-shell[data-clinic-module="denials"] .clinic-workspace__alerts .operator-alert {
  border-left-color: rgba(29, 95, 149, 0.34);
}

.clinic-workspace-shell[data-clinic-module="prior-auth"] .operator-table__caption,
.clinic-workspace-shell[data-clinic-module="credentialing"] .operator-table__caption,
.clinic-workspace-shell[data-clinic-module="prescribing"] .operator-table__caption,
.clinic-workspace-shell[data-clinic-module="messaging"] .operator-table__caption,
.clinic-workspace-shell[data-clinic-module="claims"] .operator-table__caption,
.clinic-workspace-shell[data-clinic-module="denials"] .operator-table__caption {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--page-soft) 45%, white), rgba(244, 248, 252, 0.94));
}

.operator-table-stack {
  display: grid;
  gap: 0.75rem;
}

#operator-console-table-shell[data-operator-tab-content="alerts"] .operator-table-shell {
  border-top-color: #9d3a4e;
}

#operator-console-table-shell[data-operator-tab-content="revenue"] .operator-table-shell {
  border-top-color: #1d5f95;
}

#operator-console-table-shell[data-operator-tab-content="credentialing"] .operator-table-shell {
  border-top-color: #0f6b78;
}

#operator-console-table-shell[data-operator-tab-content="providers"] .operator-table-shell,
#operator-console-table-shell[data-operator-tab-content="work-queues"] .operator-table-shell {
  border-top-color: #54657c;
}

#operator-console-table-shell[data-operator-tab-content="documents"] .operator-table-shell,
#operator-console-table-shell[data-operator-tab-content="activity-log"] .operator-table-shell {
  border-top-color: #176f5c;
}

.operator-console-legacy {
  display: none;
}

.workspace-tabs--sidebar .workspace-tab::before {
  width: 0.22rem;
  height: 0.82rem;
}

.workspace-tab:hover {
  border-color: var(--section-accent, var(--accent));
  transform: none;
}

.workspace-tab.is-active {
  border-color: var(--section-accent, var(--accent));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.92), inset 3px 0 0 var(--section-accent, var(--accent));
}

.workspace-tab::before {
  content: "";
  width: 0.24rem;
  height: 0.95rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--section-accent, var(--accent)), var(--section-accent-strong, var(--accent-strong)));
}

.page-hidden {
  display: none !important;
}

/* Access-gated nav/menu items keep page-hidden even inside command menus, where
   `.command-menu__panel button` (higher specificity) otherwise re-shows them —
   e.g. "Add a clinic" must never appear for clinic users. */
.command-menu__panel .page-hidden,
.command-menu__panel button.page-hidden,
.topbar__menus .page-hidden,
[role="menu"] .page-hidden {
  display: none !important;
}

.workspace-header {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(18rem, 0.85fr);
  gap: 0.82rem;
  padding: 0.62rem 0.68rem;
}

.workspace-header h2 {
  margin: 0.16rem 0 0.38rem;
  max-width: 24ch;
  font-size: clamp(1rem, 1.45vw, 1.34rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.workspace-header__lede,
.summary-text,
.item__meta,
.draft-box,
.empty-state p,
.workflow-escalation-card p,
.operator-console-transition-guide p {
  color: var(--muted);
}

.workspace-header__lede {
  max-width: 74ch;
  margin: 0 0 0.42rem;
  line-height: 1.3;
  font-size: 0.74rem;
}

.workspace-header__content,
.workspace-header__panel,
.panel__header > div,
.item__row > div,
.item,
.draft-box,
.workflow-summary__card,
.operator-console-card,
.operator-console-transition-guide,
.coding-code-card,
.empty-state,
.drill-row {
  min-width: 0;
}

.workspace-header__panel {
  padding: 0.58rem;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--surface-muted), var(--surface-strong));
  border: 1px solid var(--border);
}

.workspace-header__panel p {
  margin: 0 0 0.54rem;
  font-size: 0.72rem;
  line-height: 1.3;
}

.control-bar {
  padding: 0.48rem 0.6rem;
}

.control-bar__group,
.workflow-toolbar,
.operator-console-form__actions,
.operator-console-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: end;
}

.control-bar label,
.action-form label,
.workflow-toolbar label,
.coding-form label,
.operator-console-form label {
  display: grid;
  gap: 0.22rem;
  min-width: 9.75rem;
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--muted);
}

select,
input[type="text"],
textarea {
  min-width: 0;
  width: 100%;
  min-height: 1.84rem;
  padding: 0.28rem 0.42rem;
  border-radius: 1px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text);
  font-size: 0.68rem;
}

select:focus,
input[type="text"]:focus,
textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.dashboard {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
  gap: 0.68rem;
}

.metric-card {
  position: relative;
  padding: 0.76rem;
  cursor: pointer;
  overflow: hidden;
  transition: transform 140ms ease, box-shadow 140ms ease;
}

.metric-card:hover,
.theme-card:hover,
.workflow-summary__card:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-hover);
}

.metric-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--metric-accent, var(--accent)), transparent);
}

.metric-card--low {
  --metric-accent: var(--success);
}

.metric-card--medium {
  --metric-accent: var(--warning);
}

.metric-card--high {
  --metric-accent: var(--danger);
}

.metric-card p,
.metric-card h3 {
  margin: 0;
}

.metric-card h3 {
  margin-top: 0.35rem;
  font-size: 1.34rem;
  letter-spacing: -0.04em;
}

.metric-card__accent {
  margin-top: 0.52rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--metric-accent, var(--accent)), rgba(255, 255, 255, 0));
}

.charts-grid,
.content-grid,
.briefing-grid,
.coding-grid,
.module-three-up,
.module-two-up,
.operator-console-grid {
  display: grid;
  gap: 1rem;
}

.charts-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.content-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.briefing-grid,
.coding-grid,
.module-three-up,
.module-two-up,
.operator-console-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.module-three-up {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body[data-current-page]:not([data-current-page="dashboard"]) .content-grid,
body[data-current-page]:not([data-current-page="dashboard"]) .charts-grid,
body[data-current-page]:not([data-current-page="dashboard"]) .briefing-grid,
body[data-current-page]:not([data-current-page="dashboard"]) .coding-grid,
body[data-current-page]:not([data-current-page="dashboard"]) .module-three-up,
body[data-current-page]:not([data-current-page="dashboard"]) .module-two-up,
body[data-current-page]:not([data-current-page="dashboard"]) .operator-console-grid,
body[data-current-page]:not([data-current-page="dashboard"]) .workflow-summary {
  grid-template-columns: minmax(0, 1fr);
}

body[data-current-page]:not([data-current-page="dashboard"]) .content-grid > [data-page]:not(.page-hidden),
body[data-current-page]:not([data-current-page="dashboard"]) .dashboard > [data-page]:not(.page-hidden) {
  grid-column: 1 / -1;
}

.panel {
  position: relative;
  overflow: hidden;
  padding: 0.68rem;
}

.panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--section-accent, var(--accent)), transparent);
}

.panel[class*="panel--module-"] {
  border-color: var(--section-border, var(--border));
  background:
    linear-gradient(140deg, var(--section-soft, rgba(29, 95, 149, 0.05)), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 252, 254, 0.95));
}

.panel--wide {
  grid-column: 1 / -1;
}

.sticky-panel {
  position: sticky;
  top: calc(var(--sticky-offset) + 0.1rem);
  z-index: 8;
}

.panel__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.54rem;
  align-items: start;
}

.panel__header h2,
.panel h3,
.panel h4,
.panel p {
  margin: 0;
}

.panel__header h2 {
  margin-top: 0.18rem;
  font-size: 0.88rem;
  letter-spacing: -0.03em;
}

.action-form,
.coding-form,
.workflow-toolbar,
.operator-console-form {
  padding: 0.52rem;
  border-radius: 2px;
  border: 1px solid var(--section-border, var(--border));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 252, 0.92));
}

.workflow-toolbar {
  align-items: stretch;
}

.workflow-toolbar .ghost-button,
.workflow-toolbar .action-button {
  align-self: end;
}

.action-form {
  display: grid;
  grid-template-columns: 12rem minmax(0, 1fr) auto auto;
  gap: 0.62rem;
  align-items: end;
}

.action-form__wide,
.coding-form__wide,
.operator-console-form__wide {
  grid-column: 1 / -1;
}

.coding-form,
.operator-console-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.62rem;
}

.stack,
.list,
.workflow-summary,
.workflow-escalations {
  display: grid;
  gap: 0.8rem;
}

.list {
  padding-left: 1rem;
}

.workflow-summary {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.item,
.empty-state,
.drill-row,
.draft-box,
.workflow-summary__card,
.workflow-escalation-card,
.operator-console-card,
.operator-console-transition-guide,
.coding-code-card {
  position: relative;
  border-radius: 3px;
  border: 1px solid var(--section-border, var(--border));
  background: linear-gradient(180deg, #fff, #f8fbfe);
  padding: 0.58rem 0.64rem;
}

.item::before,
.empty-state::before,
.draft-box::before,
.workflow-summary__card::before,
.workflow-escalation-card::before,
.operator-console-card::before,
.operator-console-transition-guide::before,
.coding-code-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--section-accent, var(--accent)), transparent);
}

.item__row,
.drill-row {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: start;
  min-width: 0;
}

.item h3 {
  font-size: 0.84rem;
}

.item__meta {
  margin-top: 0.22rem;
  font-size: 0.72rem;
  line-height: 1.34;
}

.item__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.32rem;
  margin-top: 0.44rem;
}

.workflow-escalation-card p,
.workflow-summary__card p,
.operator-console-card p,
.operator-console-transition-guide p,
.coding-code-card p {
  margin-top: 0.26rem;
  font-size: 0.74rem;
  line-height: 1.34;
}

.workflow-summary__card {
  cursor: pointer;
}

.workflow-summary__card--breached,
.workflow-summary__card--denied,
.workflow-summary__card--overdue {
  background: linear-gradient(180deg, #fff5f6, #ffffff);
}

.workflow-summary__card--due_soon,
.workflow-summary__card--due_today,
.workflow-summary__card--blocked,
.workflow-summary__card--additional_info_required {
  background: linear-gradient(180deg, #fff8ef, #ffffff);
}

.workflow-summary__card--approved,
.workflow-summary__card--on_track,
.workflow-summary__card--active {
  background: linear-gradient(180deg, #f3fbf7, #ffffff);
}

.workflow-summary__card--planned,
.workflow-summary__card--scheduled,
.workflow-summary__card--submitted {
  background: linear-gradient(180deg, #f2f8fd, #ffffff);
}

.status-pill,
.priority-pill {
  padding: 0.18rem 0.42rem;
  border-radius: 3px;
  font-size: 0.61rem;
}

.status-pill--accent {
  background: var(--accent-soft);
  color: var(--accent-strong);
}

.priority-pill--high,
.priority-pill--failed,
.priority-pill--critical,
.priority-pill--overdue,
.priority-pill--denied {
  background: rgba(170, 61, 75, 0.12);
  color: var(--danger);
}

.priority-pill--medium,
.priority-pill--review,
.priority-pill--due_soon,
.priority-pill--outreach_in_progress,
.priority-pill--additional_info_required,
.priority-pill--blocked {
  background: rgba(142, 93, 18, 0.12);
  color: var(--warning);
}

.priority-pill--low,
.priority-pill--clear,
.priority-pill--configured,
.priority-pill--active,
.priority-pill--passed,
.priority-pill--on_track,
.priority-pill--approved {
  background: rgba(20, 112, 85, 0.12);
  color: var(--success);
}

.priority-pill--planned,
.priority-pill--warning,
.priority-pill--packet_ready,
.priority-pill--drafted,
.priority-pill--completed,
.priority-pill--submitted,
.priority-pill--scheduled,
.priority-pill--intake_ready,
.priority-pill--ready_to_schedule,
.priority-pill--open {
  background: rgba(29, 95, 149, 0.12);
  color: var(--accent-strong);
}

.action-button,
.ghost-button {
  min-height: 1.34rem;
  padding: 0.12rem 0.34rem;
  border-radius: 2px;
  font-weight: 700;
  font-size: 0.58rem;
  cursor: pointer;
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

.action-button {
  border: 0;
  color: #fff;
  background: linear-gradient(180deg, var(--section-accent, var(--accent)), var(--section-accent-strong, var(--accent-strong)));
}

.ghost-button {
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #fbfdff, #eef3f8);
  color: var(--text);
}

.action-button:hover,
.ghost-button:hover {
  transform: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72), 0 2px 6px rgba(18, 36, 59, 0.08);
}

.action-button:focus-visible,
.ghost-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.checkbox {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.84rem;
  color: var(--text);
}

.draft-box {
  white-space: pre-wrap;
  line-height: 1.6;
  width: 100%;
}

.hidden {
  display: none;
}

.chart-shell,
.chart {
  display: grid;
  gap: 0.75rem;
}

.chart--interactive {
  gap: 0.9rem;
}

.chart-row {
  display: grid;
  grid-template-columns: 8rem 1fr auto;
  gap: 0.7rem;
  align-items: center;
  cursor: pointer;
  min-height: 2.35rem;
  padding: 0.45rem 0.55rem;
  border-radius: 14px;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.chart-row.is-active {
  border-color: rgba(20, 93, 156, 0.22);
  box-shadow: 0 8px 20px rgba(20, 44, 74, 0.08);
  background: linear-gradient(180deg, rgba(244, 249, 253, 1), rgba(233, 243, 249, 1));
}

.chart__label {
  font-size: 0.84rem;
  font-weight: 700;
}

.chart__bar-track {
  height: 12px;
  border-radius: 999px;
  background: rgba(23, 38, 56, 0.08);
  overflow: hidden;
}

.chart__bar {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--accent-strong));
  width: var(--target-width, 0%);
  transform-origin: left center;
  animation: chart-bar-fill 620ms cubic-bezier(0.2, 0.9, 0.2, 1);
}

.chart__value,
.chart__summary {
  font-size: 0.84rem;
  color: var(--muted);
}

.chart__summary {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.chart__toggle {
  min-height: 2rem;
  padding: 0.35rem 0.7rem;
}

.chart__hint {
  padding: 0.35rem 0.15rem 0;
  font-size: 0.8rem;
  color: var(--muted);
}

.chart-detail {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid rgba(20, 44, 74, 0.08);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(239, 246, 251, 0.98));
}

.chart-detail--expanded {
  animation: chart-detail-rise 320ms ease;
}

.chart-detail__visual {
  display: grid;
  grid-template-columns: 11rem minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
}

.chart-donut {
  position: relative;
  width: 11rem;
  height: 11rem;
  display: grid;
  place-items: center;
}

.chart-donut__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(var(--chart-conic));
  box-shadow: inset 0 0 0 1px rgba(20, 44, 74, 0.04), 0 16px 30px rgba(20, 44, 74, 0.12);
  animation: chart-donut-enter 700ms cubic-bezier(0.2, 0.9, 0.2, 1);
}

.chart-donut__ring::after {
  content: "";
  position: absolute;
  inset: 20%;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 253, 1));
  box-shadow: inset 0 0 0 1px rgba(20, 44, 74, 0.04);
}

.chart-donut__center {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.2rem;
  justify-items: center;
  text-align: center;
  max-width: 60%;
}

.chart-donut__center strong {
  font-size: 1rem;
  line-height: 1.1;
}

.chart-donut__center span {
  font-size: 0.72rem;
  color: var(--muted);
}

.chart-detail__copy h3 {
  margin: 0.1rem 0 0.35rem;
}

.chart-detail__totals {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.chart-detail__legend,
.chart-detail__list {
  display: grid;
  gap: 0.55rem;
}

.chart-legend-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.7rem;
  align-items: center;
  min-height: 2.4rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(20, 44, 74, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
  text-align: left;
}

.chart-legend-row.is-active {
  border-color: rgba(20, 93, 156, 0.22);
  background: rgba(239, 247, 252, 1);
}

.chart-legend-row__swatch {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 999px;
  background: var(--legend-color);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--legend-color) 18%, white);
}

.chart-legend-row__label {
  font-weight: 700;
}

.chart-legend-row__value {
  color: var(--muted);
}

.chart-detail__list-item {
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(20, 44, 74, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  cursor: pointer;
  transition: transform 140ms ease, box-shadow 140ms ease;
}

.chart-detail__list-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(20, 44, 74, 0.08);
}

.chart-detail__list-item p {
  margin: 0.3rem 0 0;
  color: var(--muted);
}

@keyframes chart-bar-fill {
  from {
    width: 0;
    opacity: 0.35;
  }
  to {
    width: var(--target-width, 0%);
    opacity: 1;
  }
}

@keyframes chart-donut-enter {
  from {
    transform: scale(0.78) rotate(-18deg);
    opacity: 0;
  }
  to {
    transform: scale(1) rotate(0deg);
    opacity: 1;
  }
}

@keyframes chart-detail-rise {
  from {
    transform: translateY(8px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.operator-console-transition-note {
  min-height: 3rem;
  resize: vertical;
}

.workflow-sla-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.6rem;
}

@media (max-width: 1280px) {
  .app-frame {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
  }

  .workspace-header,
  .charts-grid,
  .content-grid,
  .briefing-grid,
  .coding-grid,
  .module-two-up,
  .operator-console-grid,
  .action-form,
  .coding-form,
  .operator-console-form {
    grid-template-columns: 1fr;
  }

  .operator-workspace__body,
  .operator-kpi-strip,
  .operator-filterbar {
    grid-template-columns: 1fr;
  }

  .operator-filterbar__search {
    grid-column: span 1;
  }

  .topbar {
    grid-template-columns: 1fr;
  }

  .topbar__title,
  .topbar__actions,
  .topbar__menus {
    grid-column: 1;
  }

  .topbar__title {
    grid-row: 1;
  }

  .topbar__actions {
    grid-row: 2;
    justify-content: flex-start;
  }

  .topbar__menus {
    grid-row: 3;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .workspace-tabs {
    width: 100%;
  }

  .sticky-panel {
    position: static;
  }
}

@media (max-width: 720px) {
  .app-frame {
    padding: 0.7rem;
    gap: 0.8rem;
  }

  .sidebar,
  .topbar,
  .workspace-header,
  .control-bar,
  .panel,
  .metric-card {
    padding: 0.9rem;
  }

  .item__row,
  .drill-row {
    flex-direction: column;
    align-items: stretch;
  }

  .topbar {
    grid-template-columns: 1fr;
  }

  .topbar__actions,
  .topbar__menus {
    justify-content: flex-start;
  }

  .topbar__menus {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workspace-tabs {
    width: 100%;
  }

  .chart-row {
    grid-template-columns: 1fr;
  }

  .workspace-header h2 {
    max-width: none;
  }
}

/* Enterprise shell refinement overrides */
.sidebar {
  top: 0;
  height: 100vh;
  padding: 0.5rem 0.5rem 0.56rem;
  border-radius: 0 4px 4px 0;
  gap: 0.34rem;
}

.sidebar__brand {
  padding: 0.12rem 0.08rem 0.32rem;
  border-bottom: 1px solid rgba(24, 43, 68, 0.08);
}

.sidebar__brand-lockup {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.28rem;
}

.sidebar__brand-logo {
  max-width: 3.4rem;
  flex-shrink: 0;
  margin: 0;
}

.sidebar__brand h1 {
  margin: 0.06rem 0 0.16rem;
  font-size: 0.88rem;
  line-height: 1.05;
}

.sidebar__brand p:last-child,
.sidebar__footnote p {
  line-height: 1.25;
  font-size: 0.63rem;
}

.sidebar__group {
  padding-top: 0.16rem;
}

.sidebar__group-links {
  gap: 0.08rem;
}

.module-link {
  gap: 0.3rem;
  min-height: 1.28rem;
  padding: 0.12rem 0.18rem;
  font-size: 0.56rem;
  letter-spacing: 0.01em;
  border-radius: 1px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.module-link::before {
  width: 0.12rem;
  height: 0.72rem;
  border-radius: 1px;
}

.module-link:hover {
  border-color: rgba(24, 43, 68, 0.1);
  background: rgba(244, 248, 252, 0.84);
}

.module-link.is-active {
  box-shadow: inset 2px 0 0 var(--section-accent, var(--accent));
  background: color-mix(in srgb, var(--section-soft) 65%, white);
}

.topbar {
  top: 0;
  gap: 0.24rem 0.5rem;
  padding: 0.2rem 0.28rem 0.24rem;
  border-radius: 0 0 3px 3px;
  background:
    linear-gradient(180deg, rgba(250, 252, 254, 0.995), rgba(242, 246, 251, 0.985)),
    linear-gradient(90deg, rgba(19, 74, 121, 0.04), transparent 40%);
}

.topbar h2 {
  margin: 0.08rem 0 0;
  font-size: 0.88rem;
}

.topbar__subtitle {
  margin: 0.08rem 0 0;
  max-width: 108ch;
  font-size: 0.63rem;
  line-height: 1.18;
}

.topbar__menus {
  padding: 0;
  border-radius: 1px;
  background: linear-gradient(180deg, rgba(239, 243, 248, 0.98), rgba(231, 236, 242, 0.98));
}

.topbar__role-picker {
  min-width: 8.2rem;
  font-size: 0.56rem;
}

.topbar__role-picker select {
  min-height: 1.28rem;
  padding: 0.08rem 1.2rem 0.08rem 0.3rem;
}

.topbar__status {
  border-radius: 2px;
  padding: 0.2rem 0.42rem;
}

.command-menu summary {
  gap: 0.14rem;
  min-height: 1.08rem;
  padding: 0.04rem 0.18rem;
  border: 0;
  font-size: 0.53rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.command-menu summary:hover {
  background: rgba(255, 255, 255, 0.58);
}

.command-menu[open] summary {
  box-shadow: inset 0 -1px 0 var(--section-accent, var(--accent));
}

.command-menu__panel {
  top: calc(100% + 0.08rem);
  min-width: 15.5rem;
  max-height: min(76vh, 30rem);
  gap: 0.22rem;
  padding: 0.26rem;
  border-radius: 1px;
}

.command-menu__panel button {
  min-height: 1.24rem;
  padding: 0.14rem 0.34rem;
  border-radius: 1px;
  font-size: 0.58rem;
}

.workspace-tabs--sidebar .workspace-tab {
  min-height: 1.4rem;
  padding: 0.12rem 0.22rem;
  font-size: 0.57rem;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
}

.clinic-workspace-shell {
  padding: 0.42rem 0.5rem;
}

.clinic-workspace__snapshot {
  display: grid;
  grid-template-columns: minmax(15rem, 1.25fr) minmax(0, 2fr);
  gap: 0.46rem;
  padding: 0.36rem 0.42rem;
  border: 1px solid color-mix(in srgb, var(--page-accent) 20%, white);
  border-radius: 2px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(247, 250, 253, 0.98)),
    linear-gradient(135deg, var(--page-soft), transparent 35%);
}

.clinic-workspace__snapshot-main h4 {
  margin: 0.08rem 0 0.12rem;
  font-size: 0.86rem;
  letter-spacing: -0.02em;
}

.clinic-workspace__snapshot-main .summary-text {
  margin: 0;
  font-size: 0.64rem;
  line-height: 1.24;
}

.clinic-workspace__snapshot-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.22rem;
}

.clinic-snapshot-card {
  display: grid;
  gap: 0.06rem;
  padding: 0.26rem 0.3rem;
  border: 1px solid rgba(24, 43, 68, 0.08);
  border-top: 2px solid var(--page-accent);
  border-radius: 1px;
  background: rgba(255, 255, 255, 0.92);
}

.clinic-snapshot-card--warning {
  border-top-color: #b46b22;
}

.clinic-snapshot-card--critical {
  border-top-color: #9d3a4e;
}

.clinic-snapshot-card--stable {
  border-top-color: #176f5c;
}

.clinic-snapshot-card__label {
  font-size: 0.54rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.clinic-snapshot-card__value {
  font-size: 0.82rem;
  line-height: 1.05;
}

.clinic-snapshot-card__detail {
  font-size: 0.58rem;
  color: var(--muted);
}

.operator-subtabs {
  gap: 0.08rem;
}

.operator-subtab {
  min-height: 1.22rem;
  padding: 0.08rem 0.24rem;
  font-size: 0.56rem;
}

.operator-subtab__count {
  min-width: 0.96rem;
  min-height: 0.86rem;
  border-radius: 2px;
}

.operator-filterbar {
  padding: 0.22rem;
}

.operator-filterbar label {
  font-size: 0.56rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.action-button,
.ghost-button {
  min-height: 1.34rem;
  padding: 0.12rem 0.34rem;
  font-size: 0.58rem;
}

.ghost-button {
  background: linear-gradient(180deg, #fbfdff, #eef3f8);
}

@media (max-width: 1100px) {
  .clinic-workspace__snapshot {
    grid-template-columns: 1fr;
  }

  .clinic-workspace__snapshot-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .clinic-workspace__snapshot-metrics {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  * {
    transition: none !important;
    animation: none !important;
  }
}

/* Final enterprise shell overrides */
.topbar {
  padding: 0.14rem 0.2rem 0.16rem;
  border-radius: 0 0 2px 2px;
}

.topbar__menus {
  border-radius: 0;
  border-left: 1px solid rgba(22, 45, 73, 0.14);
  border-right: 1px solid rgba(22, 45, 73, 0.14);
}

.topbar__menus .command-menu {
  position: relative;
  border-right: 1px solid rgba(22, 45, 73, 0.12);
}

.topbar__menus .command-menu:last-child {
  border-right: 0;
}

.topbar__menus .command-menu summary {
  width: 100%;
  border-radius: 0;
  background: transparent;
  justify-content: space-between;
}

.topbar__menus .command-menu summary::after {
  content: "▾";
  font-size: 0.46rem;
}

.topbar__menus .command-menu[open] summary {
  background: rgba(255, 255, 255, 0.9);
}

.topbar__menus .command-menu__panel {
  border-radius: 0;
  border-top: 0;
  box-shadow: 0 16px 28px rgba(17, 32, 52, 0.14);
}

.sidebar {
  border-radius: 0 3px 3px 0;
}

.sidebar__group {
  padding-top: 0.12rem;
}

.sidebar__group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 1.08rem;
  padding: 0.02rem 0.62rem 0.02rem 0;
  font-size: 0.54rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sidebar__group summary::after {
  font-size: 0.52rem;
}

.sidebar__group-links {
  gap: 0.06rem;
}

.module-link {
  min-height: 1.18rem;
  padding: 0.1rem 0.16rem;
  border: 1px solid rgba(24, 43, 68, 0.08);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.76);
}

.module-link:hover {
  border-color: rgba(24, 43, 68, 0.16);
  background: rgba(244, 248, 252, 0.95);
}

.module-link.is-active {
  border-color: color-mix(in srgb, var(--section-accent, var(--accent)) 36%, white);
  background: color-mix(in srgb, var(--section-soft) 58%, white);
}

.workspace-tabs--sidebar {
  gap: 0.16rem;
}

.workspace-tabs--sidebar .workspace-tab {
  border: 1px solid rgba(24, 43, 68, 0.08);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.84);
}

.workspace-tabs--sidebar .workspace-tab.is-active {
  border-color: var(--section-accent, var(--accent));
  background: color-mix(in srgb, var(--section-soft) 60%, white);
}

.clinic-workspace__snapshot,
.clinic-snapshot-card,
.operator-subtab,
.operator-filterbar,
.action-button,
.ghost-button {
  border-radius: 0;
}

.operator-subtabs {
  gap: 0.05rem;
  padding-bottom: 0.06rem;
}

.operator-subtab {
  min-height: 1.16rem;
  padding: 0.06rem 0.22rem;
  border: 1px solid rgba(24, 43, 68, 0.08);
}

.operator-subtab.is-active {
  border-color: var(--section-accent, var(--accent));
}

.clinic-workspace__snapshot {
  padding: 0.3rem 0.34rem;
}

.clinic-workspace__snapshot-metrics {
  gap: 0.18rem;
}

.clinic-snapshot-card {
  border-top-width: 1px;
}

.operator-summary-group {
  display: grid;
  gap: 0.3rem;
  padding: 0.4rem 0.4rem 0.5rem;
  border: 1px solid rgba(24, 43, 68, 0.08);
  background: rgba(255, 255, 255, 0.92);
}

.operator-summary-group__header h3 {
  margin: 0;
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

.operator-summary-group__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.24rem;
}

.operator-summary-card {
  display: grid;
  gap: 0.16rem;
  padding: 0.28rem 0.34rem;
  border: 1px solid rgba(24, 43, 68, 0.08);
  border-radius: 0;
  background: rgba(250, 252, 255, 0.9);
}

.operator-summary-card__label {
  margin: 0;
  font-size: 0.56rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.operator-summary-notes {
  margin-top: 0.4rem;
  padding: 0.3rem 0.4rem;
  border: 1px solid rgba(24, 43, 68, 0.08);
  background: rgba(244, 248, 252, 0.88);
}

.operator-summary-notes h4 {
  margin: 0 0 0.2rem;
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.operator-summary-notes ul {
  margin: 0;
  padding-left: 1rem;
  font-size: 0.62rem;
  line-height: 1.35;
  color: var(--ink);
}

@media (max-width: 1100px) {
  .topbar__menus {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .topbar__menus {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sidebar__group-links {
    grid-template-columns: 1fr;
  }
}

/* EHR shell cleanup */
.sidebar {
  padding: 1rem 0.9rem 1rem;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(243, 247, 252, 0.98)),
    linear-gradient(180deg, rgba(12, 84, 120, 0.05), transparent 24%);
}

.sidebar__brand {
  padding: 0.1rem 0.15rem 0.8rem;
}

.sidebar__brand h1 {
  font-size: 1.08rem;
  line-height: 1.15;
}

.sidebar__brand p:last-child,
.sidebar__footnote p {
  font-size: 0.76rem;
  line-height: 1.45;
}

.sidebar__group {
  padding-top: 0.5rem;
}

.sidebar__group summary {
  min-height: 1.6rem;
  padding: 0.12rem 0.15rem;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}

.sidebar__group-links {
  gap: 0.35rem;
}

.module-link {
  min-height: 2.55rem;
  padding: 0.72rem 0.8rem 0.72rem 1rem;
  border: 1px solid rgba(26, 52, 83, 0.1);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 6px 18px rgba(20, 44, 74, 0.05);
  font-size: 0.86rem;
  font-weight: 700;
  color: #18324b;
}

.module-link::before {
  width: 0.28rem;
  border-radius: 999px;
  left: 0.4rem;
  top: 0.5rem;
  bottom: 0.5rem;
}

.module-link:hover {
  transform: translateY(-1px);
  border-color: rgba(22, 91, 138, 0.2);
  background: rgba(255, 255, 255, 0.98);
}

.module-link.is-active {
  border-color: rgba(22, 91, 138, 0.28);
  background: linear-gradient(180deg, rgba(240, 248, 252, 1), rgba(231, 241, 248, 1));
  box-shadow: 0 10px 24px rgba(20, 44, 74, 0.08);
}

.topbar {
  padding: 0.9rem 1rem;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 249, 253, 0.98));
}

.topbar h2 {
  font-size: 1.45rem;
}

.topbar__subtitle {
  font-size: 0.9rem;
  line-height: 1.55;
}

.topbar__menus {
  gap: 0.55rem;
  padding: 0;
  background: transparent;
  border: 0;
}

.topbar__menus .command-menu {
  border: 0;
}

.command-menu summary,
.topbar__menus .command-menu summary {
  min-height: 2.4rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid rgba(26, 52, 83, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: none;
}

.command-menu summary:hover,
.topbar__menus .command-menu summary:hover,
.topbar__menus .command-menu[open] summary {
  background: rgba(247, 251, 255, 1);
  border-color: rgba(22, 91, 138, 0.22);
}

.topbar__menus .command-menu summary::after {
  content: "▾";
  font-size: 0.7rem;
}

.command-menu__panel,
.topbar__menus .command-menu__panel {
  top: calc(100% + 0.35rem);
  padding: 0.7rem;
  border: 1px solid rgba(26, 52, 83, 0.1);
  border-radius: 18px;
  box-shadow: 0 18px 34px rgba(20, 44, 74, 0.12);
}

.command-menu__label {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}

.command-menu__panel button {
  min-height: 2.3rem;
  padding: 0.6rem 0.75rem;
  border-radius: 12px;
  font-size: 0.8rem;
}

.topbar__actions {
  gap: 0.55rem;
}

.topbar__role-picker {
  font-size: 0.72rem;
}

.topbar__role-picker select {
  min-height: 2.35rem;
  padding: 0.4rem 2rem 0.4rem 0.75rem;
  border-radius: 12px;
}

.topbar__status,
.status-pill,
.priority-pill {
  border-radius: 999px;
  padding: 0.38rem 0.72rem;
  font-size: 0.72rem;
}

.action-button,
.ghost-button {
  min-height: 2.35rem;
  padding: 0.55rem 0.9rem;
  border-radius: 12px;
  font-size: 0.8rem;
  font-weight: 700;
}

.action-button {
  background: linear-gradient(180deg, #14659c, #0f547f);
  box-shadow: 0 10px 22px rgba(15, 84, 127, 0.2);
}

.ghost-button {
  border-color: rgba(26, 52, 83, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(240, 246, 251, 0.96));
  color: #17324d;
}

.workspace-shell-strip {
  padding: 1.15rem 1.2rem;
  border-radius: 20px;
}

.workspace-shell-strip__header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.workspace-shell-strip__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
}

.workflow-summary-card--ehr {
  padding: 1rem 1.05rem;
  border: 1px solid rgba(26, 52, 83, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 252, 0.98));
}

.workflow-summary-card__header {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  align-items: flex-start;
}

.ehr-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 0.9rem;
}

.ehr-detail-card {
  padding: 0.95rem 1rem;
  border: 1px solid rgba(26, 52, 83, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
}

.ehr-detail-card h4 {
  margin: 0.1rem 0 0.45rem;
}

.ehr-inline-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.6rem;
}

.help-center-panel {
  margin-top: 1rem;
  border-radius: 22px;
}

.help-center-panel__actions,
.help-center-panel__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}

.help-center-panel__toolbar {
  margin-top: 1rem;
}

.help-center-panel__search {
  flex: 1 1 22rem;
}

.help-center-panel__search input {
  width: 100%;
  margin-top: 0.35rem;
}

.help-center-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.help-card {
  padding: 1rem;
  border: 1px solid rgba(26, 52, 83, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.84);
}

.help-library-card,
.help-video-card {
  padding: 0.95rem 1rem;
  border: 1px solid rgba(26, 52, 83, 0.08);
  border-radius: 16px;
  background: rgba(248, 251, 255, 0.95);
}

.help-library-card + .help-library-card,
.help-video-card + .help-video-card {
  margin-top: 0.7rem;
}

.help-library-card__header {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  align-items: flex-start;
}

.help-library-card__steps,
.help-library-card__videos {
  margin: 0.75rem 0 0;
  padding-left: 1.1rem;
}

.help-library-card__steps li,
.help-library-card__videos li {
  margin-top: 0.35rem;
}

.help-library__line {
  display: block;
  margin-top: 0.2rem;
  color: var(--muted);
}

.help-video-card {
  display: flex;
  gap: 0.8rem;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 1100px) {
  .help-center-grid,
  .ehr-detail-grid {
    grid-template-columns: 1fr;
  }

  .chart-detail__visual {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .workspace-shell-strip__header {
    grid-template-columns: 1fr;
  }

  .workspace-shell-strip__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .sidebar,
  .topbar,
  .help-center-panel,
  .workspace-shell-strip {
    border-radius: 18px;
  }

  .module-link,
  .command-menu summary,
  .topbar__menus .command-menu summary {
    min-height: 2.2rem;
  }

  .help-video-card,
  .help-library-card__header {
    flex-direction: column;
    align-items: stretch;
  }

  .chart-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .chart-donut {
    width: 9rem;
    height: 9rem;
  }
}

.session-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  background: rgba(10, 23, 38, 0.52);
  backdrop-filter: blur(10px);
}

.session-modal.hidden {
  display: none;
}

body.session-signed-out .app-frame {
  display: none;
}

.session-modal__card {
  width: min(32rem, 100%);
  display: grid;
  gap: 0.95rem;
  padding: 1.35rem;
  border: 1px solid rgba(26, 52, 83, 0.1);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 248, 252, 0.98));
  box-shadow: 0 28px 56px rgba(13, 31, 52, 0.22);
}

.session-modal__card label {
  display: grid;
  gap: 0.35rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.session-modal__card input,
.session-modal__card select {
  min-height: 2.7rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(26, 52, 83, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.96);
}

.session-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.draft-box--success {
  border-color: rgba(28, 118, 73, 0.28);
  background: rgba(230, 246, 237, 0.96);
  color: #16553a;
}

.draft-box--warning {
  border-color: rgba(164, 71, 41, 0.28);
  background: rgba(252, 241, 235, 0.98);
  color: #7c3f1f;
}

.operator-practice-list {
  display: grid;
  gap: 1rem;
}

.operator-practice-card {
  display: grid;
  gap: 0.95rem;
  padding: 1.1rem 1.15rem;
  border: 1px solid rgba(26, 52, 83, 0.1);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 252, 0.98));
  box-shadow: 0 16px 30px rgba(19, 42, 68, 0.09);
}

.operator-practice-card__header,
.operator-practice-card__footer {
  display: flex;
  gap: 0.9rem;
  justify-content: space-between;
  align-items: flex-start;
}

.operator-practice-card__badges,
.operator-practice-card .item__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.operator-practice-card__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.operator-practice-metric {
  display: grid;
  gap: 0.18rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(26, 52, 83, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
}

.operator-practice-metric p,
.operator-practice-metric span {
  margin: 0;
}

.operator-practice-metric p {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.operator-practice-metric strong {
  font-size: 1.2rem;
  line-height: 1.2;
  color: #14324d;
}

.operator-practice-metric span {
  font-size: 0.78rem;
  color: var(--muted);
}

.operator-practice-metric--critical {
  border-color: rgba(170, 69, 48, 0.22);
  background: linear-gradient(180deg, rgba(255, 242, 239, 0.98), rgba(255, 248, 246, 0.98));
}

.operator-practice-metric--critical strong {
  color: #a84731;
}

.operator-practice-metric--warning {
  border-color: rgba(182, 122, 29, 0.22);
  background: linear-gradient(180deg, rgba(255, 249, 236, 0.98), rgba(255, 252, 245, 0.98));
}

.operator-practice-metric--warning strong {
  color: #8b5d18;
}

.operator-practice-metric--stable {
  border-color: rgba(28, 118, 73, 0.18);
  background: linear-gradient(180deg, rgba(236, 249, 242, 0.98), rgba(246, 252, 248, 0.98));
}

.operator-practice-metric--stable strong {
  color: #1d6b43;
}

.operator-practice-card__panels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.operator-practice-panel {
  display: grid;
  gap: 0.5rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(26, 52, 83, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
}

.operator-practice-panel h4 {
  margin: 0;
  color: #18324b;
}

.operator-practice-panel__list {
  margin: 0;
  padding-left: 1rem;
  color: #37506a;
  font-size: 0.8rem;
  line-height: 1.45;
}

.operator-practice-panel--critical {
  border-color: rgba(170, 69, 48, 0.18);
}

.operator-practice-panel--warning {
  border-color: rgba(182, 122, 29, 0.18);
}

.operator-practice-panel--stable {
  border-color: rgba(28, 118, 73, 0.18);
}

.operator-practice-card__list {
  margin: 0;
  padding-left: 1rem;
  color: #37506a;
  font-size: 0.82rem;
  line-height: 1.45;
}

.operator-portfolio-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.8rem;
  margin-top: 1rem;
}

.operator-portfolio-strip__item {
  display: grid;
  gap: 0.28rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(26, 52, 83, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
}

.operator-portfolio-strip__item h4,
.operator-portfolio-strip__item p,
.operator-portfolio-strip__item strong {
  margin: 0;
}

.topbar__menus .command-menu summary::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  margin-left: 0.45rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-0.08rem);
}

.topbar__menus .command-menu[open] summary::after {
  transform: rotate(225deg) translateY(-0.02rem);
}

@media (max-width: 1100px) {
  .operator-practice-card__metrics,
  .operator-practice-card__panels {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .session-modal__card,
  .operator-practice-card {
    border-radius: 18px;
  }

  .operator-practice-card__header,
  .operator-practice-card__footer {
    flex-direction: column;
  }

  .operator-practice-card__badges,
  .operator-practice-card .item__actions {
    justify-content: flex-start;
  }
}

/* Dense clinical shell overhaul */

:root {
  --bg: #e7edf4;
  --bg-strong: #dbe5ef;
  --surface: rgba(255, 255, 255, 0.97);
  --surface-strong: #ffffff;
  --surface-muted: #f3f6fa;
  --border: #c8d3df;
  --border-strong: #b2c0d0;
  --text: #173046;
  --muted: #4d6178; /* Phase 49: aligned with canonical --muted at AA-compliant tone */
  --accent: #245f94;
  --accent-strong: #173e62;
  --accent-soft: rgba(36, 95, 148, 0.1);
  --shadow: 0 1px 2px rgba(15, 32, 44, 0.05), 0 6px 16px rgba(15, 32, 44, 0.09);
  --shadow-hover: 0 10px 26px rgba(15, 32, 44, 0.14), 0 2px 6px rgba(15, 32, 44, 0.08);
  /* PHASE 48: --radius-xl raised from 12px to 14px to match unified scale */
  --radius-xl: 14px;
  --radius-lg: 10px;
  --radius-md: 8px;
  --radius-sm: 6px;
  --topbar-height: 8.4rem;
  --sticky-offset: 10rem;
}

.app-frame {
  grid-template-columns: 15.5rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.6rem;
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.32), transparent 11rem),
    linear-gradient(180deg, var(--bg), #edf2f7);
}

.sidebar,
.topbar,
.workspace-header,
.control-bar,
.panel,
.metric-card {
  border-color: var(--border);
  box-shadow: var(--shadow);
}

.sidebar {
  position: sticky;
  top: 0.6rem;
  height: calc(100vh - 1.2rem);
  padding: 0.7rem 0.65rem;
  border-radius: 10px;
  grid-template-rows: auto 1fr auto;
  gap: 0.75rem;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(246, 249, 252, 0.98)),
    linear-gradient(180deg, rgba(23, 62, 98, 0.06), transparent 24%);
}

.sidebar__brand {
  padding: 0 0 0.55rem;
  border-bottom: 1px solid rgba(23, 48, 70, 0.1);
}

.sidebar__brand-logo {
  max-width: 7rem;
}

.sidebar__eyebrow,
.eyebrow,
.panel__eyebrow {
  font-size: 0.66rem;
  letter-spacing: 0.12em;
}

.sidebar__brand h1 {
  margin: 0.18rem 0 0.24rem;
  font-size: 1.2rem;
  line-height: 1.12;
}

.sidebar__brand p:last-child,
.sidebar__footnote p {
  font-size: 0.72rem;
  line-height: 1.35;
}

.sidebar__nav {
  gap: 0.72rem;
  align-content: start;
  min-height: 0;
  overflow: hidden;
}

.sidebar__nav-block {
  display: grid;
  gap: 0.28rem;
}

.sidebar__nav-title {
  margin: 0;
  color: var(--muted);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.sidebar__group-links--dense {
  gap: 0.12rem;
}

.sidebar__more-tools {
  border-top: 1px solid rgba(23, 48, 70, 0.1);
  padding-top: 0.55rem;
}

.sidebar__more-tools summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding-right: 1rem;
}

.sidebar__more-tools summary::-webkit-details-marker {
  display: none;
}

.sidebar__more-tools summary::after {
  content: "";
  position: absolute;
  right: 0.08rem;
  top: 50%;
  width: 0.42rem;
  height: 0.42rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-62%) rotate(45deg);
}

.sidebar__more-tools[open] summary::after {
  transform: translateY(-12%) rotate(225deg);
}

.sidebar__more-tools .sidebar__group-links {
  margin-top: 0.35rem;
}

.module-link {
  min-height: 1.95rem;
  padding: 0.3rem 0.5rem 0.3rem 0.62rem;
  border: 1px solid transparent;
  border-left: 4px solid transparent;
  border-radius: 6px;
  background: transparent;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text);
}

.module-link::before {
  width: 0.18rem;
  height: 0.88rem;
  border-radius: 1px;
  opacity: 0.82;
}

.module-link:hover {
  border-color: rgba(23, 48, 70, 0.12);
  background: #f8fbfe;
}

.module-link.is-active {
  border-color: rgba(36, 95, 148, 0.18);
  background: linear-gradient(180deg, rgba(240, 246, 252, 0.98), rgba(233, 241, 249, 0.92));
  color: var(--accent-strong);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.sidebar__footnote {
  border-top: 1px solid rgba(23, 48, 70, 0.1);
  padding-top: 0.5rem;
}

.main-shell {
  gap: 0.55rem;
}

.topbar {
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas:
    "context security actions"
    "menus menus menus";
  gap: 0 0.6rem;
  align-items: center;
  padding: 0.32rem 0.75rem 0;
  border-radius: 2px 2px 0 0;
  border-bottom: 1px solid var(--border);
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(18,36,59,0.06);
  backdrop-filter: none;
}

.topbar__context {
  grid-area: context;
  min-width: 0;
  display: grid;
  gap: 0.48rem;
}

.topbar__title {
  min-width: 0;
}

.topbar h2 {
  margin: 0.02rem 0 0;
  font-size: 0.95rem;
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 700;
}

.topbar__subtitle {
  display: none;
}

.topbar__context-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.workspace-context-pill {
  min-height: 1.58rem;
  padding: 0.18rem 0.5rem;
  border-radius: 6px;
  border-color: rgba(23, 48, 70, 0.1);
  background: rgba(255, 255, 255, 0.9);
  color: var(--muted);
  font-size: 0.68rem;
}

.topbar__security {
  grid-area: security;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: flex-start;
  justify-content: flex-end;
}

.topbar__quick-actions {
  grid-area: actions;
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
  justify-content: flex-end;
}

.topbar__role-picker {
  gap: 0.22rem;
  min-width: 8.6rem;
  font-size: 0.64rem;
  letter-spacing: 0.06em;
}

.topbar__role-picker select,
.control-bar select,
.control-bar input,
.operator-filterbar input,
.operator-filterbar select,
.help-center-panel__search input,
.coding-form input,
.coding-form select,
.operator-console-form input,
.operator-console-form select,
.operator-console-form textarea,
.action-form input,
.action-form select,
.action-form textarea {
  min-height: 2rem;
  padding: 0.28rem 0.7rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  font-size: 0.78rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.topbar__status,
.hero-chip,
.hero__stats span,
.status-pill,
.priority-pill,
.operator-meta-pill,
.operator-badge {
  min-height: 1.7rem;
  padding: 0.16rem 0.48rem;
  border-radius: 6px;
  font-size: 0.72rem;
}

.topbar__status {
  background: #edf3f9;
  color: var(--accent-strong);
}

.ghost-button,
.action-button,
.command-menu__panel button,
.workspace-shell-strip__actions .ghost-button,
.workspace-shell-strip__actions .action-button {
  min-height: 2rem;
  padding: 0.38rem 0.72rem;
  border-radius: 6px;
  font-size: 0.77rem;
  font-weight: 700;
}

.ghost-button {
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #ffffff, #f5f8fb);
  color: var(--accent-strong);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.ghost-button:hover,
.ghost-button:focus-visible {
  border-color: var(--border-strong);
  background: linear-gradient(180deg, #ffffff, #edf3f8);
}

.action-button {
  border: 1px solid #1f5687;
  background: linear-gradient(180deg, #2a6ca8, #215988);
  color: #fff;
}

.topbar__menus {
  grid-area: menus;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.command-menu {
  min-width: 0;
  border-right: 0;
}

.command-menu summary {
  min-height: 1.9rem;
  padding: 0.34rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 246, 251, 0.96));
  font-size: 0.72rem;
  line-height: 1.1;
  letter-spacing: 0.1em;
  color: var(--accent-strong);
}

.command-menu summary:hover {
  background: linear-gradient(180deg, #ffffff, #edf3f8);
}

.command-menu summary::after,
.topbar__menus .command-menu summary::after {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  margin-left: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-0.08rem);
}

.command-menu[open] summary {
  background: #fff;
  box-shadow: inset 0 -2px 0 rgba(36, 95, 148, 0.26);
}

.command-menu[open] summary::after,
.topbar__menus .command-menu[open] summary::after {
  transform: rotate(225deg) translateY(-0.02rem);
}

.command-menu__panel {
  top: calc(100% + 0.18rem);
  min-width: 17rem;
  max-width: 22rem;
  padding: 0.45rem;
  border-radius: 8px;
  border-color: var(--border);
  box-shadow: 0 18px 36px rgba(17, 36, 55, 0.16);
}

.command-menu__label {
  padding: 0 0.45rem;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
}

.command-menu__panel button {
  min-height: 1.9rem;
  padding: 0.32rem 0.5rem;
  font-size: 0.74rem;
}

.workspace-shell-strip {
  padding: 0.7rem 0.85rem;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 248, 252, 0.97));
}

.workspace-shell-strip__header {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto;
  grid-template-areas:
    "summary actions"
    "pills pills";
  gap: 0.45rem 0.8rem;
  align-items: start;
}

.workspace-shell-strip__header > div:first-child {
  grid-area: summary;
}

.workspace-shell-strip__actions {
  grid-area: actions;
}

.workspace-shell-strip__pills {
  grid-area: pills;
}

.workspace-shell-strip h3 {
  margin: 0.12rem 0 0;
  font-size: 1.08rem;
}

.workspace-header,
.control-bar,
.metric-card {
  border-radius: 10px;
}

.workspace-header {
  padding: 0.95rem 1rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(244, 248, 252, 0.98)),
    linear-gradient(135deg, rgba(36, 95, 148, 0.08), transparent 45%);
}

.workspace-header h2 {
  margin: 0.16rem 0 0;
  font-size: 1.52rem;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.workspace-header__lede,
.summary-text {
  font-size: 0.8rem;
  line-height: 1.38;
}

.hero-chip {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(23, 48, 70, 0.09);
  color: var(--accent-strong);
}

.workspace-header__panel {
  border-left: 1px solid rgba(23, 48, 70, 0.08);
  padding-left: 0.95rem;
}

.hero__stats {
  gap: 0.35rem;
}

.control-bar {
  padding: 0.6rem 0.75rem;
  background: linear-gradient(180deg, rgba(247, 250, 253, 0.98), rgba(240, 245, 250, 0.97));
}

.control-bar__group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.control-bar label {
  gap: 0.16rem;
  min-width: 9rem;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.dashboard {
  gap: 0.55rem;
}

.command-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.command-home-panel {
  min-width: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.995), rgba(246, 249, 252, 0.985));
}

.command-home-panel--summary {
  grid-row: span 2;
}

.command-home-summary {
  display: grid;
  gap: 0.55rem;
}

.command-home-summary__headline {
  display: grid;
  gap: 0.16rem;
  padding: 0.1rem 0.02rem 0.18rem;
  border-bottom: 1px solid rgba(23, 48, 70, 0.08);
}

.command-home-summary__headline h3 {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.12;
}

.command-home-summary__headline p {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
}

.command-home-summary__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.command-home-summary__metric {
  display: grid;
  gap: 0.1rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(23, 48, 70, 0.08);
  border-left: 3px solid var(--page-accent);
  border-radius: 2px;
  background: #fff;
}

.command-home-summary__metric-label {
  color: var(--muted);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.command-home-summary__metric-value {
  font-size: 1.18rem;
  line-height: 1.05;
}

.command-home-summary__metric-detail {
  color: var(--muted);
  font-size: 0.72rem;
}

.command-home-panel .stack,
.command-home-panel .item {
  gap: 0.35rem;
}

.metrics-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.metric-card {
  min-height: 8.2rem;
  padding: 0.82rem 0.92rem;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff, #f5f8fb);
}

.metric-card::before {
  border-radius: 10px 10px 0 0;
}

.metric-card h3 {
  font-size: 1.22rem;
}

.metric-card p {
  font-size: 0.8rem;
}

.charts-grid,
.content-grid {
  gap: 0.55rem;
}

.charts-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.content-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr);
}

.panel {
  border-radius: 10px;
}

.panel__header {
  padding: 0.82rem 0.92rem 0.55rem;
}

.panel__header h2,
.panel__header h3 {
  margin: 0.12rem 0 0;
  font-size: 1rem;
  line-height: 1.12;
}

.chart-shell,
.workflow-summary,
.draft-box,
.stack,
.briefing-grid,
.module-two-up,
.coding-grid {
  padding-inline: 0.92rem;
}

.item {
  padding: 0.62rem 0.75rem;
  border: 1px solid rgba(23, 48, 70, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
}

.item h3 {
  font-size: 0.9rem;
}

.item__meta {
  font-size: 0.72rem;
  line-height: 1.34;
}

.item__actions {
  margin-top: 0.5rem;
}

.page-hidden {
  display: none !important;
}

body[data-current-page="dashboard"] .workspace-shell-strip,
body[data-current-page="dashboard"] .help-center-panel {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(246, 249, 252, 0.98));
}

@media (max-width: 1380px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "context context"
      "security actions"
      "menus menus";
  }

  .command-home-grid,
  .charts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .command-home-panel--summary {
    grid-row: auto;
    grid-column: 1 / -1;
  }

  .content-grid {
    grid-template-columns: 1fr;
  }
}

/* ─── Workspace Switcher (Sidebar) ──────────────────────────────────────── */

.sidebar__workspace-switcher {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.1rem;
  padding: 0.18rem;
  margin: 0.06rem 0 0.2rem;
  border: 1px solid rgba(24, 43, 68, 0.12);
  border-radius: 2px;
  background: rgba(236, 241, 247, 0.8);
}

.ws-switch-btn {
  padding: 0.24rem 0.08rem;
  border: 1px solid transparent;
  border-radius: 1px;
  background: transparent;
  font-size: 0.55rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
  cursor: pointer;
  text-align: center;
  line-height: 1;
  transition: background 100ms, color 100ms;
}

.ws-switch-btn:hover {
  background: rgba(255, 255, 255, 0.75);
  color: var(--text);
}

.ws-switch-btn.is-active {
  background: var(--ws-color, var(--accent));
  color: #fff;
  border-color: rgba(0, 0, 0, 0.08);
}

.ws-switch-btn--clinical  { --ws-color: #0d7f95; }
.ws-switch-btn--revenue   { --ws-color: #1d5f95; }
.ws-switch-btn--cred      { --ws-color: #0f6b78; }

/* ─── Workspace Tab Bar ──────────────────────────────────────────────────── */

.workspace-tab-bar {
  display: flex;
  align-items: stretch;
  gap: 0;
  flex-shrink: 0;
}

.ws-tab {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.88rem;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  cursor: pointer;
  white-space: nowrap;
  transition: color 100ms, border-color 100ms;
  border-radius: 0;
}

.ws-tab:hover {
  color: var(--text);
  background: rgba(0, 0, 0, 0.02);
}

.ws-tab.is-active {
  color: var(--ws-tab-accent, var(--accent-strong));
  border-bottom-color: var(--ws-tab-accent, var(--accent));
}

.workspace-tab-bar--revenue .ws-tab {
  --ws-tab-accent: var(--accent);
}

.workspace-tab-bar--credentialing .ws-tab {
  --ws-tab-accent: #0f6b78;
}

/* ─── Revenue Workspace Window ───────────────────────────────────────────── */

.revenue-workspace-window {
  display: none;
  border: 1px solid var(--border);
  border-bottom: none;
  border-radius: 2px 2px 0 0;
  background: linear-gradient(180deg, #ffffff, #f6f9fc);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(18, 36, 59, 0.08);
}

body[data-current-page="claims"]   .revenue-workspace-window,
body[data-current-page="denials"]  .revenue-workspace-window,
body[data-current-page="reporting"] .revenue-workspace-window,
body[data-current-page="staff-ops"] .revenue-workspace-window {
  display: block;
}

.revenue-workspace-window__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.6rem 1rem 0;
  border-bottom: 1px solid var(--border);
}

.revenue-workspace-window__brand {
  padding-bottom: 0.38rem;
}

.revenue-workspace-window__brand h2 {
  margin: 0.06rem 0 0;
  font-size: 1rem;
  letter-spacing: -0.025em;
}

.revenue-workspace-window__kpi {
  display: flex;
  gap: 0;
  padding: 0.46rem 1rem;
  border-bottom: 1px solid rgba(23, 48, 70, 0.06);
  background: rgba(246, 249, 252, 0.8);
  overflow-x: auto;
}

.rev-kpi-cell {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.1rem 1.1rem 0.1rem 0;
  border-right: 1px solid rgba(23, 48, 70, 0.08);
  min-width: 7rem;
}

.rev-kpi-cell:first-child { padding-left: 0; }
.rev-kpi-cell:last-child  { border-right: none; }

.rev-kpi-cell__label {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.rev-kpi-cell__value {
  font-size: 1.06rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.rev-kpi-cell__value--danger  { color: var(--danger); }
.rev-kpi-cell__value--warning { color: var(--warning); }
.rev-kpi-cell__value--success { color: var(--success); }

.rev-kpi-cell__sub {
  font-size: 0.64rem;
  color: var(--muted);
}

/* ─── Credentialing Workspace Window ─────────────────────────────────────── */

.credentialing-workspace-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 0.7rem;
}

.credentialing-workspace-header h2 {
  margin: 0.06rem 0 0;
  font-size: 1rem;
  letter-spacing: -0.025em;
}

.cred-tab-content {
  display: none;
}

.cred-tab-content.is-active {
  display: block;
}

/* Credentialing roster split pane */
.cred-roster-split {
  display: grid;
  grid-template-columns: minmax(18rem, 28%) minmax(0, 1fr);
  gap: 0.6rem;
  min-height: 42vh;
  align-items: start;
}

.cred-roster-pane {
  border-right: 1px solid var(--border);
  padding-right: 0.6rem;
}

.cred-roster-pane h3 {
  margin: 0 0 0.4rem;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.cred-detail-pane h3 {
  margin: 0 0 0.4rem;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

/* Credentialing enrollment grid (two-column inside a tab) */
.cred-enrollment-grid,
.cred-expirables-grid,
.cred-docs-grid,
.cred-payer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  align-items: start;
}

/* Dense EHR table rows for credentialing/revenue lists */
.ehr-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.72rem;
}

.ehr-table thead th {
  padding: 0.22rem 0.5rem;
  text-align: left;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  border-bottom: 2px solid var(--border);
  white-space: nowrap;
  background: rgba(240, 244, 249, 0.7);
}

.ehr-table tbody tr {
  border-bottom: 1px solid rgba(23, 48, 70, 0.06);
  cursor: pointer;
  transition: background 80ms;
}

.ehr-table tbody tr:hover {
  background: color-mix(in srgb, var(--accent-soft) 35%, white);
}

.ehr-table tbody tr.is-selected {
  background: color-mix(in srgb, var(--accent-soft) 55%, white);
}

.ehr-table tbody td {
  padding: 0.3rem 0.5rem;
  vertical-align: middle;
  line-height: 1.3;
}

.ehr-table__name {
  font-weight: 700;
  font-size: 0.75rem;
}

.ehr-table__meta {
  font-size: 0.64rem;
  color: var(--muted);
}

/* Dense item rows for module queues */
.ehr-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.2rem 0.5rem;
  align-items: start;
  padding: 0.36rem 0.5rem;
  border-bottom: 1px solid rgba(23, 48, 70, 0.055);
  cursor: pointer;
  transition: background 80ms;
}

.ehr-row:hover {
  background: rgba(241, 246, 251, 0.7);
}

.ehr-row:last-child {
  border-bottom: none;
}

.ehr-row__primary {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.ehr-row__secondary {
  font-size: 0.64rem;
  color: var(--muted);
  line-height: 1.25;
}

.ehr-row__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.32rem;
  border-radius: 1px;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  margin-top: 0.1rem;
}

.ehr-row__badge--success { background: color-mix(in srgb, var(--success) 12%, white); color: var(--success); }
.ehr-row__badge--warning { background: color-mix(in srgb, var(--warning) 14%, white); color: var(--warning); }
.ehr-row__badge--danger  { background: color-mix(in srgb, var(--danger) 13%, white);  color: var(--danger); }
.ehr-row__badge--neutral { background: rgba(23, 48, 70, 0.08); color: var(--muted); }

/* Panel section header row */
.panel-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.28rem 0.5rem;
  background: rgba(240, 244, 249, 0.75);
  border-bottom: 1px solid var(--border);
  border-top: 1px solid var(--border);
}

.panel-section-header + .panel-section-header {
  border-top: none;
}

.panel-section-header__title {
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
}

/* Dayboard (clinical home) dense layout */
.dayboard {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.5rem;
  align-items: start;
}

.dayboard__main {
  display: grid;
  gap: 0.5rem;
  grid-row: span 2;
}

.dayboard__col {
  display: grid;
  gap: 0.5rem;
}

.dayboard-card {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-strong);
  overflow: hidden;
}

.dayboard-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  padding: 0.32rem 0.6rem;
  background: rgba(239, 244, 249, 0.7);
  border-bottom: 1px solid var(--border);
}

.dayboard-card__title {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.dayboard-card__action {
  font-size: 0.6rem;
  font-weight: 700;
  color: var(--accent);
  background: transparent;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
}

.dayboard-card__action:hover { color: var(--accent-strong); }

.dayboard-card__body {
  padding: 0;
}

.dayboard-stat-row {
  display: flex;
  gap: 0;
  padding: 0.34rem 0.6rem;
  border-bottom: 1px solid rgba(23, 48, 70, 0.06);
  flex-wrap: wrap;
}

.dayboard-stat {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  padding: 0 0.8rem 0 0;
  border-right: 1px solid rgba(23, 48, 70, 0.08);
  margin-right: 0.8rem;
}

.dayboard-stat:last-child {
  border-right: none;
  margin-right: 0;
  padding-right: 0;
}

.dayboard-stat__label {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--muted);
}

.dayboard-stat__value {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.dayboard-stat__value--danger  { color: var(--danger); }
.dayboard-stat__value--warning { color: var(--warning); }
.dayboard-stat__value--success { color: var(--success); }

.dayboard-stat__sub {
  font-size: 0.6rem;
  color: var(--muted);
}

/* ─── Sidebar nav-title refinement ───────────────────────────────────────── */

.sidebar__nav-title {
  margin: 0.26rem 0 0.04rem;
  padding: 0 0.24rem;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

/* More-tools disclosure tweak */
.sidebar__more-tools > summary {
  list-style: none;
  cursor: pointer;
  padding: 0.2rem 0.24rem;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  border-top: 1px solid rgba(24, 43, 68, 0.08);
  margin-top: 0.18rem;
  padding-top: 0.3rem;
}

.sidebar__more-tools > summary::-webkit-details-marker { display: none; }

.sidebar__more-tools[open] > summary { color: var(--text); }

/* Status pill - flatten radius (less bubbly) */
.status-pill {
  border-radius: 2px;
}

.priority-pill {
  border-radius: 2px;
}

/* Workspace nav block separator */
.sidebar__nav-block + .sidebar__nav-block {
  border-top: 1px solid rgba(24, 43, 68, 0.07);
  padding-top: 0.1rem;
  margin-top: 0.08rem;
}

@media (max-width: 1180px) {
  .app-frame {
    grid-template-columns: 13.75rem minmax(0, 1fr);
  }

  .sidebar {
    padding-inline: 0.5rem;
  }

  .module-link {
    min-height: 1.8rem;
    font-size: 0.73rem;
  }

  .metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .app-frame {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
    overflow: visible;
  }

  .sidebar__footnote {
    display: none;
  }

  .topbar {
    position: static;
    grid-template-columns: 1fr;
    grid-template-areas:
      "context"
      "security"
      "actions"
      "menus";
  }

  .topbar__security,
  .topbar__quick-actions {
    justify-content: flex-start;
  }

  .command-home-grid,
  .metrics-grid,
  .charts-grid,
  .command-home-summary__metrics {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PHASE 2 EHR VISUAL OVERHAUL — Clinical shell redesign
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Hide redundant chrome layers ─────────────────────────────────────────── */
.workspace-shell-strip { display: none !important; }

/* Help center: hidden by default, only shown when explicitly opened */
.help-center-panel { display: none; }
.help-center-panel.is-open { display: block; }

/* ── App frame: flush layout, no gap padding ──────────────────────────────── */
.app-frame {
  grid-template-columns: 14.5rem minmax(0, 1fr);
  gap: 0;
  padding: 0;
  min-height: 100vh;
}

/* ── Sidebar: clinical EHR left rail ─────────────────────────────────────── */
.sidebar {
  top: 0;
  height: 100vh;
  padding: 0 0 0.5rem;
  border-radius: 0;
  border-right: 1px solid var(--border);
  border-top: none;
  border-bottom: none;
  border-left: none;
  background: #f8fafc;
  box-shadow: none;
  gap: 0;
}

/* Brand strip: logo + product name only */
.sidebar__brand {
  padding: 0.55rem 0.65rem 0.45rem;
  border-bottom: 1px solid rgba(23,48,70,0.10);
  background: #ffffff;
}

.sidebar__brand h1 {
  display: none; /* Remove the marketing headline */
}

.sidebar__brand p:last-child {
  display: none; /* Remove the description paragraph */
}

.sidebar__brand-logo {
  max-width: 5rem;
  margin-bottom: 0.18rem;
}

.sidebar__eyebrow {
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  margin-bottom: 0.12rem;
}

/* User chip in sidebar — styled via JS-injected element */
.sidebar__user-chip {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.28rem;
  padding: 0.22rem 0.38rem;
  background: var(--accent-soft);
  border: 1px solid rgba(29,95,149,0.12);
  border-radius: 2px;
}

.sidebar__user-chip__avatar {
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 0.58rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sidebar__user-chip__info {
  min-width: 0;
}

.sidebar__user-chip__name {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar__user-chip__role {
  font-size: 0.56rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* Workspace switcher: slightly taller for usability */
.sidebar__workspace-switcher {
  margin: 0.35rem 0.5rem 0;
  border-radius: 2px;
}

.ws-switch-btn {
  font-size: 0.6rem;
  padding: 0.3rem 0.08rem;
}

/* Nav */
.sidebar__nav {
  padding: 0.2rem 0.5rem;
  gap: 0;
  overflow-y: auto;
  flex: 1;
}

.sidebar__nav-block {
  padding: 0.12rem 0;
}

.sidebar__nav-title {
  padding: 0.32rem 0.1rem 0.1rem;
  font-size: 0.58rem;
  letter-spacing: 0.14em;
  color: #8a9aad;
}

/* Module links: readable size, EHR density */
.module-link {
  min-height: 1.75rem;
  padding: 0.22rem 0.4rem 0.22rem 0.5rem;
  font-size: 0.8rem;
  border-radius: 2px;
  border-left-width: 3px;
}

.module-link::before { display: none; } /* Remove decorative marker; border-left carries the accent */

.module-link.is-active {
  background: #e8f0f8;
  border-left-color: var(--section-accent, var(--accent));
  color: var(--section-accent-strong, var(--accent-strong));
  box-shadow: none;
}

/* More tools details */
.sidebar__more-tools {
  padding-top: 0.2rem;
}

.sidebar__more-tools > summary {
  padding: 0.22rem 0.4rem;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  cursor: pointer;
  list-style: none;
}

.sidebar__more-tools > summary::-webkit-details-marker { display: none; }
.sidebar__more-tools[open] > summary { color: var(--text); }

/* Footnote */
.sidebar__footnote {
  padding: 0.4rem 0.65rem;
  border-top: 1px solid rgba(23,48,70,0.08);
}

.sidebar__footnote p {
  font-size: 0.6rem;
  color: #8a9aad;
  line-height: 1.3;
}

/* ── Main shell: flush, no gap at top ─────────────────────────────────────── */
.main-shell {
  gap: 0;
  background: #f0f3f7;
}

/* ── Topbar: single compact chrome row ────────────────────────────────────── */
.topbar {
  top: 0;
  padding: 0 0.75rem;
  border-radius: 0;
  border-bottom: 1px solid #d0d9e3;
  border-left: none;
  border-right: none;
  border-top: none;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(18,36,59,0.06);
  gap: 0 0.5rem;
  min-height: 2.8rem;
  align-items: center;
}

.topbar__context {
  gap: 0.1rem;
  padding: 0.4rem 0;
}

.topbar__context-pills {
  gap: 0.3rem;
  flex-wrap: nowrap;
}

.workspace-context-pill {
  padding: 0.1rem 0.35rem;
  font-size: 0.6rem;
  font-weight: 700;
  border-radius: 2px;
  letter-spacing: 0.04em;
  background: #eaf0f7;
  color: #4a6278;
  border: 1px solid #d0d9e3;
}

.workspace-context-pill.is-active {
  background: var(--accent-soft);
  color: var(--accent-strong);
  border-color: rgba(29,95,149,0.2);
}

.topbar__eyebrow,
.topbar .eyebrow {
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  color: var(--muted);
}

.topbar h2 {
  font-size: 0.92rem;
  font-weight: 700;
  margin: 0;
}

.topbar__security {
  grid-area: security;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: nowrap;
}

.topbar__quick-actions {
  grid-area: actions;
  display: flex;
  align-items: center;
  gap: 0.28rem;
}

.topbar__status {
  font-size: 0.62rem;
  padding: 0.1rem 0.35rem;
  border-radius: 2px;
}

/* ── Top menu bar: single row of nav menus ────────────────────────────────── */
.topbar__menus {
  grid-template-columns: repeat(6, auto) 1fr;
  border-radius: 0;
  border: none;
  border-top: 1px solid #e4eaf0;
  background: #f8fafc;
  box-shadow: none;
}

.command-menu summary {
  font-size: 0.67rem;
  padding: 0.28rem 0.65rem;
  min-height: 1.6rem;
  letter-spacing: 0.04em;
}

.command-menu__panel {
  border-radius: 2px;
  box-shadow: 0 4px 12px rgba(16,33,53,0.14), 0 0 0 1px rgba(22,45,73,0.12);
}

.command-menu__panel button {
  font-size: 0.78rem;
  border-radius: 1px;
}

/* ── Panel cards: flat, clinical ─────────────────────────────────────────── */
.panel {
  border-radius: 2px;
  border: 1px solid var(--border);
  box-shadow: none;
  background: #ffffff;
}

.metric-card {
  border-radius: 2px;
  box-shadow: none;
  background: #ffffff;
}

.metric-card::before {
  border-radius: 2px 2px 0 0;
}

/* ── Workspace header on dashboard ───────────────────────────────────────── */
.workspace-header {
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
  background: #ffffff;
  box-shadow: none;
  padding: 0.6rem 0.85rem;
}

.workspace-header h2 {
  font-size: 1.1rem;
  margin: 0.06rem 0 0;
}

/* ── Control bar: compact filter strip ────────────────────────────────────── */
.control-bar {
  border-radius: 0;
  border-left: none;
  border-right: none;
  background: #f8fafc;
  box-shadow: none;
  padding: 0.3rem 0.85rem;
}

/* ── Content area padding ─────────────────────────────────────────────────── */
.dashboard {
  padding: 0.6rem 0.85rem;
  gap: 0.55rem;
  background: #f0f3f7;
}

/* ── Dayboard: tighter EHR grid ──────────────────────────────────────────── */
.dayboard {
  gap: 0.5rem;
  margin: 0;
}

.dayboard-card {
  border-radius: 2px;
  border: 1px solid var(--border);
  background: #ffffff;
  box-shadow: none;
}

.dayboard-card__header {
  padding: 0.42rem 0.65rem 0.3rem;
  border-bottom: 1px solid rgba(23,48,70,0.07);
  background: #f8fafc;
}

.dayboard-card__title {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.dayboard-card__action {
  font-size: 0.62rem;
  color: var(--accent);
  background: none;
  border: none;
  cursor: pointer;
  font-weight: 700;
  padding: 0;
}

.dayboard-card__body {
  padding: 0.3rem 0;
}

/* ── EHR rows: dense clinical list items ─────────────────────────────────── */
.ehr-row {
  padding: 0.28rem 0.65rem;
  border-bottom: 1px solid rgba(23,48,70,0.05);
  cursor: pointer;
  transition: background 80ms;
}

.ehr-row:last-child { border-bottom: none; }
.ehr-row:hover { background: #f0f5fa; }

.ehr-row__primary {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.2;
}

.ehr-row__secondary {
  font-size: 0.68rem;
  color: var(--muted);
  line-height: 1.3;
  margin-top: 0.06rem;
}

.ehr-row__badge {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.12rem 0.38rem;
  border-radius: 2px;
  align-self: center;
  white-space: nowrap;
}

.ehr-row__badge--success { background: #e6f4ee; color: #147055; }
.ehr-row__badge--danger  { background: #fce8ea; color: #aa3d4b; }
.ehr-row__badge--warning { background: #fef0e0; color: #8e5d12; }
.ehr-row__badge--neutral { background: #edf1f5; color: #5f7085; }

/* ── Status and priority pills: compact clinical chips ────────────────────── */
.status-pill,
.priority-pill {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 0.1rem 0.38rem;
  border-radius: 2px;
  text-transform: uppercase;
}

/* ── Item cards: less bubbly ─────────────────────────────────────────────── */
.item {
  border-radius: 2px;
  border: 1px solid rgba(23,48,70,0.08);
  background: #ffffff;
  box-shadow: none;
}

/* ── Ghost and action buttons ─────────────────────────────────────────────── */
.ghost-button {
  border-radius: 2px;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.22rem 0.62rem;
  border: 1px solid var(--border);
  background: #ffffff;
  color: var(--text);
  cursor: pointer;
  transition: background 100ms;
}

.ghost-button:hover { background: #f0f5fa; }

/* Phase 3 shell hardening: reduce pill styling, fix wrap bugs, and make the chrome read like a desktop EHR. */
body[data-active-workspace="clinical"] .topbar__payer-strip,
body[data-active-workspace="clinical"] .automation-health-strip {
  display: none;
}

.sidebar *,
.topbar *,
.module-link,
.command-menu summary,
.ghost-button,
.action-button,
.workspace-context-pill,
.payer-live-badge,
.auto-health-badge {
  overflow-wrap: normal;
  word-break: normal;
}

.is-workspace-hidden {
  display: none !important;
}

.app-frame {
  grid-template-columns: 15.25rem minmax(0, 1fr);
  background: linear-gradient(180deg, #f5f8fb, #eef3f8);
}

.sidebar {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  padding-bottom: 0;
  background: linear-gradient(180deg, #f9fbfd 0%, #f3f7fb 100%);
}

.sidebar__brand {
  padding: 0.72rem 0.72rem 0.5rem;
}

.sidebar__brand-logo {
  max-width: 5.45rem;
}

.sidebar__eyebrow {
  font-size: 0.6rem;
  letter-spacing: 0.16em;
  color: #5f7085;
}

.sidebar__user-chip {
  margin-top: 0.4rem;
  padding: 0.35rem 0.44rem;
  border-radius: 3px;
  background: #edf3f9;
  border-color: #d4dfeb;
}

.sidebar__workspace-switcher {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.22rem;
  margin: 0.5rem 0.6rem 0.3rem;
  padding: 0.22rem;
  border: 1px solid #d6e0ea;
  border-radius: 3px;
  background: #ffffff;
}

.ws-switch-btn {
  min-height: 2rem;
  padding: 0.3rem 0.35rem;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: #50657b;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ws-switch-btn:hover {
  background: #f2f6fa;
}

.ws-switch-btn.is-active {
  background: #e6eef7;
  border-color: rgba(29, 95, 149, 0.18);
  color: #173b61;
  box-shadow: inset 0 0 0 1px rgba(29, 95, 149, 0.04);
}

.sidebar__nav {
  padding: 0.15rem 0.55rem 0.55rem;
  overflow-y: auto;
}

.sidebar__nav-block + .sidebar__nav-block {
  margin-top: 0.42rem;
}

.sidebar__nav-title {
  padding: 0 0.12rem 0.18rem;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: #74869a;
}

.sidebar__group-links,
.sidebar__group-links--dense {
  gap: 0.12rem;
}

.module-link {
  min-height: 1.95rem;
  padding: 0.42rem 0.5rem 0.42rem 0.72rem;
  border: 1px solid transparent;
  border-left: 3px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: #23364b;
  font-size: 0.79rem;
  font-weight: 700;
  line-height: 1.15;
  box-shadow: none;
}

.module-link:hover,
.module-link:focus-visible {
  background: #f1f5f9;
  border-color: #dde6ef;
  text-decoration: none;
}

.module-link::before {
  display: none;
}

.module-link.is-active {
  background: #e7eff8;
  border-color: #d7e3ef;
  border-left-color: var(--section-accent, var(--accent));
  color: var(--section-accent-strong, var(--accent-strong));
}

.sidebar__more-tools {
  margin-top: 0.42rem;
  padding-top: 0.28rem;
  border-top: 1px solid #e2e9f1;
}

.sidebar__more-tools > summary {
  padding: 0.3rem 0.5rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #6c8095;
}

.sidebar__footnote {
  padding: 0.5rem 0.72rem 0.65rem;
  background: rgba(255, 255, 255, 0.68);
}

.sidebar__footnote p {
  font-size: 0.62rem;
  line-height: 1.35;
}

.main-shell {
  min-width: 0;
  background: #eef3f8;
}

.topbar {
  display: grid;
  grid-template-columns: minmax(18rem, 1.6fr) minmax(18rem, 1.2fr) auto;
  grid-template-areas:
    "context security actions"
    "menus menus menus";
  gap: 0.48rem 0.75rem;
  padding: 0.52rem 0.9rem 0;
  align-items: start;
}

.topbar__context {
  grid-area: context;
  min-width: 0;
  gap: 0.28rem;
  padding: 0;
}

.topbar__title {
  min-width: 0;
}

.topbar .eyebrow,
.topbar__eyebrow {
  font-size: 0.6rem;
  letter-spacing: 0.16em;
}

.topbar h2 {
  font-size: 1.08rem;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.topbar__subtitle {
  margin: 0.08rem 0 0;
  color: #61758a;
  font-size: 0.73rem;
  line-height: 1.3;
  max-width: 56rem;
}

.topbar__context-pills {
  gap: 0.3rem;
  flex-wrap: wrap;
}

.workspace-context-pill {
  min-height: 1.55rem;
  padding: 0.18rem 0.42rem;
  border-radius: 2px;
  background: #edf3f8;
  color: #4e6276;
}

.topbar__security {
  grid-area: security;
  min-width: 0;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.38rem;
  flex-wrap: wrap;
}

.topbar__payer-strip,
.automation-health-strip {
  display: flex;
  align-items: center;
  gap: 0.28rem;
  flex-wrap: wrap;
}

.payer-live-badge,
.auto-health-badge {
  min-height: 1.5rem;
  padding: 0.16rem 0.42rem;
  border-radius: 2px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.topbar__status {
  min-height: 1.5rem;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d8e1ea;
  background: #f6f9fc;
  color: #52657a;
}

.topbar__role-picker {
  display: grid;
  gap: 0.12rem;
  min-width: 7.5rem;
  color: #607389;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.topbar__role-picker select {
  min-height: 1.8rem;
  padding: 0.18rem 0.38rem;
  border: 1px solid #d5dee8;
  border-radius: 2px;
  background: #ffffff;
  color: #1f3145;
  font-size: 0.73rem;
  font-weight: 700;
}

.topbar__quick-actions {
  grid-area: actions;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.32rem;
}

.ghost-button,
.action-button,
.command-menu__panel button,
.help-center-panel__actions .ghost-button,
.help-center-panel__toolbar .ghost-button {
  min-height: 1.82rem;
  padding: 0.28rem 0.62rem;
  border-radius: 2px;
  font-size: 0.73rem;
  font-weight: 700;
}

.topbar__menus {
  grid-area: menus;
  display: flex;
  gap: 0;
  padding: 0 0.08rem;
  border-top: 1px solid #e1e8ef;
  background: #f7f9fb;
  overflow-x: auto;
}

.command-menu {
  margin: 0;
  border-right: 1px solid #e2e9f0;
}

.command-menu summary,
.topbar__menus .command-menu summary {
  min-height: 2rem;
  padding: 0.42rem 0.7rem;
  border-radius: 0;
  border: none;
  background: transparent;
  color: #28425d;
  font-size: 0.73rem;
  font-weight: 700;
}

.command-menu summary:hover,
.topbar__menus .command-menu summary:hover,
.topbar__menus .command-menu[open] summary {
  background: #edf3f8;
  color: #163d65;
}

.command-menu__panel,
.topbar__menus .command-menu__panel {
  top: calc(100% - 1px);
  border-radius: 0 0 3px 3px;
  border: 1px solid #d5dfea;
  box-shadow: 0 10px 24px rgba(24, 39, 58, 0.14);
}

.command-menu__label {
  color: #718396;
  font-size: 0.58rem;
  letter-spacing: 0.14em;
}

@media (max-width: 1380px) {
  .topbar {
    grid-template-columns: minmax(16rem, 1fr) minmax(16rem, 1fr);
    grid-template-areas:
      "context actions"
      "security security"
      "menus menus";
  }

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

  .topbar h2 {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
}

@media (max-width: 1120px) {
  .app-frame {
    grid-template-columns: 13.6rem minmax(0, 1fr);
  }

  .topbar__subtitle {
    display: none;
  }
}

.action-button {
  border-radius: 2px;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.22rem 0.72rem;
  background: var(--accent);
  color: #ffffff;
  border: none;
  cursor: pointer;
  transition: background 100ms;
}

.action-button:hover { background: var(--accent-strong); }

/* ── AI slot containers ──────────────────────────────────────────────────── */
.panel__ai-strip {
  margin: 0 0.85rem 0.6rem;
}

.dayboard-ai-strip {
  margin: 0 0 0.5rem;
}

/* ── Module-level AI assistant panel ─────────────────────────────────────── */
.module-ai-assistant {
  display: grid;
  gap: 0;
  border: 1px solid rgba(30,99,208,0.18);
  border-radius: 2px;
  background: linear-gradient(180deg, #f0f5ff, #eaf1ff);
  overflow: hidden;
}

.module-ai-assistant__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.38rem 0.65rem;
  background: rgba(30,99,208,0.07);
  border-bottom: 1px solid rgba(30,99,208,0.12);
}

.module-ai-assistant__icon {
  font-size: 0.78rem;
  flex-shrink: 0;
}

.module-ai-assistant__label {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1e63d0;
}

.module-ai-assistant__body {
  padding: 0.5rem 0.65rem;
  font-size: 0.76rem;
  line-height: 1.45;
  color: #1a3a6e;
}

.module-ai-assistant__actions {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
  padding: 0 0.65rem 0.5rem;
}

.module-ai-assistant__btn {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.18rem 0.55rem;
  border-radius: 2px;
  border: 1px solid rgba(30,99,208,0.25);
  background: #ffffff;
  color: #1e63d0;
  cursor: pointer;
  transition: background 100ms;
}

.module-ai-assistant__btn:hover { background: #e8f0ff; }
.module-ai-assistant__btn--primary {
  background: #1e63d0;
  color: #fff;
  border-color: #1e63d0;
}
.module-ai-assistant__btn--primary:hover { background: #174ea4; }

/* ── Payer connection status badge ───────────────────────────────────────── */
.payer-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  font-size: 0.6rem;
  font-weight: 700;
  padding: 0.08rem 0.35rem;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.payer-live-badge::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.payer-live-badge--live { background: #e6f4ee; color: #147055; }
.payer-live-badge--live::before { background: #22c55e; }
.payer-live-badge--pending { background: #fef0e0; color: #8e5d12; }
.payer-live-badge--pending::before { background: #f59e0b; animation: pulse-dot 1.4s ease-in-out infinite; }
.payer-live-badge--offline { background: #fce8ea; color: #aa3d4b; }
.payer-live-badge--offline::before { background: #ef4444; }

@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

/* ── Dayboard stat row ────────────────────────────────────────────────────── */
.dayboard-stat-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid rgba(23,48,70,0.06);
}

.dayboard-stat {
  display: flex;
  flex-direction: column;
  gap: 0.06rem;
  padding: 0.45rem 0.65rem;
  border-right: 1px solid rgba(23,48,70,0.06);
}

.dayboard-stat:last-child { border-right: none; }

.dayboard-stat__label {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.dayboard-stat__value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
  color: var(--text);
}

.dayboard-stat__value--danger  { color: var(--danger); }
.dayboard-stat__value--warning { color: var(--warning); }
.dayboard-stat__value--success { color: var(--success); }

.dayboard-stat__sub {
  font-size: 0.62rem;
  color: var(--muted);
}

/* ── KPI strip refinement ─────────────────────────────────────────────────── */
.rev-kpi-cell { min-width: 6rem; }
.rev-kpi-cell__label { font-size: 0.58rem; }
.rev-kpi-cell__value { font-size: 0.98rem; }

/* ── Charts: native bar chart shell ──────────────────────────────────────── */
.chart-shell {
  padding: 0.4rem 0.92rem 0.72rem;
  min-height: 4rem;
}

/* ── Workflow filter toolbar ──────────────────────────────────────────────── */
.workflow-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.4rem 0.92rem;
  border-bottom: 1px solid var(--border);
  background: #f8fafc;
}

/* ── Credentialing workspace header ──────────────────────────────────────── */
.credentialing-workspace-header {
  padding: 0.5rem 0.85rem 0;
  background: #ffffff;
  border-bottom: 1px solid var(--border);
}

/* ── Session modal: clinical login ────────────────────────────────────────── */
.session-modal__card {
  border-radius: 3px;
  box-shadow: 0 4px 24px rgba(18,36,59,0.16);
}

/* ── Topbar payer connection strip ───────────────────────────────────────── */
.topbar__payer-strip {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  flex-wrap: wrap;
}

.payer-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: 0.18rem 0.45rem;
  border-radius: 2px;
  border: 1px solid transparent;
  cursor: default;
  white-space: nowrap;
}

.payer-live-badge::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
}

.payer-live-badge--live {
  background: #e6f4ee;
  color: #147055;
  border-color: rgba(20,112,85,0.18);
}

.payer-live-badge--live::before {
  background: #22c55e;
}

.payer-live-badge--pending {
  background: #fef9ec;
  color: #92620a;
  border-color: rgba(146,98,10,0.18);
}

.payer-live-badge--pending::before {
  background: #f59e0b;
  animation: pulse-dot 1.4s infinite;
}

.payer-live-badge--error {
  background: #fce8ea;
  color: #aa3d4b;
  border-color: rgba(170,61,75,0.18);
}

.payer-live-badge--error::before {
  background: #ef4444;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.75); }
}

/* ── Claims table layout ─────────────────────────────────────────────────── */
.claims-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.claims-table th {
  background: #f1f5f9;
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.38rem 0.65rem;
  text-align: left;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 1;
}

.claims-table th:last-child,
.claims-table td:last-child {
  text-align: right;
}

.claims-table td {
  padding: 0.32rem 0.65rem;
  border-bottom: 1px solid rgba(23,48,70,0.05);
  vertical-align: middle;
  color: var(--text);
}

.claims-table tr:hover td {
  background: #f8fafc;
  cursor: pointer;
}

.claims-table__row.is-selected td,
.denials-table__row.is-selected td {
  background: #eaf2fb;
}

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

.claims-table__payer {
  font-weight: 500;
  max-width: 9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.claims-table__cpt {
  font-family: monospace;
  font-size: 0.72rem;
  color: var(--muted);
}

.claims-table__amount {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.claims-table__days {
  font-variant-numeric: tabular-nums;
}

.claims-table__days--warning { color: var(--warning); font-weight: 600; }
.claims-table__days--danger  { color: var(--danger);  font-weight: 600; }

.claims-table__empty {
  text-align: center;
  padding: 1.5rem;
  color: var(--muted);
  font-size: 0.8rem;
}

.claims-table-wrap {
  overflow-x: auto;
  overflow-y: auto;
  max-height: 420px;
}

/* ── Denials table layout ────────────────────────────────────────────────── */
.denials-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.denials-table th {
  background: #f1f5f9;
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.38rem 0.65rem;
  text-align: left;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 1;
}

.denials-table td {
  padding: 0.32rem 0.65rem;
  border-bottom: 1px solid rgba(23,48,70,0.05);
  vertical-align: middle;
}

.denials-table tr:hover td {
  background: #f8fafc;
  cursor: pointer;
}

.denials-urgency {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.14rem 0.38rem;
  border-radius: 2px;
}

.denials-urgency--critical { background: #fce8ea; color: #aa3d4b; }
.denials-urgency--high     { background: #fff3e0; color: #b45309; }
.denials-urgency--medium   { background: #fef9ec; color: #92620a; }
.denials-urgency--low      { background: #f1f5f9; color: var(--muted); }

.denials-table__action-col { text-align: right; }
.denials-table__action-col button {
  font-size: 0.68rem;
  padding: 0.2rem 0.55rem;
  border-radius: 2px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--primary);
  cursor: pointer;
  white-space: nowrap;
}
.denials-table__action-col button:hover { background: #f0f5ff; }

/* ── Schedule grid layout ────────────────────────────────────────────────── */
.schedule-grid {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  overflow-y: auto;
  max-height: 520px;
  border: 1px solid var(--border);
  border-radius: 2px;
}

.schedule-grid__time-col {
  border-right: 1px solid var(--border);
  background: #f8fafc;
}

.schedule-grid__time-slot {
  height: 2.6rem;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 0.2rem 0.4rem 0;
  font-size: 0.6rem;
  color: var(--muted);
  border-bottom: 1px solid rgba(23,48,70,0.05);
  white-space: nowrap;
}

.schedule-grid__lanes {
  overflow-x: auto;
}

.schedule-grid__lane-header {
  display: grid;
  position: sticky;
  top: 0;
  background: #f1f5f9;
  z-index: 2;
  border-bottom: 1px solid var(--border);
}

.schedule-grid__lane-header-cell {
  padding: 0.3rem 0.6rem;
  font-size: 0.68rem;
  font-weight: 600;
  border-right: 1px solid var(--border);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.schedule-grid__lane-body {
  display: grid;
  position: relative;
}

.schedule-grid__cell {
  height: 2.6rem;
  border-right: 1px solid rgba(23,48,70,0.06);
  border-bottom: 1px solid rgba(23,48,70,0.05);
}

.schedule-appt-block {
  position: absolute;
  left: 2px;
  right: 2px;
  background: #dbeafe;
  border-left: 2px solid #1e63d0;
  border-radius: 2px;
  padding: 0.12rem 0.35rem;
  font-size: 0.65rem;
  overflow: hidden;
  cursor: pointer;
  z-index: 1;
}

.schedule-appt-block:hover { background: #bfdbfe; }
.schedule-appt-block--blocked { background: #fce8ea; border-color: #aa3d4b; }
.schedule-appt-block--confirmed { background: #dcfce7; border-color: #147055; }

.schedule-appt-block__name { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.schedule-appt-block__type { color: #475569; }

/* ── Patient split-panel (Epic-style) ────────────────────────────────────── */
.patient-split-shell {
  display: grid;
  grid-template-columns: 18rem minmax(0, 1fr);
  min-height: 520px;
  border-top: 1px solid var(--border);
}

.patient-split-shell__list {
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.patient-split-shell__search {
  padding: 0.4rem 0.5rem;
  border-bottom: 1px solid var(--border);
  background: #f8fafc;
}

.patient-split-shell__search input {
  width: 100%;
  padding: 0.28rem 0.5rem;
  font-size: 0.75rem;
  border: 1px solid var(--border);
  border-radius: 2px;
  outline: none;
  background: #fff;
  color: var(--text);
}

.patient-split-shell__search input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(30,99,208,0.12);
}

.patient-roster-list {
  overflow-y: auto;
  flex: 1;
}

.patient-roster-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.38rem 0.6rem;
  border-bottom: 1px solid rgba(23,48,70,0.05);
  cursor: pointer;
  transition: background 0.1s;
}

.patient-roster-row:hover { background: #f0f5ff; }
.patient-roster-row.is-active { background: #dbeafe; }

.patient-roster-row__avatar {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: #1e63d0;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
  flex-shrink: 0;
}

.patient-roster-row__info { flex: 1; min-width: 0; }

.patient-roster-row__name {
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.patient-roster-row__meta {
  font-size: 0.62rem;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.patient-roster-row__submeta {
  margin-top: 0.08rem;
  font-size: 0.58rem;
  color: #708297;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.patient-roster-row__risk {
  flex-shrink: 0;
}

.patient-split-shell__chart {
  overflow-y: auto;
  padding: 0.7rem 0.92rem;
}

.patient-chart-banner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.15rem 0 0.65rem;
}

.patient-chart-banner h3 {
  margin: 0.08rem 0 0.12rem;
  font-size: 1rem;
}

.patient-chart-banner__chips {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.patient-chart-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(15rem, 0.8fr);
  gap: 0.65rem;
}

.patient-chart-card__body--flush {
  padding: 0;
}

.patient-chart-action-list {
  display: grid;
  gap: 0.4rem;
}

.patient-chart-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  color: var(--muted);
  font-size: 0.8rem;
  text-align: center;
  padding: 1.5rem;
}

.patient-chart-card {
  border: 1px solid var(--border);
  border-radius: 2px;
  margin-bottom: 0.65rem;
  overflow: hidden;
}

.patient-chart-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.4rem 0.7rem;
  background: #f8fafc;
  border-bottom: 1px solid var(--border);
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
}

.patient-chart-card__body {
  padding: 0.5rem 0.7rem;
  font-size: 0.78rem;
}

.patient-chart-stat-row {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}

.patient-chart-stat {
  flex: 1;
  min-width: 5rem;
  padding: 0.35rem 0.5rem;
  background: #f8fafc;
  border: 1px solid var(--border);
  border-radius: 2px;
}

.patient-chart-stat__label {
  font-size: 0.58rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
}

.patient-chart-stat__value {
  font-size: 0.88rem;
  font-weight: 700;
}

/* Responsive: hide topbar subtitle on medium screens */
@media (max-width: 1380px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "context actions"
      "menus menus";
  gap: 0;
}

.schedule-workspace-grid,
.claims-workspace-grid,
.denials-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(19rem, 0.75fr);
  gap: 0.7rem;
  align-items: start;
}

.schedule-workspace-pane,
.claims-workspace-pane,
.denials-workspace-pane {
  min-width: 0;
}

.schedule-workspace-pane h3,
.claims-workspace-pane h3,
.denials-workspace-pane h3 {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.schedule-watch-card {
  border: 1px solid var(--border);
  border-radius: 2px;
  background: #fff;
  overflow: hidden;
}

.schedule-watch-card + .schedule-watch-card {
  margin-top: 0.55rem;
}

.schedule-watch-card__header {
  padding: 0.42rem 0.6rem;
  border-bottom: 1px solid var(--border);
  background: #f8fafc;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.schedule-watch-card__body {
  padding: 0;
}

.workspace-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.55rem;
}

.workspace-snapshot-card {
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: 2px;
  background: #ffffff;
}

.workspace-snapshot-card--danger {
  border-color: rgba(170, 61, 75, 0.22);
  background: #fff8f8;
}

.workspace-snapshot-card--warning {
  border-color: rgba(142, 93, 18, 0.2);
  background: #fffaf1;
}

.workspace-snapshot-card__label {
  margin: 0;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.workspace-snapshot-card__value {
  display: block;
  margin-top: 0.12rem;
  font-size: 1.08rem;
  line-height: 1.1;
}

.workspace-snapshot-card__sub {
  display: block;
  margin-top: 0.16rem;
  font-size: 0.64rem;
  color: #6c7d91;
}

.workspace-inspector-card {
  border: 1px solid var(--border);
  border-radius: 2px;
  background: #fff;
  overflow: hidden;
}

.workspace-inspector-card__header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.7rem 0.8rem 0.55rem;
  border-bottom: 1px solid var(--border);
  background: #f8fafc;
}

.workspace-inspector-card__header h4 {
  margin: 0.08rem 0 0.14rem;
  font-size: 0.94rem;
}

.workspace-inspector-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  padding: 0.75rem 0.8rem 0.65rem;
}

.workspace-inspector-stat {
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--border);
  border-radius: 2px;
  background: #fff;
}

.workspace-inspector-stat span {
  display: block;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.workspace-inspector-stat strong {
  display: block;
  margin-top: 0.14rem;
  font-size: 0.86rem;
}

.workspace-inspector-stat--danger strong {
  color: var(--danger);
}

.workspace-inspector-stat--success strong {
  color: var(--success);
}

.workspace-inspector-list {
  padding: 0 0.8rem 0.8rem;
}

.workspace-inspector-list__row {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 0.5rem;
  padding: 0.42rem 0;
  border-top: 1px solid rgba(23, 48, 70, 0.08);
}

.workspace-inspector-list__row span {
  font-size: 0.62rem;
  color: var(--muted);
}

.workspace-inspector-list__row strong {
  font-size: 0.72rem;
  line-height: 1.35;
}

  .topbar__security { display: none; }
  .dayboard { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); }
  .patient-chart-detail-grid,
  .schedule-workspace-grid,
  .claims-workspace-grid,
  .denials-workspace-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   MOTION SYSTEM — AdvanceAPractice EHR v2
   Page transitions · Skeletons · Toasts · Drilldowns ·
   AI indicators · Confidence bars · Automation health ·
   Memory graduation
   ============================================================ */

/* ── 1. Page-enter transition ─────────────────────────────── */
@keyframes page-enter {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.page-entering {
  animation: page-enter 220ms cubic-bezier(0.2, 0.9, 0.3, 1) both;
}

/* ── 2. Skeleton shimmer ──────────────────────────────────── */
@keyframes skeleton-shimmer {
  0%   { background-position: -600px 0; }
  100% { background-position:  600px 0; }
}

.skeleton {
  background: linear-gradient(
    90deg,
    var(--bg-strong) 25%,
    var(--border)    50%,
    var(--bg-strong) 75%
  );
  background-size: 1200px 100%;
  animation: skeleton-shimmer 1.4s ease-in-out infinite;
  border-radius: 3px;
}

.skeleton-line {
  height: 0.75rem;
  margin-bottom: 0.5rem;
  border-radius: 3px;
}

.skeleton-line--short  { width: 38%; }
.skeleton-line--medium { width: 62%; }
.skeleton-line--full   { width: 100%; }

.skeleton-card {
  padding: 1rem 1.1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.skeleton-value {
  height: 1.6rem;
  width: 55%;
  border-radius: 3px;
}

/* ── 3. Toast notification stack ─────────────────────────── */
.toast-stack {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  pointer-events: none;
  max-width: 22rem;
}

@keyframes toast-enter {
  from {
    opacity: 0;
    transform: translateX(18px) translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateX(0) translateY(0);
  }
}

@keyframes toast-exit {
  from {
    opacity: 1;
    transform: translateX(0);
    max-height: 6rem;
  }
  to {
    opacity: 0;
    transform: translateX(22px);
    max-height: 0;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
}

.toast {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.65rem 0.85rem;
  border-radius: var(--radius-xl);
  border: 1px solid var(--border);
  background: var(--surface-strong);
  box-shadow: 0 4px 16px rgba(18, 36, 59, 0.15), 0 0 0 1px rgba(18,36,59,0.06);
  font-size: 0.8rem;
  line-height: 1.4;
  pointer-events: all;
  animation: toast-enter 220ms cubic-bezier(0.2, 0.9, 0.3, 1) both;
  overflow: hidden;
}

.toast.toast--exiting {
  animation: toast-exit 260ms ease forwards;
}

.toast__icon {
  font-size: 0.9rem;
  flex-shrink: 0;
  margin-top: 0.05rem;
}

.toast__body {
  flex: 1;
  min-width: 0;
}

.toast__title {
  font-weight: 600;
  color: var(--text);
}

.toast__detail {
  color: var(--muted);
  margin-top: 0.1rem;
}

.toast__dismiss {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--muted);
  font-size: 0.75rem;
  padding: 0.1rem 0.25rem;
  border-radius: 2px;
  line-height: 1;
  pointer-events: all;
}

.toast__dismiss:hover { color: var(--text); }

.toast--success { border-left: 3px solid var(--success); }
.toast--success .toast__icon { color: var(--success); }

.toast--danger  { border-left: 3px solid var(--danger); }
.toast--danger  .toast__icon { color: var(--danger); }

.toast--warning { border-left: 3px solid var(--warning); }
.toast--warning .toast__icon { color: var(--warning); }

.toast--info    { border-left: 3px solid var(--accent); }
.toast--info    .toast__icon { color: var(--accent); }

/* ── 4. Drilldown enter animation ────────────────────────── */
@keyframes drilldown-enter {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.drilldown-entering {
  animation: drilldown-enter 240ms cubic-bezier(0.2, 0.9, 0.3, 1) both;
}

/* ── 5. AI thinking / in-flight indicator ────────────────── */
@keyframes ai-dot-bounce {
  0%, 80%, 100% { transform: translateY(0);   opacity: 0.5; }
  40%           { transform: translateY(-5px); opacity: 1;   }
}

.ai-thinking-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.55rem;
  border-radius: 99px;
  background: var(--accent-soft);
  border: 1px solid rgba(29, 95, 149, 0.22);
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--accent);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.ai-thinking-badge__dots {
  display: inline-flex;
  gap: 0.18rem;
}

.ai-thinking-badge__dots span {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--accent);
  animation: ai-dot-bounce 1.1s ease-in-out infinite;
}

.ai-thinking-badge__dots span:nth-child(2) { animation-delay: 0.16s; }
.ai-thinking-badge__dots span:nth-child(3) { animation-delay: 0.32s; }

/* Panel-level AI loading state — animated progress bar under header */
[data-ai-loading="true"] .panel__header {
  position: relative;
  overflow: visible;
}

[data-ai-loading="true"] .panel__header::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent   0%,
    var(--accent)  40%,
    var(--accent-soft) 60%,
    transparent   100%
  );
  background-size: 200% 100%;
  animation: ai-progress-bar 1.4s linear infinite;
  border-radius: 0 0 2px 2px;
}

@keyframes ai-progress-bar {
  0%   { background-position:  200% 0; }
  100% { background-position: -200% 0; }
}

/* ── 6. Confidence fill bar ──────────────────────────────── */
@keyframes confidence-fill {
  from { width: 0;                        opacity: 0.4; }
  to   { width: var(--conf-width, 0%);   opacity: 1;   }
}

.confidence-bar-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.3rem;
}

.confidence-bar-track {
  flex: 1;
  height: 5px;
  background: var(--bg-strong);
  border-radius: 99px;
  overflow: hidden;
}

.confidence-bar-fill {
  height: 100%;
  border-radius: 99px;
  animation: confidence-fill 700ms cubic-bezier(0.2, 0.9, 0.2, 1) both;
}

.confidence-bar-fill--high   { background: var(--success); }
.confidence-bar-fill--medium { background: var(--warning); }
.confidence-bar-fill--low    { background: var(--danger);  }

.confidence-bar-label {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--muted);
  min-width: 2.4rem;
  text-align: right;
}

/* ── 7. Automation health strip ──────────────────────────── */
.automation-health-strip {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0 0.3rem;
}

.auto-health-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  padding: 0.14rem 0.42rem;
  border-radius: 99px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid transparent;
  white-space: nowrap;
}

.auto-health-badge--active {
  background: rgba(20, 112, 85, 0.10);
  border-color: rgba(20, 112, 85, 0.25);
  color: var(--success);
}

.auto-health-badge--idle {
  background: var(--bg-strong);
  border-color: var(--border);
  color: var(--muted);
}

.auto-health-badge--alert {
  background: rgba(170, 61, 75, 0.08);
  border-color: rgba(170, 61, 75, 0.22);
  color: var(--danger);
}

.auto-health-badge__dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

.auto-health-badge--active .auto-health-badge__dot {
  animation: pulse-dot 1.6s ease-in-out infinite;
}

/* ── 8. AI memory rule graduation ────────────────────────── */
@keyframes rule-promote {
  0%   { background: var(--surface);                     box-shadow: none; }
  20%  { background: rgba(20, 112, 85, 0.12);  box-shadow: 0 0 0 2px rgba(20,112,85,0.35); }
  80%  { background: rgba(20, 112, 85, 0.07);  box-shadow: 0 0 0 1px rgba(20,112,85,0.18); }
  100% { background: var(--surface);                     box-shadow: none; }
}

.rule-promoting {
  animation: rule-promote 1.6s cubic-bezier(0.2, 0.9, 0.2, 1) both;
}

/* ── 9. Active nav link flash on page switch ─────────────── */
@keyframes nav-activate {
  0%   { background: var(--accent-soft); }
  50%  { background: rgba(29, 95, 149, 0.22); }
  100% { background: var(--accent-soft); }
}

.module-link--active-flash {
  animation: nav-activate 500ms ease both;
}

/* ── 10. Refresh button spin ─────────────────────────────── */
@keyframes spin-once {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

body.refreshing #refresh-data {
  display: inline-block;
  animation: spin-once 600ms linear;
}

/* ── 11. Session modal slide-up ─────────────────────────── */
@keyframes modal-rise {
  from { opacity: 0; transform: translateY(18px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0)    scale(1);    }
}

.session-modal:not(.hidden) .session-modal__card {
  animation: modal-rise 300ms cubic-bezier(0.2, 0.9, 0.3, 1) both;
}

/* ── 12. Value-updated flash ─────────────────────────────── */
@keyframes value-flash {
  0%   { color: var(--accent); }
  100% { color: inherit; }
}

.value-updated {
  animation: value-flash 600ms ease both;
}

/* ── Notification center ─────────────────────────────────────────────────── */
.notification-bell-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.notification-bell-wrap button {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-sm);
  color: var(--text-muted);
  transition: color 150ms;
}
.notification-bell-wrap button:hover { color: var(--page-accent); }
.notification-badge {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 1.1rem;
  height: 1.1rem;
  border-radius: 9999px;
  background: var(--danger);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.notification-center-panel {
  display: none;
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  width: 22rem;
  max-height: 28rem;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  z-index: 500;
}
.notification-center-panel.is-open { display: block; }
.notification-center__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  background: var(--surface);
}
.notification-center__list { padding: 0.5rem 0; }
.notification-center__item {
  display: flex;
  gap: 0.75rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--border-subtle, var(--border));
}
.notification-center__item:last-child { border-bottom: none; }
.notification-center__icon { font-size: 1.1rem; flex-shrink: 0; }
.notification-center__content { flex: 1; }
.notification-center__content strong { display: block; font-size: 0.8125rem; }
.notification-center__content p { margin: 0.125rem 0; font-size: 0.75rem; color: var(--text-muted); }
.notification-center__content time { font-size: 0.6875rem; color: var(--text-subtle, var(--text-muted)); }
.notification-center__empty { padding: 1rem; text-align: center; color: var(--text-muted); font-size: 0.8125rem; }

/* ── Scheduling calendar ─────────────────────────────────────────────────── */
.sched-cal {
  overflow-x: auto;
  font-size: 0.75rem;
}
.sched-cal__header {
  display: grid;
  grid-template-columns: 3.5rem repeat(7, 1fr);
  gap: 2px;
  margin-bottom: 2px;
}
.sched-cal__day-label {
  text-align: center;
  font-weight: 600;
  font-size: 0.6875rem;
  padding: 0.25rem 0;
  color: var(--text-muted);
}
.sched-cal__body { display: flex; flex-direction: column; gap: 2px; }
.sched-cal__row {
  display: grid;
  grid-template-columns: 3.5rem repeat(7, 1fr);
  gap: 2px;
  min-height: 2.5rem;
}
.sched-cal__time {
  font-size: 0.6875rem;
  color: var(--text-muted);
  padding-top: 0.25rem;
  text-align: right;
  padding-right: 0.5rem;
}
.sched-cal__cell {
  border: 1px solid var(--border-subtle, var(--border));
  border-radius: var(--radius-sm);
  background: var(--surface-alt, var(--surface));
  min-height: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 2px;
}
.sched-cal__event {
  border-radius: var(--radius-xs, 2px);
  padding: 2px 4px;
  cursor: pointer;
  font-size: 0.6875rem;
  line-height: 1.2;
  overflow: hidden;
}
.sched-cal__event--ready_to_schedule,
.sched-cal__event--cleared { background: var(--success-bg, #d1fae5); color: var(--success, #065f46); }
.sched-cal__event--pending,
.sched-cal__event--in_review  { background: var(--warning-bg, #fef3c7); color: var(--warning-text, #92400e); }
.sched-cal__event--blocked    { background: var(--danger-bg, #fee2e2); color: var(--danger, #991b1b); }
.sched-cal__event-name { display: block; font-weight: 600; }
.sched-cal__event-provider { display: block; opacity: 0.7; }

/* 2026-04 premium refinement pass */

@keyframes premium-glow {
  0%, 100% { box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08); }
  50% { box-shadow: 0 24px 52px rgba(17, 92, 163, 0.16); }
}

@keyframes premium-sheen {
  0% { transform: translateX(-140%); opacity: 0; }
  20% { opacity: 0.35; }
  100% { transform: translateX(180%); opacity: 0; }
}

body {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 28rem),
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.08), transparent 24rem),
    linear-gradient(180deg, #f3f8ff 0%, #edf4fb 38%, #eef5fb 100%);
}

.sidebar {
  background:
    linear-gradient(180deg, rgba(12, 36, 68, 0.98) 0%, rgba(17, 52, 89, 0.98) 100%);
  border-right: 1px solid rgba(143, 195, 255, 0.18);
  box-shadow: 16px 0 36px rgba(15, 23, 42, 0.08);
}

.sidebar__brand {
  border-bottom: 1px solid rgba(143, 195, 255, 0.12);
}

.sidebar__eyebrow,
.sidebar__nav-title,
.sidebar__footnote p {
  color: rgba(223, 236, 255, 0.76);
}

.sidebar__user-chip,
.sidebar__workspace-switcher {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(143, 195, 255, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.sidebar__nav {
  gap: 0.8rem;
  padding-right: 0.15rem;
}

.sidebar__nav-block {
  display: grid;
  gap: 0.35rem;
}

.sidebar__group-links--dense {
  gap: 0.24rem;
}

.module-link {
  min-height: 2.2rem;
  padding: 0.52rem 0.78rem 0.52rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.03));
  color: #edf5ff;
  box-shadow: none;
}

.module-link::before {
  left: 0.52rem;
  width: 4px;
  height: 12px;
  border-radius: 999px;
  opacity: 0.82;
}

.module-link:hover,
.module-link:focus-visible {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.07));
  border-color: rgba(143, 195, 255, 0.28);
  transform: translateX(2px);
}

.module-link.is-active {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.1));
  border-color: rgba(143, 195, 255, 0.42);
  box-shadow: 0 10px 22px rgba(5, 18, 35, 0.22);
}

.main-shell {
  background: transparent;
}

.topbar {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) auto auto auto;
  gap: 0.8rem;
  align-items: start;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(196, 210, 224, 0.8);
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(16px);
  border-radius: 18px;
}

.topbar__context,
.topbar__title {
  min-width: 0;
}

#topbar-page-title {
  font-size: clamp(1.45rem, 2vw, 1.9rem);
  line-height: 1.04;
  letter-spacing: -0.03em;
  max-width: 18ch;
  text-wrap: balance;
}

.topbar__subtitle {
  max-width: 70ch;
  color: #5f7188;
}

.topbar__context-pills,
.topbar__quick-actions,
.topbar__menus,
.topbar__security {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.topbar__security {
  justify-content: flex-end;
  min-width: 19rem;
}

.topbar__quick-actions,
.topbar__menus {
  justify-content: flex-end;
}

.topbar__status,
.workspace-shell-strip__pills .status-pill {
  background: linear-gradient(180deg, #edf6ff, #dfeefe);
  border: 1px solid rgba(130, 168, 212, 0.4);
  color: #204a76;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.topbar__role-picker select,
.topbar__quick-actions button,
.topbar__menus button,
.workspace-shell-strip__actions button,
.action-button,
.ghost-button {
  min-height: 2.2rem;
  border-radius: 10px;
}

.action-button {
  background: linear-gradient(135deg, #1d4ed8, #0f8bd6);
  border: 1px solid rgba(37, 99, 235, 0.28);
  box-shadow: 0 10px 24px rgba(29, 78, 216, 0.18);
}

.action-button:hover,
.action-button:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(29, 78, 216, 0.22);
}

.ghost-button {
  background: linear-gradient(180deg, #ffffff, #f2f7fc);
  border: 1px solid rgba(176, 194, 214, 0.78);
  color: #234466;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.ghost-button:hover,
.ghost-button:focus-visible {
  background: linear-gradient(180deg, #ffffff, #eaf4ff);
  border-color: rgba(92, 147, 214, 0.55);
  color: #173b62;
  transform: translateY(-1px);
}

.workspace-shell-strip,
.workspace-header,
.panel,
.operator-pane,
.patient-split-shell__list,
.patient-split-shell__chart,
.claims-table-wrap,
.workspace-inspector-card,
.credentialing-workspace-header {
  border-radius: 16px;
  border: 1px solid rgba(194, 208, 226, 0.78);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.96));
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06);
}

.workspace-header,
.workspace-shell-strip {
  position: relative;
  overflow: hidden;
}

.workspace-header::after,
.workspace-shell-strip::after,
.command-home-hero::after,
.workspace-premium-banner::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -20%;
  width: 38%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.28), transparent);
  transform: skewX(-18deg);
  pointer-events: none;
  animation: premium-sheen 7s ease-in-out infinite;
}

.command-home-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(13rem, 0.8fr) auto;
  gap: 1rem;
  align-items: stretch;
  padding: 1.15rem 1.2rem;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(96, 165, 250, 0.22);
  background:
    radial-gradient(circle at top right, rgba(125, 211, 252, 0.2), transparent 35%),
    linear-gradient(135deg, #0f3f74 0%, #155e9d 54%, #0b8ac5 100%);
  color: #eff7ff;
  animation: premium-glow 5.5s ease-in-out infinite;
}

.command-home-hero__main,
.command-home-hero__meta,
.command-home-hero__actions {
  position: relative;
  z-index: 1;
}

.command-home-hero__eyebrow {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(223, 242, 255, 0.82);
}

.command-home-hero h3 {
  margin: 0.32rem 0 0.45rem;
  font-size: clamp(1.3rem, 1.8vw, 1.85rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.command-home-hero p {
  margin: 0;
  color: rgba(232, 243, 255, 0.86);
}

.command-home-hero__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.command-home-hero__metric {
  padding: 0.75rem 0.8rem;
  border-radius: 14px;
  border: 1px solid rgba(191, 219, 254, 0.18);
  background: rgba(255, 255, 255, 0.09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.command-home-hero__metric span {
  display: block;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(226, 240, 255, 0.76);
}

.command-home-hero__metric strong {
  display: block;
  margin-top: 0.2rem;
  font-size: 1rem;
  line-height: 1.1;
}

.command-home-hero__actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.55rem;
  min-width: 12rem;
}

.action-button--hero,
.ghost-button--hero {
  min-height: 2.5rem;
  padding-inline: 0.95rem;
  font-weight: 700;
}

.ghost-button--hero {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(220, 236, 255, 0.18);
  color: #f7fbff;
  box-shadow: none;
}

.ghost-button--hero:hover,
.ghost-button--hero:focus-visible {
  background: rgba(255, 255, 255, 0.22);
  color: #ffffff;
}

.command-home-ai-note {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.85rem 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(166, 193, 223, 0.56);
  background: linear-gradient(180deg, #f8fbff, #eef5fd);
  color: #304963;
}

.command-home-ai-note__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 6.2rem;
  padding: 0.38rem 0.55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #1d4ed8, #0ea5e9);
  color: #ffffff;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.dayboard-stat-row {
  gap: 0.75rem;
}

.dayboard-stat {
  border-radius: 14px;
  border: 1px solid rgba(191, 205, 220, 0.7);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 248, 254, 0.98));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.workspace-snapshot-grid {
  gap: 0.75rem;
}

.workspace-snapshot-card {
  border-radius: 14px;
  border: 1px solid rgba(191, 205, 220, 0.72);
  background: linear-gradient(180deg, #ffffff, #f5f9fe);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.04);
}

.workspace-snapshot-card__value {
  font-size: 1.22rem;
  letter-spacing: -0.02em;
}

.workspace-premium-banner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-top: 0.9rem;
  padding: 1rem 1.05rem;
  overflow: hidden;
  border-radius: 16px;
  color: #eff7ff;
}

.workspace-premium-banner--revenue {
  background: linear-gradient(135deg, #0b4f7a, #086f8f 55%, #0f9c9e);
}

.workspace-premium-banner--denials {
  /* Deep crimson (no garish amber) — white text stays AA-readable across the
     whole gradient: 10.0 / 8.3 / 6.7 : 1. */
  background: linear-gradient(135deg, #7f1d1d, #991b1b 55%, #b21e42);
}

.workspace-premium-banner--credentialing {
  background: linear-gradient(135deg, #14532d, #0f766e 55%, #0ea5a5);
}

.workspace-premium-banner__eyebrow {
  margin: 0 0 0.18rem;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(236, 247, 255, 0.92);
}

.workspace-premium-banner h4 {
  margin: 0;
  font-size: 1.16rem;
  letter-spacing: -0.03em;
  /* Override the global dark heading color — these banners have dark gradients,
     so the headline must be white to be readable (was rgb(17,47,74) navy).
     !important defeats the higher-specificity global heading rule. */
  color: #ffffff !important;
}

.workspace-premium-banner p:last-child {
  margin-bottom: 0;
  color: rgba(238, 246, 255, 0.95);
}

.workspace-premium-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
}

.claims-table-wrap {
  overflow: hidden;
}

.claims-table thead th,
.denials-table thead th {
  background: linear-gradient(180deg, #f2f7fd, #e7eff8);
  color: #557089;
  border-bottom: 1px solid rgba(184, 200, 219, 0.8);
}

.claims-table__row,
.denials-table__row {
  transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.claims-table__row:hover td,
.denials-table__row:hover td {
  background: #f3f9ff;
}

.claims-table__row.is-selected td,
.denials-table__row.is-selected td {
  background: linear-gradient(180deg, #eaf5ff, #dfeeff);
  box-shadow: inset 3px 0 0 #1d4ed8;
}

.workspace-inspector-card {
  border-radius: 16px;
}

.workspace-inspector-card__header {
  background: linear-gradient(180deg, #fbfdff, #eef5fc);
}

.workspace-inspector-stat {
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f6faff);
}

.chart-shell {
  border-radius: 16px;
  border: 1px solid rgba(194, 208, 226, 0.74);
  background:
    radial-gradient(circle at top right, rgba(125, 211, 252, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 248, 255, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 16px 36px rgba(15, 23, 42, 0.05);
}

.chart-shell canvas,
.chart-shell svg {
  animation: modal-rise 280ms ease both;
}

@media (max-width: 1420px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .topbar__security,
  .topbar__quick-actions,
  .topbar__menus {
    justify-content: flex-start;
    min-width: 0;
  }

  .command-home-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .command-home-hero__meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .command-home-hero__actions,
  .workspace-premium-banner__actions {
    flex-direction: row;
    justify-content: flex-start;
    min-width: 0;
  }
}

@media (max-width: 1100px) {
  .command-home-hero__meta {
    grid-template-columns: 1fr;
  }

  .workspace-premium-banner {
    grid-template-columns: 1fr;
  }
}

.module-ai-assistant {
  border-radius: 16px;
  border: 1px solid rgba(163, 191, 227, 0.64);
  background:
    radial-gradient(circle at top right, rgba(96, 165, 250, 0.14), transparent 30%),
    linear-gradient(180deg, #ffffff, #f2f8ff);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.05);
}

.module-ai-assistant__header {
  gap: 0.55rem;
}

.module-ai-assistant__icon {
  width: 2rem;
  height: 2rem;
  display: inline-grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #1d4ed8, #06b6d4);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(29, 78, 216, 0.18);
}

.module-ai-assistant__icon::before {
  content: "";
  width: 0.58rem;
  height: 0.58rem;
  border-radius: 50%;
  background: #fff;
  box-shadow:
    0 0 0 0.18rem rgba(255, 255, 255, 0.26),
    0 0 18px rgba(255, 255, 255, 0.72);
}

.module-ai-assistant__label {
  color: #12395e;
  letter-spacing: 0.02em;
}

.module-ai-assistant__body {
  color: #50657d;
}

.module-ai-assistant__btn {
  border-radius: 10px;
  border: 1px solid rgba(167, 188, 210, 0.76);
  background: linear-gradient(180deg, #ffffff, #eef5fc);
  color: #1f4267;
}

.module-ai-assistant__btn--primary {
  background: linear-gradient(135deg, #155eef, #0891b2);
  border-color: rgba(21, 94, 239, 0.28);
  color: #fff;
}

.clinic-workspace-shell,
.operator-table-shell--clinic,
.operator-inspector,
.operator-alert,
.operator-kpi,
.operator-table,
.operator-console-shell .panel {
  border-radius: 16px;
}

.operator-kpi,
.operator-alert {
  border: 1px solid rgba(190, 205, 222, 0.8);
  background: linear-gradient(180deg, #ffffff, #f5f9fe);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
}

.operator-kpi strong {
  letter-spacing: -0.03em;
}

.operator-table thead th {
  background: linear-gradient(180deg, #eff5fc, #e5eef8);
}

/* Major visual cleanup pass */

body {
  background:
    radial-gradient(circle at top left, rgba(59, 130, 246, 0.12), transparent 26rem),
    radial-gradient(circle at 85% 0, rgba(14, 165, 233, 0.12), transparent 24rem),
    linear-gradient(180deg, #f3f8fd 0%, #edf4fb 35%, #eff5fb 100%);
}

.app-frame {
  grid-template-columns: 18.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 0.9rem;
}

.sidebar {
  padding: 0.7rem 0.72rem 0.72rem;
  gap: 0.6rem;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.sidebar__brand-logo {
  max-width: 7.2rem;
}

.sidebar__workspace-switcher {
  padding: 0.32rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(177, 214, 255, 0.14);
}

.sidebar__nav {
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.15rem;
}

.ws-switch-btn {
  min-height: 2.3rem;
  border-radius: 12px;
  font-size: 0.8rem;
  font-weight: 700;
}

.sidebar__pulse-card {
  display: grid;
  gap: 0.7rem;
  padding: 0.9rem;
  border-radius: 18px;
  border: 1px solid rgba(173, 213, 255, 0.18);
  background:
    radial-gradient(circle at top right, rgba(125, 211, 252, 0.18), transparent 34%),
    linear-gradient(160deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.06));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 18px 36px rgba(5, 18, 35, 0.16);
}

.sidebar__pulse-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.7rem;
}

.sidebar__pulse-card__eyebrow {
  margin: 0;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(224, 239, 255, 0.72);
}

.sidebar__pulse-card h3 {
  margin: 0.18rem 0 0;
  font-size: 1rem;
  line-height: 1.1;
  color: #f8fbff;
}

.sidebar__pulse-card__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.8rem;
  min-height: 1.8rem;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  background: rgba(18, 163, 127, 0.18);
  color: #d9fff3;
  border: 1px solid rgba(74, 222, 128, 0.18);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sidebar__pulse-card__badge.is-alert {
  background: rgba(190, 73, 87, 0.18);
  border-color: rgba(248, 113, 113, 0.22);
  color: #ffe4e6;
}

.sidebar__pulse-card__summary {
  margin: 0;
  color: rgba(232, 242, 255, 0.82);
  font-size: 0.77rem;
  line-height: 1.5;
}

.sidebar__pulse-card__metrics {
  display: grid;
  gap: 0.45rem;
}

.sidebar-pulse-metric {
  display: grid;
  gap: 0.12rem;
  padding: 0.68rem 0.72rem;
  border-radius: 14px;
  border: 1px solid rgba(193, 222, 255, 0.12);
  background: rgba(255, 255, 255, 0.08);
}

.sidebar-pulse-metric__label {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(220, 235, 255, 0.72);
}

.sidebar-pulse-metric__value {
  font-size: 1rem;
  line-height: 1.1;
  color: #fff;
}

.sidebar-pulse-metric__sub {
  font-size: 0.68rem;
  color: rgba(220, 234, 252, 0.72);
}

.ghost-button--sidebar {
  min-height: 2.1rem;
  background: rgba(255, 255, 255, 0.14);
  color: #edf5ff;
  border-color: rgba(191, 219, 254, 0.16);
  box-shadow: none;
}

.ghost-button--sidebar:hover,
.ghost-button--sidebar:focus-visible {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.sidebar__pulse-card__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.topbar {
  padding: 1rem 1.1rem;
}

.topbar__context {
  gap: 0.75rem;
}

.topbar__title {
  display: grid;
  gap: 0.35rem;
}

.topbar__context-pills {
  gap: 0.5rem;
}

.workspace-context-pill {
  border-radius: 999px;
  padding: 0.4rem 0.72rem;
  border: 1px solid rgba(164, 190, 218, 0.58);
  background: linear-gradient(180deg, #f7fbff, #eaf3fb);
  color: #25496d;
  font-weight: 700;
}

.workspace-shell-strip {
  padding: 1.1rem 1.2rem;
}

.workspace-shell-strip__modules {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.shell-module-card {
  border-radius: 14px;
  border: 1px solid rgba(189, 206, 225, 0.8);
  background:
    radial-gradient(circle at top right, rgba(191, 219, 254, 0.2), transparent 30%),
    linear-gradient(180deg, #ffffff, #f4f8fd);
}

.workspace-header {
  padding: 1rem 1.1rem;
}

.dayboard {
  gap: 0.75rem;
}

.dayboard-card {
  border-radius: 18px;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06);
}

.dayboard-card--hero {
  min-height: 25rem;
}

.dayboard-card__header {
  padding: 0.75rem 0.9rem;
}

.dayboard-card__title {
  font-size: 0.64rem;
  letter-spacing: 0.14em;
}

.dayboard-card__action {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0 0.65rem;
  border-radius: 999px;
  background: rgba(29, 78, 216, 0.08);
  color: #22517a;
  text-decoration: none;
}

.dayboard-card__action:hover {
  background: rgba(29, 78, 216, 0.14);
}

.command-home-lanes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  padding: 0.8rem 0.9rem 0;
}

.command-home-lane {
  display: grid;
  gap: 0.22rem;
  padding: 0.8rem 0.85rem;
  border-radius: 16px;
  border: 1px solid rgba(190, 205, 225, 0.75);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 249, 255, 0.98));
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
}

.command-home-chart-card {
  margin-top: 0.9rem;
  padding: 1rem 1.1rem 0.85rem;
  border-radius: 16px;
  border: 1px solid rgba(190, 205, 225, 0.75);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 249, 255, 0.98));
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
}

.command-home-chart-card__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

.command-home-chart-card__eyebrow {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--muted, #5b6b82);
}

.command-home-chart-card__total {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--text, #0f3557);
}

.command-home-chart-card__plot {
  width: 100%;
}

.command-home-chart-card__plot .aap-line {
  width: 100%;
  height: auto;
}

.command-home-chart-card__sub {
  margin: 0.45rem 0 0;
  font-size: 0.72rem;
  color: var(--muted, #5b6b82);
}

.command-home-lane--danger {
  border-color: rgba(248, 113, 113, 0.32);
  background: linear-gradient(180deg, #fff8f8, #fff0f1);
}

.command-home-lane--warning {
  border-color: rgba(245, 158, 11, 0.32);
  background: linear-gradient(180deg, #fffaf0, #fff5e5);
}

.command-home-lane--success {
  border-color: rgba(16, 185, 129, 0.28);
  background: linear-gradient(180deg, #f4fffb, #ebfff8);
}

.command-home-lane__label {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #6a8099;
}

.command-home-lane__value {
  font-size: 1.18rem;
  letter-spacing: -0.03em;
  color: #173b63;
}

.command-home-lane__sub {
  font-size: 0.68rem;
  color: #60758d;
}

.ghost-button--lane {
  margin-top: 0.25rem;
  min-height: 2rem;
  justify-self: start;
  padding-inline: 0.72rem;
}

.dayboard-card__body {
  padding-bottom: 0.2rem;
}

.dayboard-stat-row {
  padding: 0.8rem 0.9rem 0.2rem;
}

.ehr-row {
  padding: 0.62rem 0.8rem;
  gap: 0.3rem 0.75rem;
  transition: background-color 160ms ease, transform 160ms ease;
}

.ehr-row:hover {
  background: rgba(233, 242, 251, 0.88);
  transform: translateX(2px);
}

.ehr-row__primary {
  font-size: 0.8rem;
}

.ehr-row__secondary {
  margin-top: 0.1rem;
  font-size: 0.68rem;
}

.ehr-row__badge {
  min-height: 1.35rem;
  padding-inline: 0.48rem;
  border-radius: 999px;
}

.dayboard-ai-strip,
.module-ai-assistant {
  margin-top: 0.75rem;
}

.metrics-grid,
.charts-grid,
.content-grid {
  gap: 0.85rem;
}

.patient-split-shell,
.schedule-workspace-grid,
.claims-workspace-grid,
.denials-workspace-grid,
.operator-workspace__body {
  gap: 0.85rem;
}

.patient-split-shell__list,
.patient-split-shell__chart,
.schedule-workspace-pane,
.claims-workspace-pane,
.denials-workspace-pane,
.clinic-workspace__snapshot,
.clinic-shell-note,
.revenue-workspace-window,
.operator-workspace,
.credentialing-workspace-header {
  border-radius: 18px;
  border: 1px solid rgba(189, 206, 225, 0.78);
  background:
    radial-gradient(circle at top right, rgba(191, 219, 254, 0.14), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 248, 255, 0.98));
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.05);
}

.revenue-workspace-window__header,
.credentialing-workspace-header,
.operator-workspace__header,
.panel__header {
  border-bottom-color: rgba(189, 206, 225, 0.8);
}

.schedule-workspace-pane--detail,
.claims-workspace-pane--inspector,
.denials-workspace-pane--inspector,
.operator-inspector,
.clinic-workspace__inspector-shell {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 255, 0.98));
}

.revenue-workspace-window__kpi,
.operator-kpi-strip {
  gap: 0.75rem;
}

.rev-kpi-cell,
.operator-kpi,
.workflow-summary-card,
.shell-module-card {
  border-radius: 14px;
}

.chart-shell {
  min-height: 15rem;
}

.command-menu__panel {
  border-radius: 18px;
  min-width: 18rem;
  box-shadow: 0 22px 44px rgba(15, 23, 42, 0.12);
}

.notification-center-panel {
  border-radius: 18px;
}

@media (max-width: 1400px) {
  .app-frame {
    grid-template-columns: 17rem minmax(0, 1fr);
  }

  .command-home-lanes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1180px) {
  .app-frame {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: relative;
    height: auto;
    max-height: none;
  }

  .sidebar__pulse-card__actions {
    grid-template-columns: 1fr;
  }

  .command-home-lanes {
    grid-template-columns: 1fr;
  }
}

/* Semantic money + module color refinement */

.rev-kpi-cell__value--success,
.workspace-snapshot-card--success .workspace-snapshot-card__value,
.ehr-row--success .ehr-row__primary,
.sidebar-pulse-metric--success .sidebar-pulse-metric__value {
  color: #0f8a53;
}

.rev-kpi-cell__value--danger,
.workspace-snapshot-card--danger .workspace-snapshot-card__value,
.ehr-row--danger .ehr-row__primary,
.sidebar-pulse-metric--danger .sidebar-pulse-metric__value {
  color: #c2414f;
}

.rev-kpi-cell__value--warning,
.workspace-snapshot-card--warning .workspace-snapshot-card__value,
.ehr-row--warning .ehr-row__primary,
.sidebar-pulse-metric--warning .sidebar-pulse-metric__value {
  color: #b56a05;
}

.rev-kpi-cell {
  border: 1px solid rgba(191, 206, 224, 0.8);
  background: linear-gradient(180deg, #ffffff, #f4f8fd);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.04);
}

.rev-kpi-cell__label {
  color: #698096;
}

.ehr-row--revenue {
  border-left: 4px solid rgba(32, 129, 226, 0.24);
}

.ehr-row--revenue.ehr-row--success {
  border-left-color: rgba(15, 138, 83, 0.45);
  background: linear-gradient(90deg, rgba(15, 138, 83, 0.06), transparent 55%);
}

.ehr-row--revenue.ehr-row--danger {
  border-left-color: rgba(194, 65, 79, 0.48);
  background: linear-gradient(90deg, rgba(194, 65, 79, 0.07), transparent 55%);
}

.ehr-row--revenue.ehr-row--warning {
  border-left-color: rgba(181, 106, 5, 0.48);
  background: linear-gradient(90deg, rgba(181, 106, 5, 0.07), transparent 55%);
}

.ehr-row--credentialing {
  border-left: 4px solid rgba(13, 148, 136, 0.38);
  background: linear-gradient(90deg, rgba(13, 148, 136, 0.06), transparent 55%);
}

.ehr-row--attention {
  border-left: 4px solid rgba(194, 65, 79, 0.42);
  background: linear-gradient(90deg, rgba(194, 65, 79, 0.08), transparent 55%);
}

.ehr-row--clinical {
  border-left: 4px solid rgba(37, 99, 235, 0.28);
}

.module-link--scheduling,
.module-link--patients,
.module-link--benefits,
.module-link--auth {
  box-shadow: inset 0 0 0 1px rgba(78, 181, 198, 0.05);
}

.module-link--claims,
.module-link--denials,
.module-link--reports {
  box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.08);
}

.module-link--credentialing,
.module-link--operator,
.module-link--integrations {
  box-shadow: inset 0 0 0 1px rgba(20, 184, 166, 0.08);
}

.command-home-lane:nth-child(1) {
  border-top: 4px solid rgba(14, 165, 233, 0.5);
}

.command-home-lane:nth-child(2) {
  border-top: 4px solid rgba(37, 99, 235, 0.55);
}

.command-home-lane:nth-child(3) {
  border-top: 4px solid rgba(13, 148, 136, 0.5);
}

.command-home-lane:nth-child(4) {
  border-top: 4px solid rgba(139, 92, 246, 0.5);
}

.chart-shell h3,
.panel__eyebrow,
.workspace-header__lede {
  color: #5f748d;
}

.operator-command-deck {
  display: grid;
  gap: 0.9rem;
  margin-bottom: 1rem;
  padding: 1rem 1.05rem;
  border-radius: 22px;
  border: 1px solid rgba(188, 206, 226, 0.82);
  background:
    radial-gradient(circle at top right, rgba(96, 165, 250, 0.16), transparent 28%),
    linear-gradient(135deg, #f7fbff 0%, #eef5fd 60%, #f8fbff 100%);
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.07);
}

.operator-command-deck__hero {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.operator-command-deck__hero h4 {
  margin: 0.2rem 0 0.32rem;
  font-size: 1.25rem;
  letter-spacing: -0.03em;
  color: #173b63;
}

.operator-command-deck__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.55rem;
}

.operator-command-deck__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.75rem;
}

.operator-command-card {
  display: grid;
  gap: 0.18rem;
  padding: 0.85rem 0.9rem;
  border-radius: 18px;
  border: 1px solid rgba(188, 206, 226, 0.78);
  background: linear-gradient(180deg, #ffffff, #f5f9fe);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.04);
}

.operator-command-card__label {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #657c94;
}

.operator-command-card__value {
  font-size: 1.22rem;
  letter-spacing: -0.03em;
  color: #173b63;
}

.operator-command-card__detail {
  font-size: 0.7rem;
  color: #62788f;
}

.operator-command-card--danger {
  border-color: rgba(248, 113, 113, 0.34);
  background: linear-gradient(180deg, #fff7f7, #fff1f2);
}

.operator-command-card--danger .operator-command-card__value {
  color: #c2414f;
}

.operator-command-card--warning {
  border-color: rgba(245, 158, 11, 0.3);
  background: linear-gradient(180deg, #fffaf1, #fff4e2);
}

.operator-command-card--warning .operator-command-card__value {
  color: #b56a05;
}

.operator-command-card--success {
  border-color: rgba(16, 185, 129, 0.26);
  background: linear-gradient(180deg, #f4fffb, #ebfff8);
}

.operator-command-card--success .operator-command-card__value {
  color: #0f8a53;
}

.operator-command-deck__focus {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.75rem;
}

.operator-command-focus {
  display: grid;
  gap: 0.16rem;
  justify-items: start;
  text-align: left;
  padding: 0.9rem 0.95rem;
  border-radius: 18px;
  border: 1px solid rgba(183, 201, 223, 0.78);
  background: linear-gradient(180deg, #ffffff, #f5f9fe);
  color: #173b63;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.04);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.operator-command-focus:hover,
.operator-command-focus:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(59, 130, 246, 0.35);
  box-shadow: 0 18px 32px rgba(29, 78, 216, 0.08);
}

.operator-command-focus__name {
  font-size: 0.86rem;
  font-weight: 800;
}

.operator-command-focus__meta {
  font-size: 0.7rem;
  color: #5f758c;
}

.operator-command-focus__stats {
  font-size: 0.68rem;
  color: #62788f;
}

.patient-split-shell {
  grid-template-columns: minmax(21rem, 0.85fr) minmax(0, 1.15fr);
  align-items: start;
}

.patient-split-shell__list,
.patient-split-shell__chart {
  padding: 0.85rem;
}

.patient-split-shell__search {
  margin-bottom: 0.75rem;
}

.patient-split-shell__search input {
  min-height: 2.45rem;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f3f8fd);
}

.patient-roster-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.82rem 0.85rem;
  border-radius: 16px;
  border: 1px solid rgba(194, 207, 224, 0.72);
  background: linear-gradient(180deg, #ffffff, #f4f8fd);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.04);
}

.patient-roster-row + .patient-roster-row {
  margin-top: 0.55rem;
}

.patient-roster-row.is-active {
  border-color: rgba(37, 99, 235, 0.36);
  background:
    radial-gradient(circle at top right, rgba(147, 197, 253, 0.18), transparent 30%),
    linear-gradient(180deg, #f8fbff, #eaf4ff);
  box-shadow: 0 18px 34px rgba(29, 78, 216, 0.08);
}

.patient-roster-row__avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 14px;
  background: linear-gradient(135deg, #1d4ed8, #0ea5e9);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(29, 78, 216, 0.16);
}

.patient-roster-row__name {
  font-size: 0.86rem;
  font-weight: 800;
  color: #173b63;
}

.patient-roster-row__meta,
.patient-roster-row__submeta {
  font-size: 0.68rem;
  color: #64798f;
}

.patient-chart-banner {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  padding: 1rem 1.05rem;
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(125, 211, 252, 0.2), transparent 34%),
    linear-gradient(135deg, #103e70, #11639c 58%, #1591c4);
  color: #f6fbff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}

.patient-chart-banner .panel__eyebrow,
.patient-chart-banner .item__meta {
  color: rgba(230, 242, 255, 0.78);
}

.patient-chart-banner h3 {
  margin: 0.2rem 0 0.25rem;
  font-size: 1.35rem;
  letter-spacing: -0.03em;
}

.patient-chart-banner__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.patient-chart-card {
  margin-top: 0.8rem;
  border-radius: 18px;
  border: 1px solid rgba(190, 206, 224, 0.8);
  background: linear-gradient(180deg, #ffffff, #f5f9fe);
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.patient-chart-card__header {
  padding: 0.82rem 0.95rem;
  border-bottom: 1px solid rgba(190, 206, 224, 0.74);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #617891;
  background: linear-gradient(180deg, #f9fbff, #eef5fd);
}

.patient-chart-card__body {
  padding: 0.9rem 0.95rem;
}

.patient-chart-card__body--flush {
  padding: 0;
}

.patient-chart-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  gap: 0.8rem;
}

.patient-chart-stat-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.patient-chart-stat {
  padding: 0.72rem 0.78rem;
  border-radius: 14px;
  border: 1px solid rgba(194, 207, 224, 0.72);
  background: linear-gradient(180deg, #ffffff, #f6faff);
}

.patient-chart-stat__label {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #688096;
}

.patient-chart-stat__value {
  margin-top: 0.18rem;
  font-size: 0.84rem;
  font-weight: 700;
  color: #173b63;
}

.patient-chart-action-list {
  display: grid;
  gap: 0.55rem;
}

.schedule-workspace-pane,
.claims-workspace-pane,
.denials-workspace-pane {
  padding: 0.85rem;
}

.schedule-workspace-pane--board {
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.12), transparent 28%),
    linear-gradient(180deg, #ffffff, #f5fbff);
}

.schedule-workspace-pane--detail {
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.1), transparent 30%),
    linear-gradient(180deg, #ffffff, #f3f8ff);
}

.schedule-watch-card {
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.04);
}

.schedule-watch-card__header {
  padding: 0.7rem 0.85rem;
}

.workspace-tab-bar {
  padding: 0.34rem;
  border-radius: 16px;
  background: linear-gradient(180deg, #edf4fb, #e4edf8);
  border: 1px solid rgba(189, 206, 224, 0.78);
}

.workspace-tab-bar .ws-tab {
  border-radius: 12px;
  min-height: 2.35rem;
  padding-inline: 0.85rem;
  font-weight: 700;
}

.workspace-tab-bar--revenue .ws-tab.is-active {
  background: linear-gradient(135deg, #1d4ed8, #0f8bd6);
  color: #fff;
}

.workspace-tab-bar--credentialing .ws-tab.is-active {
  background: linear-gradient(135deg, #0f766e, #0ea5a5);
  color: #fff;
}

.revenue-workspace-window {
  padding: 0.95rem;
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.13), transparent 28%),
    linear-gradient(180deg, #ffffff, #f3f8ff);
}

.revenue-workspace-window__header {
  padding: 0.2rem 0.1rem 1rem;
}

.revenue-workspace-window__brand h2,
.credentialing-workspace-header h2,
.operator-workspace__header h3,
#clinic-workspace-title {
  font-size: 1.25rem;
  letter-spacing: -0.03em;
  color: #15395f;
}

.revenue-workspace-window__kpi {
  margin-bottom: 0.9rem;
}

.claims-workspace-pane:first-child {
  background:
    radial-gradient(circle at top right, rgba(59, 130, 246, 0.12), transparent 28%),
    linear-gradient(180deg, #ffffff, #f5f9fe);
}

.claims-workspace-pane--inspector {
  background:
    radial-gradient(circle at top right, rgba(16, 185, 129, 0.1), transparent 28%),
    linear-gradient(180deg, #ffffff, #f3fbf8);
}

.denials-workspace-pane:first-child {
  background:
    radial-gradient(circle at top right, rgba(245, 158, 11, 0.14), transparent 28%),
    linear-gradient(180deg, #fffdf9, #fff7ee);
}

.denials-workspace-pane--inspector {
  background:
    radial-gradient(circle at top right, rgba(239, 68, 68, 0.11), transparent 28%),
    linear-gradient(180deg, #fffdfd, #fff4f5);
}

.credentialing-workspace-header {
  padding: 0.95rem;
  background:
    radial-gradient(circle at top right, rgba(20, 184, 166, 0.14), transparent 28%),
    linear-gradient(180deg, #ffffff, #f2fbfa);
}

.credentialing-workspace-header .summary-text {
  color: #5f788f;
}

.operator-workspace__header,
.clinic-workspace__snapshot {
  padding: 0.95rem;
}

.operator-subtabs {
  padding: 0.34rem;
  border-radius: 16px;
  background: linear-gradient(180deg, #eef4fb, #e4edf8);
  border: 1px solid rgba(189, 206, 224, 0.76);
}

.operator-subtabs .ws-tab {
  border-radius: 12px;
  min-height: 2.3rem;
}

.operator-filterbar {
  padding: 0.8rem;
  border-radius: 18px;
  border: 1px solid rgba(189, 206, 224, 0.78);
  background:
    radial-gradient(circle at top right, rgba(191, 219, 254, 0.14), transparent 26%),
    linear-gradient(180deg, #ffffff, #f4f8fd);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.04);
}

.operator-filterbar label {
  font-size: 0.68rem;
  font-weight: 700;
  color: #627b92;
}

.operator-filterbar input,
.operator-filterbar select {
  min-height: 2.3rem;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f5f9fd);
}

.clinic-workspace__snapshot-metrics,
.revenue-workspace-window__kpi,
.operator-kpi-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

@media (max-width: 1200px) {
  .patient-split-shell,
  .patient-chart-detail-grid {
    grid-template-columns: 1fr;
  }

  .patient-chart-stat-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .operator-command-deck__hero {
    flex-direction: column;
  }

  .operator-command-deck__actions {
    justify-content: flex-start;
  }
}

/* Operator console command pass */

.topbar__quick-actions .ghost-button,
.notification-bell-wrap .ghost-button {
  min-width: 4.8rem;
}

#notification-bell {
  font-weight: 800;
  letter-spacing: 0.02em;
}

.operator-practice-card {
  position: relative;
  gap: 1rem;
  overflow: hidden;
  border-color: rgba(181, 199, 221, 0.84);
  background:
    radial-gradient(circle at top right, rgba(148, 197, 255, 0.14), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(244, 249, 253, 0.98));
}

.operator-practice-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, rgba(59, 130, 246, 0.72), rgba(14, 165, 233, 0.4));
}

.operator-practice-card--warning::before {
  background: linear-gradient(180deg, rgba(245, 158, 11, 0.86), rgba(251, 191, 36, 0.48));
}

.operator-practice-card--critical::before {
  background: linear-gradient(180deg, rgba(239, 68, 68, 0.88), rgba(248, 113, 113, 0.52));
}

.operator-practice-card__header {
  gap: 1.1rem;
}

.operator-practice-card__header-side {
  display: grid;
  gap: 0.65rem;
  justify-items: end;
}

.operator-practice-card__score {
  min-width: 6.5rem;
  display: grid;
  gap: 0.1rem;
  justify-items: center;
  padding: 0.6rem 0.75rem;
  border-radius: 16px;
  border: 1px solid rgba(190, 205, 223, 0.82);
  background: linear-gradient(180deg, #ffffff, #f3f8fd);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
}

.operator-practice-card__score span {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6b8298;
}

.operator-practice-card__score strong {
  font-size: 1.5rem;
  line-height: 1;
  color: #173b63;
}

.operator-practice-card__score--warning {
  border-color: rgba(245, 158, 11, 0.28);
  background: linear-gradient(180deg, #fffaf1, #fff5e5);
}

.operator-practice-card__score--warning strong {
  color: #ad6503;
}

.operator-practice-card__score--critical {
  border-color: rgba(239, 68, 68, 0.28);
  background: linear-gradient(180deg, #fff7f7, #fff1f2);
}

.operator-practice-card__score--critical strong {
  color: #c2414f;
}

.operator-practice-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.38rem 0 0.18rem;
}

.operator-practice-card__meta-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.18rem 0.56rem;
  border-radius: 999px;
  border: 1px solid rgba(182, 199, 219, 0.84);
  background: linear-gradient(180deg, #f8fbff, #edf4fb);
  color: #234768;
  font-size: 0.68rem;
  font-weight: 700;
}

.operator-practice-card__progress-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.operator-practice-progress {
  display: grid;
  gap: 0.32rem;
  padding: 0.82rem 0.88rem;
  border-radius: 18px;
  border: 1px solid rgba(190, 205, 223, 0.82);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 253, 0.98));
}

.operator-practice-progress__header {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  align-items: center;
}

.operator-practice-progress__header span {
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #698096;
}

.operator-practice-progress__header strong {
  font-size: 0.9rem;
  color: #173b63;
}

.operator-practice-progress__track {
  position: relative;
  overflow: hidden;
  height: 0.5rem;
  border-radius: 999px;
  background: rgba(214, 225, 237, 0.88);
}

.operator-practice-progress__fill {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.95), rgba(14, 165, 233, 0.78));
}

.operator-practice-progress p {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #60788f;
}

.operator-practice-progress--stable .operator-practice-progress__fill {
  background: linear-gradient(90deg, rgba(16, 185, 129, 0.95), rgba(52, 211, 153, 0.78));
}

.operator-practice-progress--warning .operator-practice-progress__fill {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.95), rgba(251, 191, 36, 0.78));
}

.operator-practice-progress--critical .operator-practice-progress__fill {
  background: linear-gradient(90deg, rgba(239, 68, 68, 0.95), rgba(248, 113, 113, 0.78));
}

.operator-practice-card .item__actions {
  gap: 0.55rem;
}

.operator-practice-card .item__actions .ghost-button {
  min-height: 2.25rem;
  border-radius: 12px;
  font-weight: 700;
}

.operator-practice-card__list li + li {
  margin-top: 0.35rem;
}

.operator-command-deck__focus {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.operator-command-deck__lanes {
  margin-top: 0.2rem;
}

.operator-command-focus {
  position: relative;
  overflow: hidden;
}

.operator-command-focus::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.82), rgba(14, 165, 233, 0.54));
}

@media (max-width: 1200px) {
  .operator-practice-card__progress-row,
  .operator-practice-card__metrics,
  .operator-practice-card__panels {
    grid-template-columns: 1fr;
  }

  .operator-practice-card__header,
  .operator-practice-card__footer {
    flex-direction: column;
  }

  .operator-practice-card__header-side {
    width: 100%;
    justify-items: start;
  }
}

/* Compact shell refinement pass */

.sidebar__workspace-switcher {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.3rem;
}

.ws-switch-btn {
  min-height: 2.05rem;
  padding: 0.45rem 0.4rem;
  border-radius: 10px;
  font-size: 0.74rem;
  letter-spacing: 0.01em;
}

.sidebar__nav-title {
  margin-bottom: 0.45rem;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
}

.sidebar__group-links--dense {
  gap: 0.28rem;
}

.module-link {
  min-height: 2.15rem;
  padding: 0.5rem 0.72rem 0.5rem 0.92rem;
  border-radius: 10px;
  font-size: 0.88rem;
  box-shadow: none;
}

.sidebar__more-tools {
  border-top: 1px solid rgba(201, 217, 235, 0.75);
  padding-top: 0.5rem;
}

.sidebar__more-tools summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 2rem;
  padding: 0.2rem 0.1rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5c738b;
  cursor: pointer;
}

.sidebar__more-tools summary::-webkit-details-marker {
  display: none;
}

.sidebar__more-tools summary::after {
  content: "+";
  font-size: 1rem;
  font-weight: 700;
  color: #6b84a0;
}

.sidebar__more-tools[open] summary::after {
  content: "-";
}

.topbar__quick-actions .ghost-button,
.topbar__menus .command-menu summary,
.topbar__role-picker select {
  min-height: 2.25rem;
  border-radius: 10px;
}

.topbar__quick-actions .ghost-button {
  min-width: 4.35rem;
  padding-inline: 0.82rem;
}

.topbar__menus {
  gap: 0.38rem;
}

.topbar__menus .command-menu summary {
  padding-inline: 0.82rem;
  font-size: 0.84rem;
  font-weight: 700;
}

.topbar__menus .command-menu__panel {
  border-radius: 14px;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
}

.workspace-shell-strip__modules {
  gap: 0.7rem;
}

.shell-module-card {
  min-height: 8.6rem;
  padding: 0.95rem 0.95rem 0.9rem;
  border-radius: 12px;
}

.command-home-lanes {
  gap: 0.7rem;
}

.command-home-lane {
  padding: 0.85rem 0.9rem;
  border-radius: 14px;
}

.command-home-lane__value {
  font-size: 1.15rem;
}

.clinic-workspace__hero,
.clinic-workspace__snapshot,
.workspace-shell-strip,
.help-center-panel {
  border-radius: 18px;
}

.help-center-panel {
  margin-top: 0.85rem;
  padding: 1rem 1.05rem;
}

.help-center-panel__actions {
  gap: 0.45rem;
}

.help-center-panel__actions .ghost-button,
.help-center-panel__toolbar .ghost-button {
  min-height: 2.15rem;
  border-radius: 10px;
  padding-inline: 0.78rem;
}

.help-center-grid {
  gap: 0.8rem;
}

.help-card {
  padding: 0.85rem 0.9rem;
  border-radius: 14px;
}

.help-library-card,
.help-video-card {
  padding: 0.8rem 0.85rem;
  border-radius: 12px;
}

.help-library-card h4,
.help-video-card h4 {
  margin: 0 0 0.18rem;
}

.help-library-card__steps li,
.help-library-card__videos li {
  margin-top: 0.25rem;
}

.clinic-workspace__snapshot-metrics,
.revenue-workspace-window__kpi,
.operator-kpi-strip {
  gap: 0.7rem;
}

.operator-kpi,
.operator-alert,
.operator-table-shell--clinic,
.operator-inspector,
.operator-console-shell .panel {
  border-radius: 14px;
}

.operator-table thead th {
  font-size: 0.66rem;
  letter-spacing: 0.12em;
}

.operator-command-card,
.operator-practice-metric,
.operator-practice-progress,
.operator-practice-panel,
.operator-command-focus {
  border-radius: 14px;
}

@media (max-width: 1200px) {
  .help-center-panel__toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .topbar__quick-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

.workbench-bucket-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 0.85rem;
}

.workbench-bucket-grid--stacked {
  grid-template-columns: 1fr;
  margin-top: 0;
}

.workbench-bucket {
  display: grid;
  gap: 0.45rem;
  padding: 0.95rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(191, 205, 222, 0.84);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 253, 0.98));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.workbench-bucket__header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
}

.workbench-bucket__header h4 {
  margin: 0.15rem 0 0;
  font-size: 1rem;
  letter-spacing: -0.02em;
  color: #173b63;
}

.workbench-bucket__metric {
  font-size: 1.2rem;
  line-height: 1;
  color: #173b63;
}

.workbench-bucket__detail {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #60788f;
}

.workbench-bucket__items {
  margin: 0;
  padding-left: 1rem;
  font-size: 0.78rem;
  line-height: 1.45;
  color: #37506a;
}

.workbench-bucket__items li + li {
  margin-top: 0.32rem;
}

.patient-command-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.72rem;
  margin-bottom: 0.82rem;
}

.patient-command-strip__item {
  display: grid;
  gap: 0.16rem;
  padding: 0.78rem 0.84rem;
  border-radius: 14px;
  border: 1px solid rgba(187, 204, 222, 0.84);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(242, 248, 253, 0.98));
}

.patient-command-strip__label {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #617a92;
}

.patient-command-strip__item strong {
  font-size: 1rem;
  line-height: 1.08;
  color: #173b63;
}

.patient-command-strip__item span:last-child {
  color: #60788f;
  font-size: 0.74rem;
}

.workbench-bucket--success {
  border-color: rgba(16, 185, 129, 0.22);
  background: linear-gradient(180deg, rgba(243, 255, 250, 0.98), rgba(235, 252, 245, 0.98));
}

.workbench-bucket--success .workbench-bucket__metric {
  color: #0f8a53;
}

.workbench-bucket--warning {
  border-color: rgba(245, 158, 11, 0.24);
  background: linear-gradient(180deg, rgba(255, 250, 240, 0.98), rgba(255, 245, 225, 0.98));
}

.workbench-bucket--warning .workbench-bucket__metric {
  color: #ad6503;
}

.workbench-bucket--danger {
  border-color: rgba(239, 68, 68, 0.24);
  background: linear-gradient(180deg, rgba(255, 248, 248, 0.98), rgba(255, 241, 242, 0.98));
}

.workbench-bucket--danger .workbench-bucket__metric {
  color: #c2414f;
}

.workspace-checklist {
  margin-top: 0.85rem;
  padding: 0.85rem 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(188, 204, 222, 0.84);
  background: linear-gradient(180deg, rgba(249, 252, 255, 0.98), rgba(241, 247, 252, 0.98));
}

.workspace-checklist__header {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  align-items: center;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f768d;
}

.workspace-checklist__items {
  margin: 0.7rem 0 0;
  padding-left: 1rem;
  color: #37506a;
  font-size: 0.8rem;
  line-height: 1.5;
}

.workspace-checklist__items li + li {
  margin-top: 0.35rem;
}

@media (max-width: 1200px) {
  .workbench-bucket-grid {
    grid-template-columns: 1fr;
  }
}

/* Major coordinated shell overhaul */

:root {
  --shell-ink-strong: #112f4a;
  --shell-ink: #274866;
  --shell-muted: #5f7891;
  --shell-line: rgba(189, 205, 224, 0.82);
  --shell-line-strong: rgba(161, 186, 214, 0.92);
  --shell-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(243, 248, 252, 0.98));
  --shell-glow: 0 18px 44px rgba(15, 23, 42, 0.08);
}

.app-frame {
  grid-template-columns: 17.4rem minmax(0, 1fr);
  gap: 0.85rem;
  padding: 0.8rem;
}

.sidebar {
  padding: 0.62rem 0.64rem 0.66rem;
  border-radius: 20px;
  background:
    radial-gradient(circle at top left, rgba(82, 161, 255, 0.2), transparent 26%),
    linear-gradient(180deg, #133554 0%, #163c5d 36%, #1b4265 100%);
  box-shadow: 0 24px 48px rgba(11, 29, 48, 0.2);
}

.sidebar__brand {
  gap: 0.48rem;
  padding: 0.15rem 0.1rem 0.45rem;
}

.sidebar__eyebrow {
  font-size: 0.62rem;
  letter-spacing: 0.17em;
  color: rgba(226, 238, 252, 0.72);
}

.sidebar__user-chip {
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(205, 225, 248, 0.14);
}

.sidebar__workspace-switcher,
.sidebar__pulse-card,
.sidebar__nav,
.sidebar__footnote {
  border-radius: 14px;
}

.sidebar__nav {
  padding: 0.65rem 0.42rem 0.55rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(195, 220, 247, 0.12);
}

.sidebar__nav-block + .sidebar__nav-block {
  margin-top: 0.72rem;
  padding-top: 0.72rem;
  border-top: 1px solid rgba(213, 229, 245, 0.1);
}

.module-link {
  min-height: 2rem;
  padding: 0.46rem 0.68rem 0.46rem 0.82rem;
  border-radius: 9px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.05);
  color: #edf4fb;
  font-size: 0.83rem;
  font-weight: 700;
}

.module-link:hover,
.module-link:focus-visible {
  border-color: rgba(189, 219, 250, 0.22);
  background: rgba(255, 255, 255, 0.11);
  color: #ffffff;
  transform: none;
}

.module-link.is-active {
  border-color: rgba(166, 205, 249, 0.3);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.1));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.main-shell {
  gap: 0.78rem;
}

.topbar {
  padding: 0.88rem 1rem;
  border-radius: 18px;
  border: 1px solid var(--shell-line);
  background:
    radial-gradient(circle at top right, rgba(96, 165, 250, 0.12), transparent 24%),
    var(--shell-surface);
  box-shadow: var(--shell-glow);
}

.topbar__title {
  gap: 0.28rem;
}

.topbar .eyebrow,
.topbar__eyebrow {
  color: #5e7891;
}

.topbar h2 {
  font-size: 2rem;
  line-height: 1.02;
  color: var(--shell-ink-strong);
}

.topbar__subtitle {
  max-width: 50rem;
  color: var(--shell-muted);
  font-size: 0.92rem;
}

.workspace-context-pill,
.topbar__status {
  border-radius: 999px;
  border-color: var(--shell-line);
  background: linear-gradient(180deg, #fbfdff, #edf4fb);
}

.topbar__role-picker span {
  color: var(--shell-muted);
}

.topbar__quick-actions,
.topbar__menus,
.topbar__security {
  gap: 0.46rem;
}

.topbar__quick-actions .ghost-button,
.topbar__menus .command-menu summary,
.topbar__role-picker select {
  border-radius: 9px;
  border-color: var(--shell-line);
  background: linear-gradient(180deg, #ffffff, #eef4fa);
  color: var(--shell-ink);
  box-shadow: none;
}

.topbar__quick-actions .ghost-button:hover,
.topbar__menus .command-menu summary:hover,
.topbar__menus .command-menu[open] summary {
  border-color: var(--shell-line-strong);
  background: linear-gradient(180deg, #ffffff, #e8f1fb);
}

.topbar__menus .command-menu__panel {
  border: 1px solid var(--shell-line);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(245, 249, 253, 0.99));
}

.dayboard {
  gap: 0.82rem;
}

.dayboard-card {
  border-radius: 18px;
  border: 1px solid var(--shell-line);
  background:
    radial-gradient(circle at top right, rgba(147, 197, 253, 0.12), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(243, 248, 252, 0.98));
  box-shadow: var(--shell-glow);
}

.dayboard-card--hero {
  background:
    radial-gradient(circle at top right, rgba(96, 165, 250, 0.18), transparent 26%),
    linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(240, 247, 253, 0.98));
}

.dayboard-card__header {
  padding: 0.9rem 1rem 0.55rem;
}

.dayboard-card__title {
  font-size: 0.74rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #607a94;
}

.dayboard-card__action {
  min-height: 2rem;
  padding: 0.36rem 0.72rem;
  border-radius: 9px;
  border: 1px solid var(--shell-line);
  background: linear-gradient(180deg, #ffffff, #edf4fb);
  color: var(--shell-ink);
  font-weight: 700;
}

.dayboard-card__body {
  padding: 0 1rem 1rem;
}

.command-home-hero {
  gap: 0.9rem;
  padding: 1rem 1.05rem;
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(110, 231, 183, 0.12), transparent 22%),
    radial-gradient(circle at left center, rgba(59, 130, 246, 0.1), transparent 24%),
    linear-gradient(135deg, #f8fbff 0%, #eef5fd 60%, #f7fbff 100%);
  border: 1px solid var(--shell-line);
}

.command-home-hero__eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  color: #56748f;
}

.command-home-hero h3 {
  margin: 0.15rem 0 0.35rem;
  font-size: 1.6rem;
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: var(--shell-ink-strong);
}

.command-home-hero p {
  max-width: 44rem;
  color: var(--shell-muted);
}

.command-home-hero__metric {
  border-radius: 12px;
  border: 1px solid rgba(184, 203, 224, 0.82);
  background: rgba(255, 255, 255, 0.72);
}

.command-home-lane {
  border-radius: 14px;
  box-shadow: none;
}

.dayboard-stat-row {
  gap: 0.7rem;
}

.dayboard-stat {
  border-radius: 12px;
  border: 1px solid var(--shell-line);
  background: rgba(255, 255, 255, 0.72);
}

.command-home-ai-note {
  margin-top: 0.82rem;
  padding: 0.88rem 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(185, 204, 223, 0.84);
  background: linear-gradient(180deg, rgba(253, 255, 255, 0.98), rgba(241, 249, 252, 0.98));
}

.workspace-premium-banner,
.workbench-bucket,
.operator-command-deck,
.operator-practice-card,
.help-center-panel,
.clinic-workspace__snapshot,
.operator-filterbar {
  box-shadow: var(--shell-glow);
}

.workspace-premium-banner h4,
.operator-command-deck__hero h4,
.operator-practice-card h3 {
  color: var(--shell-ink-strong);
}

.workspace-inspector-card,
.workspace-checklist {
  border-radius: 16px;
}

@media (max-width: 1200px) {
  .workbench-bucket-grid,
  .patient-command-strip {
    grid-template-columns: 1fr;
  }

  .app-frame {
    grid-template-columns: 1fr;
  }

  .sidebar {
    min-height: auto;
  }
}

/* Canonical slim shell */

.app-frame {
  grid-template-columns: 15.8rem minmax(0, 1fr);
  gap: 0.7rem;
  align-items: start;
}

.sidebar {
  position: sticky;
  top: 0.6rem;
  align-self: start;
  height: calc(100vh - 1.2rem);
  max-height: calc(100vh - 1.2rem);
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  gap: 0.45rem;
  padding: 0.58rem 0.56rem 0.62rem;
  overflow: hidden;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(246, 249, 252, 0.982)),
    linear-gradient(180deg, rgba(23, 62, 98, 0.04), transparent 20%);
  box-shadow: 0 8px 20px rgba(17, 36, 55, 0.08);
  z-index: 40;
}

.sidebar__brand,
.sidebar__workspace-switcher,
.sidebar__pulse-card,
.sidebar__nav,
.sidebar__footnote,
.sidebar__nav-block,
.sidebar__more-tools {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

.sidebar__brand {
  padding: 0 0 0.38rem;
  gap: 0.32rem;
}

.sidebar__brand-logo {
  max-width: 6.3rem;
}

.sidebar__eyebrow {
  font-size: 0.56rem;
  letter-spacing: 0.14em;
  color: #5f758a;
}

.sidebar__user-chip {
  border-radius: 6px;
  background: #f3f7fb;
  border: 1px solid rgba(23, 48, 70, 0.08);
}

.sidebar__workspace-switcher {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.2rem;
  align-items: stretch;
  padding: 0.16rem;
  border: 1px solid rgba(23, 48, 70, 0.09);
  border-radius: 6px;
  background: #eef3f8;
}

.ws-switch-btn {
  width: 100%;
  min-width: 0;
  min-height: 1.6rem;
  padding: 0.18rem 0.12rem;
  border-radius: 4px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.sidebar__pulse-card {
  gap: 0.45rem;
  padding: 0.58rem;
  border-radius: 6px;
  border: 1px solid rgba(23, 48, 70, 0.08);
  background: #f8fbfe;
  box-shadow: none;
}

.sidebar__pulse-card h3 {
  font-size: 0.88rem;
  line-height: 1.15;
  color: var(--accent-strong);
}

.sidebar__pulse-card__summary,
.sidebar__pulse-card__metrics,
.sidebar__pulse-card__actions {
  font-size: 0.72rem;
}

.sidebar__nav {
  min-height: 0;
  overflow-y: auto;
  padding: 0.3rem 0.08rem 0.15rem 0;
  gap: 0.52rem;
  background: transparent;
  border: 0;
}

.sidebar__nav-title {
  margin-bottom: 0.22rem;
  font-size: 0.58rem;
  letter-spacing: 0.16em;
  color: #6b8094;
}

.sidebar__nav-block + .sidebar__nav-block {
  margin-top: 0.44rem;
  padding-top: 0.42rem;
  border-top: 1px solid rgba(23, 48, 70, 0.08);
}

.sidebar__group-links--dense {
  gap: 0.08rem;
}

.module-link {
  width: 100%;
  min-width: 0;
  min-height: 1.72rem;
  padding: 0.22rem 0.42rem 0.22rem 0.54rem;
  border-radius: 4px;
  border-left-width: 3px;
  font-size: 0.72rem;
  font-weight: 700;
  box-shadow: none;
}

.module-link::before {
  width: 0.14rem;
  height: 0.72rem;
}

.sidebar__more-tools {
  border-top: 1px solid rgba(23, 48, 70, 0.08);
  padding-top: 0.38rem;
}

.sidebar__more-tools summary {
  min-height: 1.5rem;
  padding: 0.14rem 0.08rem;
  font-size: 0.58rem;
  letter-spacing: 0.14em;
}

.sidebar__footnote {
  padding-top: 0.32rem;
}

.sidebar__footnote p {
  font-size: 0.62rem;
  line-height: 1.28;
}

.main-shell {
  min-width: 0;
  gap: 0.5rem;
  overflow: visible;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 80;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.55rem;
  padding: 0.22rem 0.58rem;
  border: 1px solid #d8e1ea;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.985);
  box-shadow: 0 4px 12px rgba(17, 36, 55, 0.05);
  backdrop-filter: blur(10px);
}

.topbar__menus,
.topbar__quick-actions {
  min-width: 0;
}

.topbar__menus {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  scrollbar-width: none;
}

.topbar__menus::-webkit-scrollbar {
  display: none;
}

.topbar__menus .command-menu {
  flex: 0 0 auto;
  min-width: 0;
  border-right: 1px solid rgba(23, 48, 70, 0.08);
}

.topbar__menus .command-menu:last-child {
  border-right: 0;
}

.command-menu summary,
.topbar__menus .command-menu summary {
  min-height: 1.9rem;
  padding: 0.1rem 0.72rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 0.64rem;
  line-height: 1;
  letter-spacing: 0.12em;
  color: #30506c;
  text-transform: uppercase;
  box-shadow: none;
}

.command-menu summary:hover,
.topbar__menus .command-menu summary:hover,
.topbar__menus .command-menu[open] summary {
  background: #f3f7fb;
  color: #173e62;
}

.command-menu summary::after,
.topbar__menus .command-menu summary::after {
  width: 0.34rem;
  height: 0.34rem;
  margin-left: 0.42rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
}

.topbar__menus .command-menu__panel {
  top: calc(100% + 0.16rem);
  min-width: 15rem;
  max-width: 20rem;
  padding: 0.4rem;
  border-radius: 6px;
  border: 1px solid #d5dde7;
  background: rgba(255, 255, 255, 0.995);
  box-shadow: 0 18px 36px rgba(17, 36, 55, 0.16);
}

.topbar__menus .command-menu__panel,
.notification-center-panel {
  z-index: 180;
}

.topbar__quick-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.25rem;
}

.topbar__quick-actions .ghost-button,
.notification-bell-wrap .ghost-button {
  min-height: 1.76rem;
  padding: 0.18rem 0.58rem;
  border-radius: 5px;
  border: 1px solid #d5dee8;
  background: linear-gradient(180deg, #ffffff, #f5f8fb);
  font-size: 0.68rem;
  font-weight: 700;
  box-shadow: none;
}

.workspace-page-strip {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.72rem 0.9rem 0.76rem;
  border: 1px solid #dbe3ec;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(246, 249, 252, 0.978));
  box-shadow: 0 6px 18px rgba(17, 36, 55, 0.05);
}

.workspace-page-strip__identity {
  min-width: 0;
}

.workspace-page-strip__identity .eyebrow {
  margin: 0;
  font-size: 0.58rem;
  letter-spacing: 0.14em;
  color: #6d8092;
}

.workspace-page-strip__identity h2,
#topbar-page-title {
  display: block;
  margin: 0.12rem 0 0;
  max-width: none;
  width: 100%;
  font-size: 1.18rem;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #15364f;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: pretty;
}

.workspace-page-strip__subtitle,
#topbar-page-subtitle {
  margin: 0.12rem 0 0;
  max-width: 68rem;
  color: #627689;
  font-size: 0.76rem;
  line-height: 1.34;
  overflow-wrap: normal;
  word-break: normal;
}

.workspace-page-strip__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
}

.workspace-context-pill {
  min-height: 1.42rem;
  padding: 0.14rem 0.42rem;
  border-radius: 4px;
  border: 1px solid #d8e0e9;
  background: #f2f6fa;
  color: #51667a;
  font-size: 0.63rem;
  font-weight: 700;
}

.workspace-page-strip__utility {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem 0.38rem;
}

.topbar__payer-strip,
.automation-health-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.24rem;
}

.payer-live-badge,
.auto-health-badge,
.topbar__status {
  min-height: 1.42rem;
  padding: 0.1rem 0.38rem;
  border-radius: 4px;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.topbar__role-picker {
  display: grid;
  gap: 0.1rem;
  min-width: 7rem;
  color: #667a8d;
  font-size: 0.54rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.topbar__role-picker select {
  min-height: 1.62rem;
  padding: 0.14rem 0.38rem;
  border: 1px solid #d5dee8;
  border-radius: 4px;
  background: #fff;
  color: #1d3145;
  font-size: 0.68rem;
  font-weight: 700;
  box-shadow: none;
}

.workspace-shell-strip {
  padding: 0.58rem 0.8rem 0.62rem;
  border-radius: 8px;
}

.workspace-shell-strip__header {
  grid-template-columns: minmax(0, 1.3fr) auto;
  gap: 0.4rem 0.65rem;
}

.workspace-shell-strip h3 {
  font-size: 0.96rem;
}

.workspace-shell-strip__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.22rem;
}

.workspace-shell-strip__modules {
  margin-top: 0.48rem;
}

.workspace-header {
  padding: 0.88rem 0.95rem;
  border-radius: 8px;
}

.workspace-header h2 {
  font-size: 1.34rem;
}

.operator-subtabs {
  gap: 0.28rem;
}

.operator-subtabs .ws-tab {
  min-height: 1.72rem;
  padding: 0.18rem 0.5rem;
  border-radius: 4px;
  font-size: 0.68rem;
}

.operator-filterbar {
  gap: 0.38rem;
}

.operator-filterbar label {
  font-size: 0.58rem;
}

body[data-topbar-state="oversized"] .topbar {
  border-color: #d66b6b;
}

body[data-sidebar-state="clipped"] .sidebar {
  border-color: #d66b6b;
}

@media (max-width: 1200px) {
  .app-frame {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: relative;
    top: auto;
    height: auto;
    max-height: none;
  }

  .topbar {
    grid-template-columns: 1fr;
  }

  .topbar__quick-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

/* Hybrid Managed Oversight final refinement */
.client-facing-hub .topbar,
.client-facing-hub .topbar__menus,
.client-facing-hub .app-header,
.client-facing-hub .workspace-page-strip {
  overflow: visible !important;
}

.client-facing-hub .topbar {
  position: relative;
  z-index: 50;
  background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
  border-bottom: 1px solid #d6e0ea;
}

.client-facing-hub .topbar__menus {
  position: relative;
  z-index: 60;
  background: #f8fbff;
  border: 1px solid #d6e0ea;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.client-facing-hub .command-menu,
.client-facing-hub .command-menu summary,
.client-facing-hub .command-menu__panel {
  overflow: visible;
}

.client-facing-hub .command-menu summary {
  min-height: 1.1rem;
  padding: 0.08rem 0.34rem;
  color: #173047;
  background: transparent;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.client-facing-hub .command-menu summary:hover,
.client-facing-hub .command-menu[open] summary {
  background: #edf4fb;
  color: #10273c;
}

.client-facing-hub .command-menu__panel {
  z-index: 200;
  min-width: 15.25rem;
  padding: 0.3rem;
  border: 1px solid #c6d5e5;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(13, 28, 45, 0.18);
}

.client-facing-hub .command-menu__label {
  color: #5a7085;
  font-size: 0.53rem;
  font-weight: 800;
}

.client-facing-hub .command-menu__panel button {
  min-height: 1.36rem;
  color: #183149;
  font-weight: 700;
}

.client-facing-hub .command-menu__panel button:hover,
.client-facing-hub .command-menu__panel button:focus-visible {
  background: #edf5fc;
  color: #10273c;
}

.client-facing-hub .workspace-page-strip {
  background: #f6f9fc;
  border-bottom: 1px solid #d6e0ea;
}

.client-facing-hub .workspace-page-strip__subtitle,
.client-facing-hub .summary-text,
.client-facing-hub .item__meta,
.client-facing-hub .sidebar__footnote p {
  color: #53687c;
}

.client-facing-hub .workspace-context-pill,
.client-facing-hub .status-pill,
.client-facing-hub .operator-meta-pill {
  color: #183149;
  background: #eef4fa;
  border: 1px solid #d4e0eb;
}

.client-facing-hub .sidebar__nav-title {
  color: #4f6479;
  font-weight: 800;
}

.client-facing-hub .module-link {
  min-height: 1.22rem;
  padding: 0.12rem 0.22rem;
  border-color: #dde6ef;
  background: #fbfdff;
  color: #173047;
}

.client-facing-hub .module-link:hover,
.client-facing-hub .module-link.is-active {
  background: #eef5fb;
  color: #10273c;
}

/* Production shell refinement: single-row command bar + workspace customizer */
.topbar.topbar--p13 {
  display: grid !important;
  grid-template-columns: minmax(18rem, auto) minmax(24rem, 1fr) auto !important;
  grid-template-areas: "menus center right";
  align-items: center;
  gap: 0.75rem;
  min-height: 3.15rem;
  padding: 0.42rem 0.75rem;
}

.topbar.topbar--p13 .topbar__left {
  display: none;
}

.topbar.topbar--p13 .topbar__menus {
  grid-area: menus;
  order: 0;
  justify-content: flex-start;
  width: auto;
}

.topbar.topbar--p13 .topbar__center-zone {
  grid-area: center;
  min-width: 0;
}

.topbar.topbar--p13 .topbar__center-actions,
.topbar.topbar--p13 .topbar__action-group {
  display: flex;
  width: 100%;
  min-width: 0;
  justify-content: space-evenly;
  gap: clamp(0.45rem, 1.6vw, 2.2rem);
}

.topbar.topbar--p13 .topbar__fancy-btn {
  min-width: 8.4rem;
  max-width: 12.5rem;
  flex: 1 1 9rem;
  justify-content: center;
}

.topbar.topbar--p13 .topbar__right {
  grid-area: right;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 0.42rem;
  min-width: max-content;
}

.command-menu__panel--workspace {
  min-width: min(36rem, calc(100vw - 2rem)) !important;
  max-width: min(42rem, calc(100vw - 2rem)) !important;
}

.workspaces-customizer {
  display: grid;
  gap: 0.55rem;
}

.workspaces-customizer__toolbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.workspaces-customizer__toolbar label,
.workspace-module-pref label {
  display: grid;
  gap: 0.2rem;
  color: #38536b;
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
}

.workspaces-customizer select,
.workspaces-customizer input[type="text"] {
  min-height: 1.85rem;
  width: 100%;
  border: 1px solid #c8d6e5;
  border-radius: 6px;
  background: #fff;
  color: #10273c;
  font-size: 0.74rem;
  font-weight: 700;
}

.workspaces-customizer__modules {
  display: grid;
  gap: 0.48rem;
  max-height: min(28rem, calc(100vh - 15rem));
  overflow: auto;
  padding-right: 0.2rem;
}

/* Phase 49 (refine): compact single row per module — name | spacer | Visible | AI. */
.workspace-module-pref {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.65rem;
  border: 1px solid #d4e0eb;
  border-left: 4px solid var(--module-accent, #0f6f91);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f7fbff);
}
.workspace-module-pref__name {
  font-weight: 700;
  font-size: 0.84rem;
  color: #122a40;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-module-pref__toggle {
  align-self: center;
  min-width: 4.6rem;
  padding: 0.28rem 0.6rem;
  border: 1px solid #c8d6e5;
  border-radius: 999px;
  background: #eef5fb;
  color: #183149;
  font-size: 0.72rem;
  font-weight: 800;
  cursor: pointer;
}

.workspace-module-pref__toggle[aria-pressed="true"] {
  background: #0f6f91;
  color: #fff;
  border-color: #0f6f91;
}

.workspace-module-pref__check {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: #183149;
  font-size: 0.68rem;
  font-weight: 800;
}

.workspaces-customizer__note {
  margin: 0;
  color: #53687c;
  font-size: 0.68rem;
}

.module-link[data-module-hidden="true"] {
  display: none !important;
}

.module-link[data-custom-accent] {
  border-left-color: var(--custom-module-accent, var(--section-accent, #0f6f91)) !important;
}

.module-link[data-custom-accent].is-active {
  color: var(--custom-module-accent, #0f6f91) !important;
}

body[data-workspace-ai="reduced"] [data-ai-slot],
body[data-workspace-ai="reduced"] .premium-ai-card,
body[data-workspace-ai="reduced"] .clinic-ai-panel {
  display: none !important;
}

.sidebar__brand-lockup {
  gap: 0.65rem;
  min-height: 3.6rem;
}

.sidebar__brand-logo {
  width: 3.05rem !important;
  height: 3.05rem !important;
}

.sidebar__brand-name {
  font-size: 0.82rem !important;
  line-height: 1.15;
  letter-spacing: 0;
}

.sidebar__brand-name strong {
  font-size: 0.9rem;
}

.sidebar__pulse-card__badge {
  max-width: 4.2rem;
  min-width: 0;
  padding: 0.16rem 0.42rem !important;
  border-radius: 999px;
  font-size: 0.58rem !important;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
}

.sidebar__pulse-card__badge.is-alert {
  animation: aapAttentionGlow 1.9s ease-in-out infinite;
  box-shadow: 0 0 0 1px rgba(181, 66, 77, 0.28), 0 0 14px rgba(181, 66, 77, 0.28);
}

@keyframes aapAttentionGlow {
  0%, 100% { box-shadow: 0 0 0 1px rgba(181, 66, 77, 0.24), 0 0 9px rgba(181, 66, 77, 0.18); }
  50% { box-shadow: 0 0 0 1px rgba(181, 66, 77, 0.42), 0 0 18px rgba(181, 66, 77, 0.36); }
}

.workspace-header--command-brief {
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.42fr);
  border-left: 4px solid #0f6f91;
  background: linear-gradient(135deg, #ffffff 0%, #edf8fb 100%);
}
/* Clinic-name eyebrow: give it room to breathe above the "Today's clinic command brief" title. */
.workspace-header--command-brief .eyebrow { margin: 0 0 0.85rem; }

.workspace-header--command-brief .workspace-header__panel {
  background: #ffffff;
  border-left: 3px solid #17476b;
}

.premium-command-grid--performance .premium-brief__header {
  align-items: start;
}

.premium-command-grid--performance .premium-ai-card {
  border-left-color: #0f6f91;
}

@media (max-width: 920px) {
  .topbar.topbar--p13 {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "hamburger menus right"
      "center center center";
    gap: 0.45rem;
  }
  .topbar.topbar--p13 .topbar__left {
    grid-area: hamburger;
    display: flex;
  }
  .topbar.topbar--p13 .topbar__left .topbar__search {
    display: none;
  }
  .topbar.topbar--p13 .topbar__center-actions,
  .topbar.topbar--p13 .topbar__action-group {
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .topbar.topbar--p13 .topbar__fancy-btn {
    min-width: 8.6rem;
    flex: 0 0 auto;
  }
  .workspaces-customizer__toolbar,
  .workspace-module-pref {
    grid-template-columns: 1fr;
  }
}

.client-facing-hub .dayboard-card,
.client-facing-hub .panel,
.client-facing-hub .draft-box,
.client-facing-hub .workflow-summary__card,
.client-facing-hub .operator-pane,
.client-facing-hub .operator-inspector {
  border-color: #d7e1eb;
  box-shadow: 0 10px 28px rgba(18, 38, 59, 0.06);
}

.client-facing-hub .item--oversight {
  border: 1px solid #d8e2ec;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
}

.client-facing-hub .item--oversight h3 {
  color: #173047;
}

.client-facing-hub .ehr-row {
  border-color: rgba(23, 49, 73, 0.08);
}

.client-facing-hub .ehr-row__primary {
  color: #173047;
}

.client-facing-hub .ehr-row__secondary {
  color: #617589;
}

.client-facing-hub .priority-pill--success,
.client-facing-hub .priority-pill--approved {
  background: #dff5e8;
  color: #0f6a39;
}

.client-facing-hub .priority-pill--danger,
.client-facing-hub .priority-pill--critical,
.client-facing-hub .priority-pill--high,
.client-facing-hub .priority-pill--blocked {
  background: #fde7e7;
  color: #b32727;
}

.client-facing-hub .priority-pill--warning,
.client-facing-hub .priority-pill--review,
.client-facing-hub .priority-pill--owner_review,
.client-facing-hub .priority-pill--needs_update,
.client-facing-hub .priority-pill--pending_payer {
  background: #fff1d8;
  color: #935c00;
}

.client-facing-hub .priority-pill--info,
.client-facing-hub .priority-pill--neutral {
  background: #e6f0fb;
  color: #1b5b9d;
}

/* Sidebar readability and menu trust pass */
.client-facing-hub .sidebar {
  background: linear-gradient(180deg, #f8fbfe 0%, #eef4fa 100%) !important;
  border: 1px solid #d7e1eb !important;
  box-shadow: 0 18px 40px rgba(16, 35, 54, 0.08) !important;
}

.client-facing-hub .sidebar__eyebrow,
.client-facing-hub .sidebar__brand h1,
.client-facing-hub .sidebar__user-chip__name,
.client-facing-hub .sidebar__user-chip__role,
.client-facing-hub .sidebar__nav-title,
.client-facing-hub .sidebar__footnote p,
.client-facing-hub .sidebar__pulse-card__eyebrow,
.client-facing-hub .sidebar__pulse-card__summary,
.client-facing-hub .sidebar__pulse-card h3,
.client-facing-hub .sidebar-pulse-metric__label,
.client-facing-hub .sidebar-pulse-metric__sub,
.client-facing-hub .sidebar-pulse-metric__value,
.client-facing-hub .sidebar__more-tools > summary {
  color: #173047 !important;
}

.client-facing-hub .sidebar__user-chip,
.client-facing-hub .sidebar__workspace-switcher,
.client-facing-hub .sidebar__pulse-card,
.client-facing-hub .sidebar__nav,
.client-facing-hub .sidebar__footnote {
  background: #ffffff !important;
  border: 1px solid #d7e1eb !important;
  box-shadow: none !important;
}

.client-facing-hub .sidebar__nav {
  padding: 0.58rem 0.44rem 0.52rem !important;
}

.client-facing-hub .sidebar__nav-block + .sidebar__nav-block {
  border-top: 1px solid #e1e8f0 !important;
}

.client-facing-hub .ws-switch-btn {
  background: #f3f7fb !important;
  border: 1px solid #d7e1eb !important;
  color: #173047 !important;
  min-height: 2rem !important;
}

.client-facing-hub .ws-switch-btn.is-active,
.client-facing-hub .ws-switch-btn:hover,
.client-facing-hub .ws-switch-btn:focus-visible {
  background: #e7f0f9 !important;
  border-color: #b8cfe4 !important;
  color: #10273c !important;
}

.client-facing-hub .sidebar__pulse-card__badge {
  background: #ecf4fb !important;
  border: 1px solid #cfe0ef !important;
  color: #174160 !important;
}

.client-facing-hub .sidebar__pulse-card__badge.is-alert {
  background: #fde8e8 !important;
  border-color: #f4c1c1 !important;
  color: #ab2626 !important;
}

.client-facing-hub .sidebar-pulse-metric {
  background: #f8fbfe !important;
  border: 1px solid #dfe8f1 !important;
}

.client-facing-hub .ghost-button--sidebar {
  background: #eef5fb !important;
  color: #163149 !important;
  border: 1px solid #d3e1ee !important;
}

.client-facing-hub .ghost-button--sidebar:hover,
.client-facing-hub .ghost-button--sidebar:focus-visible {
  background: #e2edf8 !important;
  color: #10273c !important;
}

.client-facing-hub .module-link {
  min-height: 1.84rem !important;
  padding: 0.36rem 0.58rem 0.36rem 0.74rem !important;
  border-radius: 8px !important;
  border: 1px solid #dbe5ee !important;
  background: #fbfdff !important;
  color: #173047 !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
}

.client-facing-hub .module-link::before {
  width: 0.16rem !important;
  height: 0.9rem !important;
}

.client-facing-hub .module-link:hover,
.client-facing-hub .module-link:focus-visible {
  background: #eff5fb !important;
  border-color: #c6d8e9 !important;
  color: #10273c !important;
}

.client-facing-hub .module-link.is-active {
  background: #e7f0f9 !important;
  border-color: #b7cfe4 !important;
  color: #10273c !important;
  box-shadow: inset 0 0 0 1px rgba(183, 207, 228, 0.45) !important;
}

.client-facing-hub .nav-alert-badge {
  background: #d94b4b !important;
  color: #ffffff !important;
  border: 1px solid #c63c3c !important;
}

.client-facing-hub .module-link.page-hidden,
.client-facing-hub .sidebar__nav-block.page-hidden,
.client-facing-hub .sidebar__more-tools.page-hidden,
.client-facing-hub .command-menu.page-hidden {
  display: none !important;
}

.client-facing-hub .sidebar__more-tools {
  border-top: 1px solid #e1e8f0 !important;
}

.client-facing-hub .sidebar__more-tools > summary {
  background: transparent !important;
}

.client-facing-hub .sidebar__more-tools > summary::after {
  color: #5f7891 !important;
}

/* Screenshot-driven rail and dashboard refinement */
.client-facing-hub .app-frame {
  grid-template-columns: 14.5rem minmax(0, 1fr) !important;
  gap: 0.62rem !important;
  padding: 0.62rem !important;
}

.client-facing-hub .main-shell {
  gap: 0.42rem !important;
}

.client-facing-hub .sidebar {
  top: 0.42rem !important;
  height: calc(100vh - 0.84rem) !important;
  max-height: calc(100vh - 0.84rem) !important;
  gap: 0.34rem !important;
  padding: 0.42rem 0.4rem 0.46rem !important;
  border-radius: 10px !important;
}

.client-facing-hub .sidebar__brand {
  gap: 0.18rem !important;
  padding: 0 0 0.24rem !important;
}

.client-facing-hub .sidebar__brand-logo {
  max-width: 4.75rem !important;
}

.client-facing-hub .sidebar__brand h1 {
  margin: 0.02rem 0 0.08rem !important;
  font-size: 0.68rem !important;
  line-height: 1.18 !important;
  letter-spacing: 0.1em !important;
}

.client-facing-hub .sidebar__user-chip {
  padding: 0.18rem 0.3rem !important;
}

.client-facing-hub .sidebar__user-chip__name {
  font-size: 0.76rem !important;
}

.client-facing-hub .sidebar__user-chip__role {
  font-size: 0.56rem !important;
}

.client-facing-hub .sidebar__workspace-switcher {
  grid-template-columns: 0.98fr 0.98fr 1.12fr !important;
  gap: 0.16rem !important;
  padding: 0.12rem !important;
}

.client-facing-hub .ws-switch-btn {
  min-height: 1.74rem !important;
  padding: 0.12rem 0.08rem !important;
  border-radius: 6px !important;
  font-size: 0.54rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  text-wrap: auto !important;
}

.client-facing-hub .sidebar__pulse-card {
  gap: 0.34rem !important;
  padding: 0.44rem !important;
}

.client-facing-hub .sidebar__pulse-card__header {
  align-items: center !important;
}

.client-facing-hub .sidebar__pulse-card h3 {
  font-size: 0.8rem !important;
  line-height: 1.08 !important;
}

.client-facing-hub .sidebar__pulse-card__summary {
  font-size: 0.65rem !important;
  line-height: 1.34 !important;
}

.client-facing-hub .sidebar__pulse-card__metrics {
  gap: 0.24rem !important;
}

.client-facing-hub .sidebar-pulse-metric {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 0.06rem 0.4rem !important;
  padding: 0.4rem 0.46rem !important;
  border-radius: 10px !important;
}

.client-facing-hub .sidebar-pulse-metric__label {
  font-size: 0.52rem !important;
  letter-spacing: 0.11em !important;
}

.client-facing-hub .sidebar-pulse-metric__value {
  justify-self: end !important;
  font-size: 0.92rem !important;
  line-height: 1 !important;
}

.client-facing-hub .sidebar-pulse-metric__sub {
  grid-column: 1 / -1 !important;
  font-size: 0.61rem !important;
  line-height: 1.22 !important;
}

.client-facing-hub .sidebar__pulse-card__actions {
  gap: 0.22rem !important;
}

.client-facing-hub .ghost-button--sidebar {
  min-height: 1.8rem !important;
  padding: 0.14rem 0.5rem !important;
  font-size: 0.64rem !important;
}

.client-facing-hub .sidebar__nav {
  padding: 0.42rem 0.28rem 0.36rem 0.02rem !important;
  gap: 0.36rem !important;
}

.client-facing-hub .sidebar__nav-title {
  margin-bottom: 0.18rem !important;
  font-size: 0.54rem !important;
  letter-spacing: 0.15em !important;
}

.client-facing-hub .sidebar__nav-block + .sidebar__nav-block {
  margin-top: 0.28rem !important;
  padding-top: 0.3rem !important;
}

.client-facing-hub .module-link {
  min-height: 1.66rem !important;
  padding: 0.28rem 0.46rem 0.28rem 0.62rem !important;
  border-radius: 7px !important;
  font-size: 0.72rem !important;
  line-height: 1.16 !important;
}

.client-facing-hub .sidebar__more-tools {
  padding-top: 0.3rem !important;
}

.client-facing-hub .sidebar__more-tools > summary {
  min-height: 1.28rem !important;
  padding: 0.1rem 0.06rem !important;
  font-size: 0.54rem !important;
}

.client-facing-hub .sidebar__footnote {
  padding-top: 0.2rem !important;
}

.client-facing-hub .sidebar__footnote p {
  font-size: 0.58rem !important;
  line-height: 1.25 !important;
}

.client-facing-hub .workspace-page-strip {
  padding: 0.56rem 0.74rem 0.6rem !important;
}

.client-facing-hub .workspace-shell-strip {
  padding: 0.48rem 0.68rem 0.54rem !important;
}

.client-facing-hub .dayboard {
  grid-template-columns: minmax(0, 1.36fr) repeat(2, minmax(16.5rem, 1fr)) !important;
  gap: 0.68rem !important;
}

.client-facing-hub .dayboard__main,
.client-facing-hub .dayboard__col {
  gap: 0.68rem !important;
}

.client-facing-hub .dayboard-card {
  min-width: 0 !important;
}

.client-facing-hub .dayboard-card__header {
  padding: 0.72rem 0.82rem 0.46rem !important;
}

.client-facing-hub .dayboard-card__title {
  font-size: 0.68rem !important;
}

.client-facing-hub .dayboard-card__action {
  min-height: 1.76rem !important;
  padding: 0.22rem 0.58rem !important;
  border-radius: 8px !important;
  font-size: 0.66rem !important;
}

.client-facing-hub .dayboard-card__body {
  padding: 0 0.82rem 0.84rem !important;
}

.client-facing-hub .command-home-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.32fr) minmax(11.5rem, 0.78fr) !important;
  gap: 0.66rem 0.86rem !important;
  padding: 0.84rem 0.88rem !important;
}

.client-facing-hub .command-home-hero h3 {
  font-size: 1.28rem !important;
  line-height: 1.02 !important;
}

.client-facing-hub .command-home-hero p {
  max-width: none !important;
  font-size: 0.8rem !important;
  line-height: 1.38 !important;
}

.client-facing-hub .command-home-hero__meta {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.4rem !important;
  align-self: start !important;
}

.client-facing-hub .command-home-hero__metric {
  padding: 0.48rem 0.54rem !important;
  min-width: 0 !important;
}

.client-facing-hub .command-home-hero__metric span {
  font-size: 0.54rem !important;
  letter-spacing: 0.11em !important;
}

.client-facing-hub .command-home-hero__metric strong {
  font-size: 0.82rem !important;
  line-height: 1.12 !important;
}

.client-facing-hub .command-home-hero__actions {
  grid-column: 1 / -1 !important;
  gap: 0.34rem !important;
}

.client-facing-hub .command-home-lanes {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.54rem !important;
  padding: 0.6rem 0.74rem 0 !important;
}

.client-facing-hub .command-home-lane {
  padding: 0.62rem 0.68rem !important;
  border-radius: 12px !important;
}

.client-facing-hub .command-home-lane__label {
  font-size: 0.52rem !important;
  line-height: 1.1 !important;
}

.client-facing-hub .command-home-lane__value {
  font-size: 1.05rem !important;
  line-height: 1.02 !important;
}

.client-facing-hub .command-home-lane__sub {
  font-size: 0.62rem !important;
  line-height: 1.24 !important;
}

.client-facing-hub .ghost-button--lane {
  min-height: 1.76rem !important;
  padding-inline: 0.56rem !important;
  font-size: 0.63rem !important;
}

.client-facing-hub .dayboard-stat-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.44rem !important;
  padding: 0.64rem 0.74rem 0.06rem !important;
}

.client-facing-hub .dayboard-stat {
  min-width: 0 !important;
  padding: 0.44rem 0.5rem !important;
}

.client-facing-hub .dayboard-stat:last-child {
  grid-column: 1 / -1 !important;
}

.client-facing-hub .dayboard-stat__label {
  font-size: 0.53rem !important;
}

.client-facing-hub .dayboard-stat__value {
  font-size: 0.96rem !important;
  line-height: 1.04 !important;
}

.client-facing-hub .dayboard-stat__sub {
  font-size: 0.62rem !important;
  line-height: 1.24 !important;
}

.client-facing-hub .command-home-ai-note {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 0.44rem 0.6rem !important;
  margin-top: 0.62rem !important;
  padding: 0.72rem 0.8rem !important;
}

.client-facing-hub .command-home-ai-note p {
  margin: 0 !important;
  font-size: 0.74rem !important;
  line-height: 1.42 !important;
}

.client-facing-hub .module-three-up {
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1.02fr) minmax(15.5rem, 0.9fr) !important;
  gap: 0.72rem !important;
  align-items: start !important;
}

.client-facing-hub .metrics-grid {
  grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr)) !important;
  gap: 0.72rem !important;
}

.client-facing-hub .charts-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.72rem !important;
}

.client-facing-hub .content-grid {
  gap: 0.72rem !important;
}

@media (max-width: 1500px) {
  .client-facing-hub .dayboard {
    grid-template-columns: minmax(0, 1.15fr) repeat(2, minmax(15rem, 1fr)) !important;
  }
}

@media (max-width: 1320px) {
  .client-facing-hub .dayboard {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .client-facing-hub .dayboard__main {
    grid-row: auto !important;
  }

  .client-facing-hub .module-three-up,
  .client-facing-hub .charts-grid {
    grid-template-columns: 1fr !important;
  }
}

/* RCM and credentialing command refinement */
.client-facing-hub .module-ai-assistant {
  border-radius: 8px !important;
  border-color: #a9c4e8 !important;
  background: linear-gradient(180deg, #f7fbff 0%, #eaf4ff 100%) !important;
  box-shadow: none !important;
}

.client-facing-hub .module-ai-assistant__header {
  padding-bottom: 0.35rem !important;
  border-bottom: 1px solid #c5d8ed !important;
}

.client-facing-hub .module-ai-assistant__body {
  font-size: 0.76rem !important;
  line-height: 1.4 !important;
  color: #29445e !important;
}

.module-ai-assistant__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.4rem;
  margin-top: 0.55rem;
}

.module-ai-assistant__stat {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.42rem 0.48rem;
  border: 1px solid #c8d8e8;
  border-radius: 7px;
  background: #ffffff;
}

.module-ai-assistant__stat span {
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #526b83;
}

.module-ai-assistant__stat strong {
  font-size: 0.95rem;
  line-height: 1;
  color: #15344f;
}

.module-ai-assistant__stat--success strong,
.money-in {
  color: #087443 !important;
}

.module-ai-assistant__stat--warning strong {
  color: #a35d02 !important;
}

.module-ai-assistant__stat--danger strong,
.money-out {
  color: #c43145 !important;
}

.module-ai-assistant__automation {
  margin-top: 0.5rem;
  padding: 0.46rem 0.56rem;
  border-left: 3px solid #1d75d8;
  background: #f8fbff;
  color: #29445e;
  font-size: 0.72rem;
  line-height: 1.35;
}

.client-facing-hub .panel--module-claims,
.client-facing-hub .panel--module-credentialing {
  border-radius: 8px !important;
  padding: 0.72rem !important;
}

.client-facing-hub .panel--module-claims .summary-text {
  margin: 0.45rem 0 0.55rem !important;
  max-width: 72rem !important;
  font-size: 0.78rem !important;
}

.rcm-command-shell {
  display: grid;
  gap: 0.55rem;
}

.client-facing-hub .workspace-snapshot-grid--rcm {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.45rem !important;
}

.client-facing-hub .workspace-snapshot-card {
  min-height: 0 !important;
  padding: 0.5rem 0.58rem !important;
  border-radius: 7px !important;
}

.client-facing-hub .workspace-snapshot-card__label,
.client-facing-hub .workspace-snapshot-card__sub {
  font-size: 0.56rem !important;
}

.client-facing-hub .workspace-snapshot-card__value {
  font-size: 1.05rem !important;
}

.rcm-automation-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.42rem;
}

.rcm-automation-rail__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.42rem 0.52rem;
  border: 1px solid #bfd1e3;
  border-radius: 7px;
  background: #f8fbfe;
}

.rcm-automation-rail__item span {
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #526b83;
}

.rcm-automation-rail__item strong {
  overflow: hidden;
  max-width: 58%;
  color: #15344f;
  font-size: 0.72rem;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rcm-automation-rail__item--success {
  border-color: #a5d8be;
  background: #f2fff8;
}

.rcm-automation-rail__item--warning {
  border-color: #f4d28c;
  background: #fffaf0;
}

.rcm-automation-rail__item--danger {
  border-color: #f0b0b8;
  background: #fff5f6;
}

.client-facing-hub .workspace-premium-banner {
  margin-top: 0 !important;
  padding: 0.62rem 0.72rem !important;
  border-radius: 8px !important;
}

.client-facing-hub .workspace-premium-banner h4 {
  font-size: 0.98rem !important;
}

.client-facing-hub .workspace-premium-banner p {
  font-size: 0.75rem !important;
  line-height: 1.32 !important;
}

.client-facing-hub .workbench-bucket-grid {
  gap: 0.48rem !important;
  margin-top: 0.2rem !important;
}

.client-facing-hub .workbench-bucket {
  min-height: 0 !important;
  padding: 0.62rem 0.68rem !important;
  border-radius: 7px !important;
}

.client-facing-hub .workbench-bucket__header h4 {
  font-size: 0.88rem !important;
}

.client-facing-hub .workbench-bucket__detail,
.client-facing-hub .workbench-bucket__items {
  font-size: 0.68rem !important;
  line-height: 1.34 !important;
}

.client-facing-hub .module-three-up {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.52rem !important;
  margin-top: 0.56rem !important;
}

.client-facing-hub .module-three-up h3,
.client-facing-hub .claims-workspace-pane h3,
.client-facing-hub .denials-workspace-pane h3 {
  margin: 0 0 0.34rem !important;
  font-size: 0.86rem !important;
}

.client-facing-hub .chart-shell {
  min-height: 8.5rem !important;
  padding: 0.46rem !important;
  border-radius: 7px !important;
}

.client-facing-hub .claims-workspace-grid {
  display: grid !important;
  grid-template-columns: minmax(34rem, 1.4fr) minmax(22rem, 0.85fr) !important;
  gap: 0.58rem !important;
  margin-top: 0.62rem !important;
  align-items: start !important;
}

.client-facing-hub .claims-workspace-pane {
  min-width: 0 !important;
}

.claims-queue-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.46rem 0.58rem;
  border: 1px solid #bfd1e3;
  border-bottom: 0;
  border-radius: 7px 7px 0 0;
  background: #f7fbff;
}

.claims-queue-toolbar strong {
  color: #15344f;
  font-size: 0.82rem;
}

.claims-queue-toolbar__legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.42rem;
  color: #526b83;
  font-size: 0.65rem;
  font-weight: 700;
}

.client-facing-hub .claims-table-wrap {
  max-height: 18rem !important;
  overflow: auto !important;
  border-radius: 0 0 7px 7px !important;
}

.client-facing-hub .claims-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 0.42rem 0.48rem !important;
  color: #18364f !important;
  font-size: 0.6rem !important;
}

.client-facing-hub .claims-table td {
  padding: 0.42rem 0.48rem !important;
  font-size: 0.72rem !important;
}

.claims-table__action {
  max-width: 16rem;
  color: #3e5b73;
  font-size: 0.66rem !important;
  line-height: 1.25;
}

.rcm-claim-inspector {
  border-radius: 7px !important;
}

.rcm-claim-inspector__header {
  padding: 0.62rem 0.68rem !important;
}

.rcm-claim-inspector__money {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.42rem;
  padding: 0.56rem 0.68rem;
  border-bottom: 1px solid #d8e4ef;
  background: #fbfdff;
}

.rcm-claim-inspector__money div {
  display: grid;
  gap: 0.12rem;
}

.rcm-claim-inspector__money span {
  color: #526b83;
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rcm-claim-inspector__money strong {
  color: #15344f;
  font-size: 1rem;
}

.client-facing-hub .rcm-claim-inspector__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.42rem !important;
  padding: 0.6rem 0.68rem 0 !important;
}

.rcm-action-plan {
  display: grid;
  gap: 0.48rem;
  margin: 0.62rem 0.68rem 0.68rem;
  padding: 0.6rem;
  border: 1px solid #bfd1e3;
  border-left: 3px solid #1d75d8;
  border-radius: 7px;
  background: #f8fbff;
}

.rcm-action-plan strong {
  display: block;
  color: #15344f;
  font-size: 0.78rem;
  line-height: 1.3;
}

.rcm-action-plan span {
  display: block;
  margin-top: 0.18rem;
  color: #526b83;
  font-size: 0.68rem;
  line-height: 1.35;
}

.rcm-action-plan__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.34rem;
}

.client-facing-hub .claims-workspace-pane--inspector .workbench-bucket-grid--stacked {
  max-height: 19rem;
  overflow: auto;
}

body[data-current-page="claims"] .panel--module-claims,
body[data-current-page="denials"] .panel--module-denials {
  padding: 0.68rem !important;
}

body[data-current-page="claims"] .panel--module-claims > .summary-text,
body[data-current-page="denials"] .panel--module-denials > .summary-text {
  margin: 0.34rem 0 0.48rem !important;
  font-size: 0.74rem !important;
  line-height: 1.34 !important;
}

body[data-current-page="claims"] #claims-scrub-summary,
body[data-current-page="denials"] #denials-summary {
  margin-bottom: 0.54rem !important;
}

body[data-current-page="claims"] #claims-scrub-summary .workspace-premium-banner,
body[data-current-page="denials"] #denials-summary .workspace-premium-banner {
  padding: 0.5rem 0.6rem !important;
}

body[data-current-page="claims"] #claims-scrub-summary .workspace-premium-banner h4,
body[data-current-page="denials"] #denials-summary .workspace-premium-banner h4 {
  font-size: 0.92rem !important;
}

body[data-current-page="claims"] #claims-scrub-summary .workspace-premium-banner p,
body[data-current-page="denials"] #denials-summary .workspace-premium-banner p {
  font-size: 0.68rem !important;
  line-height: 1.28 !important;
}

body[data-current-page="claims"] #claims-scrub-summary .workbench-bucket-grid,
body[data-current-page="denials"] #denials-summary .workbench-bucket-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.38rem !important;
}

body[data-current-page="claims"] #claims-scrub-summary .workbench-bucket,
body[data-current-page="denials"] #denials-summary .workbench-bucket {
  min-height: 0 !important;
  padding: 0.46rem 0.52rem !important;
}

body[data-current-page="claims"] #claims-scrub-summary .workbench-bucket__items,
body[data-current-page="denials"] #denials-summary .workbench-bucket__items {
  max-height: 3.2rem !important;
  overflow: auto !important;
}

body[data-current-page="claims"] .module-three-up,
body[data-current-page="denials"] .module-three-up {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.42rem !important;
  margin-top: 0.46rem !important;
}

body[data-current-page="claims"] .chart-shell,
body[data-current-page="denials"] .chart-shell {
  min-height: 6.4rem !important;
  max-height: 7.6rem !important;
}

body[data-current-page="claims"] .claims-workspace-grid,
body[data-current-page="denials"] .denials-workspace-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.68fr) !important;
  gap: 0.5rem !important;
  margin-top: 0.5rem !important;
}

body[data-current-page="claims"] .claims-workspace-pane,
body[data-current-page="denials"] .denials-workspace-pane {
  padding: 0.54rem !important;
  border-radius: 8px !important;
}

body[data-current-page="claims"] #claims-list .claims-table-wrap,
body[data-current-page="denials"] #denials-list .claims-table-wrap {
  max-height: 14.5rem !important;
}

body[data-current-page="claims"] #claims-inspector,
body[data-current-page="denials"] #denials-inspector {
  max-height: 21rem !important;
  overflow: auto !important;
}

body[data-current-page="claims"] #claims-scrub-list {
  max-height: 8rem !important;
  overflow: auto !important;
}

body[data-current-page="claims"] .rcm-claim-inspector__header,
body[data-current-page="denials"] .rcm-claim-inspector__header,
body[data-current-page="denials"] .workspace-inspector-card__header {
  padding: 0.46rem 0.52rem !important;
}

body[data-current-page="claims"] .rcm-claim-inspector__money {
  padding: 0.42rem 0.52rem !important;
}

body[data-current-page="claims"] .rcm-action-plan,
body[data-current-page="denials"] .rcm-action-plan {
  margin: 0.48rem 0.52rem 0.52rem !important;
  padding: 0.5rem !important;
}

body[data-current-page="staff-ops"] #module-work-queue {
  padding: 0.68rem !important;
}

body[data-current-page="staff-ops"] #module-work-queue > .summary-text {
  margin: 0.34rem 0 0.48rem !important;
  font-size: 0.74rem !important;
  line-height: 1.34 !important;
}

body[data-current-page="staff-ops"] #task-center-summary {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.46rem !important;
  margin-bottom: 0.56rem !important;
}

body[data-current-page="staff-ops"] #task-center-summary .workflow-summary__card {
  min-height: 0 !important;
  padding: 0.5rem 0.58rem !important;
}

body[data-current-page="staff-ops"] #module-work-queue .module-two-up {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.58rem !important;
  align-items: start !important;
}

body[data-current-page="staff-ops"] #module-work-queue .module-two-up + .module-two-up {
  margin-top: 0.58rem !important;
}

body[data-current-page="staff-ops"] #module-work-queue h3 {
  margin: 0 0 0.34rem !important;
  color: #102c47 !important;
  font-size: 0.82rem !important;
}

body[data-current-page="staff-ops"] #work-queue-list,
body[data-current-page="staff-ops"] #executive-summary-list,
body[data-current-page="staff-ops"] #blocker-log-list,
body[data-current-page="staff-ops"] #decision-log-list {
  max-height: 15rem !important;
  overflow: auto !important;
  scrollbar-color: #8ba6bf #eef5fb;
}

body[data-current-page="staff-ops"] #work-queue-list .item,
body[data-current-page="staff-ops"] #executive-summary-list .item,
body[data-current-page="staff-ops"] #blocker-log-list .item,
body[data-current-page="staff-ops"] #decision-log-list .item {
  padding: 0.52rem 0.58rem !important;
}

@media (max-width: 1320px) {
  body[data-current-page="staff-ops"] #task-center-summary,
  body[data-current-page="staff-ops"] #module-work-queue .module-two-up {
    grid-template-columns: 1fr !important;
  }
}

.client-facing-hub .credentialing-workspace-header {
  padding: 0.56rem 0.62rem !important;
  border-radius: 8px !important;
}

.client-facing-hub .cred-roster-split {
  grid-template-columns: minmax(15rem, 0.42fr) minmax(0, 1fr) !important;
  gap: 0.58rem !important;
  min-height: 0 !important;
}

.client-facing-hub .cred-roster-pane,
.client-facing-hub .cred-detail-pane {
  min-width: 0 !important;
}

.client-facing-hub .cred-roster-pane .stack,
.client-facing-hub #credentialing-list {
  max-height: 28rem !important;
  overflow: auto !important;
}

.cred-provider-command {
  padding: 0.62rem 0.68rem !important;
  border-radius: 7px !important;
}

.cred-readiness-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.36rem;
  margin-top: 0.52rem;
}

.cred-readiness-strip__item {
  display: grid;
  gap: 0.1rem;
  padding: 0.38rem 0.44rem;
  border: 1px solid #c8d8e8;
  border-radius: 6px;
  background: #f8fbff;
  color: #526b83;
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cred-readiness-strip__item strong {
  color: #15344f;
  font-size: 0.72rem;
  letter-spacing: 0;
  text-transform: none;
}

.cred-command-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.52rem;
  margin-top: 0.56rem;
}

.cred-command-card {
  min-height: 9rem !important;
  padding: 0.66rem 0.72rem !important;
  border-radius: 7px !important;
}

.cred-command-card--danger {
  border-left: 3px solid #cf3448 !important;
}

.cred-command-card--warning {
  border-left: 3px solid #c97604 !important;
}

.client-facing-hub .cred-command-card .help-library-card__steps {
  margin-top: 0.42rem !important;
  font-size: 0.75rem !important;
  line-height: 1.38 !important;
}

.client-facing-hub .cred-command-card .item__meta {
  font-size: 0.66rem !important;
}

@media (max-width: 1320px) {
  .module-ai-assistant__stats,
  .client-facing-hub .workspace-snapshot-grid--rcm,
  .rcm-automation-rail,
  .client-facing-hub .module-three-up,
  .client-facing-hub .claims-workspace-grid,
  .client-facing-hub .cred-roster-split,
  .cred-command-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Major client-facing refinement: compact RCM/reporting + operator console */
.client-facing-hub .sidebar {
  color: #102c47 !important;
}

.client-facing-hub .sidebar__nav {
  scrollbar-color: #7f98b0 #e8f0f8;
}

.client-facing-hub .module-link,
.client-facing-hub .sidebar__more-tools > summary,
.client-facing-hub .ws-switch-btn {
  color: #0f2b46 !important;
  background: #f8fbff !important;
  border-color: #b8cadd !important;
}

.client-facing-hub .module-link:hover,
.client-facing-hub .module-link:focus-visible,
.client-facing-hub .module-link.is-active,
.client-facing-hub .ws-switch-btn:hover,
.client-facing-hub .ws-switch-btn:focus-visible,
.client-facing-hub .ws-switch-btn.is-active {
  color: #061a2f !important;
  background: #eaf4ff !important;
  border-color: #1e6ba8 !important;
  box-shadow: inset 3px 0 0 #1e6ba8 !important;
}

.client-facing-hub .command-menu__panel {
  z-index: 80 !important;
  border-color: #9eb8d0 !important;
  color: #0f2b46 !important;
}

body[data-current-page="reporting"] .revenue-workspace-window,
body[data-current-page="staff-ops"] .revenue-workspace-window {
  padding: 0.58rem 0.68rem !important;
}

body[data-current-page="reporting"] .revenue-workspace-window__header,
body[data-current-page="staff-ops"] .revenue-workspace-window__header {
  padding: 0.08rem 0 0.42rem !important;
}

body[data-current-page="reporting"] .revenue-workspace-window__brand h2,
body[data-current-page="staff-ops"] .revenue-workspace-window__brand h2 {
  font-size: 1.02rem !important;
}

body[data-current-page="reporting"] .revenue-workspace-window__kpi,
body[data-current-page="staff-ops"] .revenue-workspace-window__kpi {
  margin-bottom: 0.5rem !important;
}

body[data-current-page="reporting"] .revenue-workspace-window__tabs,
body[data-current-page="staff-ops"] .revenue-workspace-window__tabs {
  min-height: 2.15rem !important;
  padding: 0.22rem !important;
}

.client-facing-hub #module-reporting {
  padding: 0.72rem !important;
}

.client-facing-hub #module-reporting > .summary-text {
  margin: 0.34rem 0 0.5rem !important;
  max-width: 76rem !important;
  font-size: 0.76rem !important;
}

.client-facing-hub #module-reporting .workflow-summary {
  grid-template-columns: repeat(4, minmax(8.5rem, 1fr)) !important;
  gap: 0.42rem !important;
  margin-bottom: 0.58rem !important;
}

.client-facing-hub #reporting-kpi-shell,
.client-facing-hub #claims-scrub-summary,
.client-facing-hub #denials-summary {
  display: block !important;
}

.client-facing-hub #reporting-kpi-shell .workbench-bucket-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.client-facing-hub #module-reporting .workflow-summary__card {
  min-height: 0 !important;
  padding: 0.46rem 0.52rem !important;
  border-radius: 7px !important;
}

.client-facing-hub #module-reporting .module-two-up {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr) !important;
  gap: 0.58rem !important;
  align-items: start !important;
}

.client-facing-hub #module-reporting .module-three-up {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.5rem !important;
}

.client-facing-hub #module-reporting h3 {
  margin: 0 0 0.32rem !important;
  color: #102c47 !important;
  font-size: 0.82rem !important;
}

.client-facing-hub #module-reporting .chart-shell {
  min-height: 7.6rem !important;
  max-height: 9rem !important;
  overflow: hidden !important;
}

.client-facing-hub .revenue-workspace-window__kpi {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.46rem !important;
  align-items: stretch !important;
}

.client-facing-hub .rev-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.34rem;
}

.client-facing-hub .rev-kpi-cell {
  min-width: 0;
  padding: 0.38rem 0.44rem !important;
  border: 1px solid #bed1e4 !important;
  border-top: 2px solid #1e6ba8 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
}

.client-facing-hub .rev-kpi-cell__label {
  display: block;
  color: #5b738b !important;
  font-size: 0.5rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.client-facing-hub .rev-kpi-cell__value {
  display: block;
  margin-top: 0.1rem;
  color: #102c47 !important;
  font-size: 0.86rem !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
}

.client-facing-hub .rev-kpi-cell__value--success {
  color: #087342 !important;
}

.client-facing-hub .rev-kpi-cell__value--warning {
  color: #a76506 !important;
}

.client-facing-hub .rev-kpi-cell__value--danger {
  color: #bf2e44 !important;
}

.client-facing-hub .rev-automation-cockpit {
  display: grid;
  grid-template-columns: minmax(11rem, 0.34fr) minmax(0, 1fr) auto;
  gap: 0.42rem;
  align-items: stretch;
  padding: 0.42rem;
  border: 1px solid #a9c9e9;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(228, 242, 255, 0.94), rgba(247, 252, 255, 0.98)),
    #f7fbff;
}

.client-facing-hub .rev-automation-cockpit__lead {
  display: grid;
  align-content: center;
  gap: 0.12rem;
  padding-right: 0.42rem;
  border-right: 1px solid #c6d9eb;
}

.client-facing-hub .rev-automation-cockpit__lead span,
.client-facing-hub .rev-auto-step span {
  color: #526b83;
  font-size: 0.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.client-facing-hub .rev-automation-cockpit__lead strong {
  color: #102c47;
  font-size: 0.82rem;
  line-height: 1.12;
}

.client-facing-hub .rev-automation-cockpit__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(6.2rem, 1fr));
  gap: 0.28rem;
}

.client-facing-hub .rev-auto-step {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
  padding: 0.3rem 0.34rem;
  border: 1px solid #c5d7e8;
  border-radius: 6px;
  background: #fff;
}

.client-facing-hub .rev-auto-step strong {
  color: #102c47;
  font-size: 0.67rem;
  line-height: 1.15;
  white-space: normal;
}

.client-facing-hub .rev-auto-step--success {
  border-color: #9ad1b5;
  background: #f2fff8;
}

.client-facing-hub .rev-auto-step--danger {
  border-color: #f0aab5;
  background: #fff5f6;
}

.client-facing-hub .rev-auto-step--warning {
  border-color: #eccb82;
  background: #fffaf0;
}

.client-facing-hub .rev-automation-cockpit__actions {
  display: grid;
  grid-auto-flow: column;
  gap: 0.28rem;
  align-items: center;
}

.client-facing-hub .rev-automation-cockpit__actions .ghost-button,
.client-facing-hub .rev-automation-cockpit__actions .action-button {
  min-height: 1.68rem !important;
  padding: 0.25rem 0.48rem !important;
  font-size: 0.58rem !important;
}

.client-facing-hub #reporting-weekly-summary,
.client-facing-hub #reporting-issue-tracker,
.client-facing-hub #reporting-contract-repository,
.client-facing-hub #reporting-onboarding-readiness,
.client-facing-hub #providers-list,
.client-facing-hub #practice-reports-list {
  max-height: 13rem !important;
  overflow: auto !important;
  scrollbar-color: #8ba6bf #eef5fb;
}

.client-facing-hub #reporting-issue-tracker .item,
.client-facing-hub #reporting-contract-repository .item,
.client-facing-hub #reporting-onboarding-readiness .item,
.client-facing-hub #providers-list .item,
.client-facing-hub #practice-reports-list .item {
  padding: 0.52rem 0.58rem !important;
}

body[data-current-page="operator-console"] .operator-workspace {
  gap: 0.5rem !important;
}

body[data-current-page="operator-console"] .operator-workspace__header {
  padding: 0.5rem 0.58rem !important;
  border-radius: 8px !important;
}

body[data-current-page="operator-console"] .operator-workspace__header h3 {
  font-size: 1rem !important;
}

body[data-current-page="operator-console"] .operator-workspace__header .summary-text {
  max-width: 48rem !important;
  font-size: 0.72rem !important;
}

body[data-current-page="operator-console"] .operator-workspace__meta {
  gap: 0.25rem !important;
}

body[data-current-page="operator-console"] .operator-meta-pill {
  min-height: 1.4rem !important;
  padding: 0.2rem 0.4rem !important;
  font-size: 0.6rem !important;
}

body[data-current-page="operator-console"] .operator-subtabs {
  gap: 0.2rem !important;
  padding: 0.22rem !important;
  overflow-x: auto !important;
}

body[data-current-page="operator-console"] .operator-subtab {
  min-height: 1.76rem !important;
  padding: 0.24rem 0.42rem !important;
  white-space: nowrap !important;
}

body[data-current-page="operator-console"] .operator-filterbar {
  grid-template-columns: repeat(5, minmax(7.4rem, 1fr)) auto auto !important;
  gap: 0.22rem !important;
  padding: 0.3rem !important;
}

body[data-current-page="operator-console"] .operator-filterbar label {
  font-size: 0.5rem !important;
}

body[data-current-page="operator-console"] .operator-filterbar input,
body[data-current-page="operator-console"] .operator-filterbar select {
  min-height: 1.62rem !important;
  font-size: 0.62rem !important;
}

body[data-current-page="operator-console"] .operator-filterbar__search {
  grid-column: span 2 !important;
}

body[data-current-page="operator-console"] .operator-filterbar .ghost-button {
  align-self: end !important;
  min-height: 1.62rem !important;
  padding: 0.24rem 0.5rem !important;
}

body[data-current-page="operator-console"] .operator-kpi-strip {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: 0.26rem !important;
}

body[data-current-page="operator-console"] .operator-kpi {
  min-height: 0 !important;
  padding: 0.34rem 0.38rem !important;
}

body[data-current-page="operator-console"] .operator-kpi__label {
  font-size: 0.5rem !important;
}

body[data-current-page="operator-console"] .operator-kpi__value {
  font-size: 0.76rem !important;
}

body[data-current-page="operator-console"] .operator-quick-actions {
  gap: 0.24rem !important;
  padding: 0.28rem !important;
  border: 1px solid #bfd1e3 !important;
  border-radius: 8px !important;
  background: #f7fbff !important;
}

body[data-current-page="operator-console"] .operator-quick-actions .ghost-button {
  min-height: 1.72rem !important;
  padding: 0.24rem 0.48rem !important;
  font-size: 0.62rem !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-quick-actions {
  display: none !important;
}

body[data-current-page="operator-console"].client-facing-hub #module-operator-console .item__actions {
  display: none !important;
}

body[data-current-page="operator-console"] .operator-workspace__body {
  grid-template-columns: minmax(0, 1.72fr) minmax(17rem, 0.54fr) !important;
  gap: 0.5rem !important;
}

body[data-current-page="operator-console"] .operator-pane__header {
  padding: 0.32rem 0.45rem !important;
}

body[data-current-page="operator-console"] #operator-console-alerts-list {
  max-height: 9.5rem !important;
  overflow: auto !important;
}

body[data-current-page="operator-console"] #operator-console-table-shell {
  max-height: 31rem !important;
  overflow: auto !important;
}

body[data-current-page="operator-console"] .operator-table-stack {
  display: grid !important;
  gap: 0.54rem !important;
  padding: 0.44rem !important;
}

body[data-current-page="operator-console"] .operator-practice-list {
  gap: 0.54rem !important;
}

body[data-current-page="operator-console"] .operator-practice-card {
  gap: 0.5rem !important;
  padding: 0.62rem 0.68rem !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

body[data-current-page="operator-console"] .operator-practice-card__header,
body[data-current-page="operator-console"] .operator-practice-card__footer {
  gap: 0.45rem !important;
}

body[data-current-page="operator-console"] .operator-practice-card__header h3 {
  margin: 0 !important;
  font-size: 0.9rem !important;
}

body[data-current-page="operator-console"] .operator-practice-card__meta,
body[data-current-page="operator-console"] .operator-practice-card__list,
body[data-current-page="operator-console"] .operator-practice-panel__list {
  font-size: 0.66rem !important;
  line-height: 1.28 !important;
}

body[data-current-page="operator-console"] .operator-practice-card__progress-row,
body[data-current-page="operator-console"] .operator-practice-card__metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.34rem !important;
}

body[data-current-page="operator-console"] .operator-practice-card__panels {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.34rem !important;
}

body[data-current-page="operator-console"] .operator-practice-metric,
body[data-current-page="operator-console"] .operator-practice-panel,
body[data-current-page="operator-console"] .operator-practice-progress {
  padding: 0.42rem 0.48rem !important;
  border-radius: 7px !important;
}

body[data-current-page="operator-console"] .operator-practice-metric p {
  font-size: 0.52rem !important;
}

body[data-current-page="operator-console"] .operator-practice-metric strong {
  font-size: 0.94rem !important;
}

body[data-current-page="operator-console"] .operator-practice-metric span {
  font-size: 0.62rem !important;
}

body[data-current-page="operator-console"] .operator-practice-panel h4 {
  font-size: 0.72rem !important;
}

body[data-current-page="operator-console"] .operator-portfolio-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.42rem !important;
  margin-top: 0.38rem !important;
}

body[data-current-page="operator-console"] .operator-portfolio-strip__item {
  padding: 0.48rem 0.52rem !important;
  border-radius: 7px !important;
}

body[data-current-page="operator-console"] .operator-inspector {
  top: 0.5rem !important;
  max-height: 31rem !important;
}

body[data-current-page="operator-console"] .operator-inspector__summary,
body[data-current-page="operator-console"] .operator-inspector__list,
body[data-current-page="operator-console"] .operator-alert {
  padding: 0.42rem !important;
}

/* Dense operator-hub pass: keep RCM and credentialing work visible without page sprawl. */
body[data-current-page="claims"] #module-claims,
body[data-current-page="denials"] #module-denials,
body[data-current-page="reporting"] #module-reporting,
body[data-current-page="credentialing"] #module-credentialing {
  padding: 0.62rem 0.72rem !important;
}

body[data-current-page="claims"] #module-claims > .panel__header,
body[data-current-page="denials"] #module-denials > .panel__header,
body[data-current-page="reporting"] #module-reporting > .panel__header {
  margin-bottom: 0.28rem !important;
}

body[data-current-page="claims"] #module-claims > .summary-text,
body[data-current-page="denials"] #module-denials > .summary-text,
body[data-current-page="reporting"] #module-reporting > .summary-text {
  max-width: none !important;
  margin: 0.22rem 0 0.42rem !important;
  font-size: 0.72rem !important;
  line-height: 1.32 !important;
}

body[data-current-page="claims"] .module-three-up,
body[data-current-page="denials"] .module-three-up {
  gap: 0.48rem !important;
  margin: 0.46rem 0 0.3rem !important;
}

body[data-current-page="claims"] .module-three-up > div,
body[data-current-page="denials"] .module-three-up > div {
  min-height: 0 !important;
}

body[data-current-page="claims"] .module-three-up h3,
body[data-current-page="denials"] .module-three-up h3,
body[data-current-page="reporting"] #module-reporting h3,
body[data-current-page="credentialing"] #module-credentialing h3 {
  margin: 0 0 0.28rem !important;
  font-size: 0.78rem !important;
  line-height: 1.1 !important;
}

body[data-current-page="claims"] .chart-shell,
body[data-current-page="denials"] .chart-shell {
  min-height: 5.4rem !important;
  max-height: 6.2rem !important;
  padding: 0.42rem !important;
}

body[data-current-page="claims"] .claims-workspace-grid,
body[data-current-page="denials"] .denials-workspace-grid {
  grid-template-columns: minmax(0, 1.5fr) minmax(17rem, 0.56fr) !important;
  gap: 0.42rem !important;
}

body[data-current-page="claims"] #claims-list .claims-table-wrap,
body[data-current-page="denials"] #denials-list .claims-table-wrap {
  max-height: 11.6rem !important;
}

body[data-current-page="claims"] #claims-inspector,
body[data-current-page="denials"] #denials-inspector {
  max-height: 16rem !important;
}

body[data-current-page="claims"] #claims-scrub-list {
  max-height: 6.4rem !important;
}

body[data-current-page="claims"] .claims-table th,
body[data-current-page="claims"] .claims-table td,
body[data-current-page="denials"] .denials-table th,
body[data-current-page="denials"] .denials-table td {
  padding: 0.34rem 0.42rem !important;
  font-size: 0.66rem !important;
}

body[data-current-page="reporting"] #reporting-kpi-shell .workbench-bucket {
  min-height: 0 !important;
  padding: 0.54rem 0.6rem !important;
}

body[data-current-page="reporting"] #reporting-kpi-shell .workbench-bucket__items,
body[data-current-page="reporting"] #reporting-kpi-shell .workbench-bucket__detail {
  font-size: 0.66rem !important;
  line-height: 1.25 !important;
}

body[data-current-page="reporting"] #module-reporting .module-two-up {
  gap: 0.52rem !important;
  margin-top: 0.52rem !important;
}

body[data-current-page="reporting"] #reporting-weekly-summary,
body[data-current-page="reporting"] #reporting-issue-tracker,
body[data-current-page="reporting"] #reporting-contract-repository,
body[data-current-page="reporting"] #reporting-onboarding-readiness {
  max-height: 10.5rem !important;
}

body[data-current-page="credentialing"] .panel__ai-strip {
  margin-bottom: 0.52rem !important;
}

body[data-current-page="credentialing"] .credentialing-workspace-header {
  align-items: center !important;
  gap: 0.5rem !important;
  margin-bottom: 0.42rem !important;
}

body[data-current-page="credentialing"] .workspace-tab-bar--credentialing {
  padding: 0.2rem !important;
}

body[data-current-page="credentialing"] .workspace-tab-bar--credentialing .ws-tab {
  min-height: 1.9rem !important;
  padding: 0.28rem 0.58rem !important;
  font-size: 0.58rem !important;
}

body[data-current-page="credentialing"] .cred-roster-split {
  grid-template-columns: minmax(13rem, 0.36fr) minmax(0, 1fr) !important;
  gap: 0.48rem !important;
}

body[data-current-page="credentialing"] #credentialing-list {
  max-height: 15.2rem !important;
}

body[data-current-page="credentialing"] #credentialing-profile-summary {
  margin-bottom: 0.36rem !important;
}

body[data-current-page="credentialing"] #credentialing-profile-detail {
  max-height: 22rem !important;
  overflow: auto !important;
  padding: 0.48rem !important;
}

body[data-current-page="credentialing"] .cred-provider-command {
  padding: 0.5rem 0.56rem !important;
}

body[data-current-page="credentialing"] .cred-readiness-strip {
  gap: 0.28rem !important;
  margin-top: 0.38rem !important;
}

body[data-current-page="credentialing"] .cred-readiness-strip__item {
  padding: 0.28rem 0.34rem !important;
}

body[data-current-page="credentialing"] .cred-command-grid {
  gap: 0.38rem !important;
  margin-top: 0.36rem !important;
}

body[data-current-page="credentialing"] .cred-command-card {
  min-height: 5.6rem !important;
  padding: 0.48rem 0.54rem !important;
}

body[data-current-page="credentialing"] .cred-command-card .help-library-card__steps {
  margin-top: 0.28rem !important;
  max-height: 4.4rem !important;
  overflow: auto !important;
  font-size: 0.66rem !important;
}

/* Premium portfolio command surfaces */
.portfolio-command-panel,
.credentialing-readiness-matrix,
.project-ops-command,
.integration-command-center,
.rcm-premium-visuals {
  border: 1px solid #b5cce4 !important;
  border-radius: 12px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(18, 130, 194, 0.12), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(239,247,255,0.95)) !important;
  box-shadow: 0 18px 44px rgba(29, 70, 112, 0.08) !important;
}

.portfolio-command-panel {
  display: grid;
  gap: 0.62rem;
  margin: 0.72rem 0;
  padding: 0.72rem !important;
}

.portfolio-command-panel__header,
.cred-matrix__header,
.project-ops-command__header,
.integration-command-center__header,
.rcm-premium-visuals__header {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  align-items: flex-start;
}

.portfolio-command-panel__header h2,
.cred-matrix__header h3,
.project-ops-command__header h3,
.integration-command-center__header h3,
.rcm-premium-visuals__header h3 {
  margin: 0.06rem 0 0;
  color: #0d2b47;
  font-size: 1.05rem;
  line-height: 1.08;
}

.portfolio-command-panel__actions,
.integration-command-center__posture,
.project-ops-command__badges,
.cred-matrix__stats,
.rcm-premium-visuals__totals {
  display: flex;
  flex-wrap: wrap;
  gap: 0.34rem;
  justify-content: flex-end;
}

.portfolio-command-panel__grid,
.integration-command-center__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.42rem;
}

.portfolio-command-tile,
.integration-health-card,
.operator-command-card {
  display: grid;
  gap: 0.12rem;
  min-height: 4.3rem;
  padding: 0.56rem 0.6rem;
  border: 1px solid #c3d6e9;
  border-radius: 9px;
  background: #f8fbff;
  color: #102c47;
  text-align: left;
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.portfolio-command-tile:hover,
.portfolio-clinic-risk:hover,
.cred-matrix-row:hover,
.cred-payer-risk:hover,
.connector-capability-row:hover {
  transform: translateY(-1px);
  border-color: #1e7bbd;
  box-shadow: 0 12px 28px rgba(22, 86, 145, 0.12);
}

.portfolio-command-tile span,
.integration-health-card span,
.operator-command-card__label {
  color: #59718a;
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.portfolio-command-tile strong,
.integration-health-card strong,
.operator-command-card__value {
  color: #102c47;
  font-size: 1.02rem;
  line-height: 1;
}

.portfolio-command-tile em,
.integration-health-card em,
.operator-command-card__detail {
  color: #526b83;
  font-size: 0.64rem;
  font-style: normal;
  line-height: 1.22;
}

.portfolio-command-tile--success,
.integration-health-card--success {
  border-color: #9ed8bf;
  background: linear-gradient(135deg, #f2fff8, #ffffff);
}

.portfolio-command-tile--danger,
.integration-health-card--danger {
  border-color: #f1b4bd;
  background: linear-gradient(135deg, #fff5f6, #ffffff);
}

.portfolio-command-tile--warning,
.integration-health-card--warning {
  border-color: #eccb82;
  background: linear-gradient(135deg, #fffaf0, #ffffff);
}

.portfolio-command-panel__body,
.project-ops-command__grid,
.rcm-premium-visuals__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(18rem, 0.7fr);
  gap: 0.54rem;
}

.rcm-premium-visuals__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portfolio-command-clinic-list,
.portfolio-command-ai,
.premium-chart-card,
.project-ops-command__grid > article,
.integration-command-center__matrix {
  padding: 0.56rem;
  border: 1px solid #c8d9ea;
  border-radius: 9px;
  background: rgba(255,255,255,0.82);
}

.portfolio-clinic-risk,
.cred-matrix-row,
.cred-payer-risk,
.connector-capability-row {
  display: grid;
  grid-template-columns: minmax(8rem, 0.8fr) minmax(8rem, 1fr) auto minmax(11rem, 1fr);
  gap: 0.42rem;
  align-items: center;
  width: 100%;
  margin-top: 0.32rem;
  padding: 0.38rem 0.46rem;
  border: 1px solid #c5d7e8;
  border-radius: 7px;
  background: #f8fbff;
  color: #102c47;
  text-align: left;
}

.portfolio-clinic-risk__bar,
.cred-matrix-row__score,
.premium-bar__track {
  display: block;
  height: 0.46rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e2ebf3;
}

.portfolio-clinic-risk__bar span,
.cred-matrix-row__score span,
.premium-bar__track span {
  display: block;
  width: var(--risk-width, var(--ready-width, var(--bar-width, 0%)));
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1784d8, #0ea5a8);
  animation: chart-bar-fill 700ms cubic-bezier(0.2, 0.9, 0.2, 1) both;
}

.portfolio-clinic-risk--danger .portfolio-clinic-risk__bar span,
.cred-matrix-row--danger .cred-matrix-row__score span,
.premium-bar--danger .premium-bar__track span {
  background: linear-gradient(90deg, #cf3448, #f97316);
}

.portfolio-clinic-risk--warning .portfolio-clinic-risk__bar span,
.cred-matrix-row--warning .cred-matrix-row__score span,
.premium-bar--warning .premium-bar__track span {
  background: linear-gradient(90deg, #c97604, #fbbf24);
}

.portfolio-clinic-risk--success .portfolio-clinic-risk__bar span,
.cred-matrix-row--success .cred-matrix-row__score span,
.premium-bar--success .premium-bar__track span {
  background: linear-gradient(90deg, #0f8b55, #34d399);
}

.portfolio-command-ai ul,
.ops-ai-list {
  margin: 0.36rem 0 0;
  padding-left: 1.05rem;
  color: #304a64;
  font-size: 0.72rem;
  line-height: 1.34;
}

.rcm-premium-visuals {
  margin-top: 0.58rem;
  padding: 0.62rem;
}

.rcm-premium-visuals__totals span,
.project-ops-command__badges span,
.cred-matrix__stats span {
  padding: 0.3rem 0.48rem;
  border: 1px solid #c4d6e8;
  border-radius: 999px;
  background: #f7fbff;
  color: #173853;
  font-size: 0.64rem;
  font-weight: 850;
}

.premium-bar {
  display: grid;
  gap: 0.24rem;
  margin-top: 0.38rem;
}

.premium-bar__row {
  display: flex;
  justify-content: space-between;
  gap: 0.4rem;
  color: #15344f;
  font-size: 0.68rem;
  font-weight: 850;
}

.premium-bar em {
  color: #61778e;
  font-size: 0.58rem;
  font-style: normal;
}

.credentialing-readiness-matrix,
.project-ops-command,
.integration-command-center {
  margin-bottom: 0.62rem;
  padding: 0.62rem;
}

.cred-matrix__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.34rem;
  margin-top: 0.5rem;
}

.cred-matrix-row {
  grid-template-columns: minmax(8rem, 1fr) minmax(6rem, 0.8fr) auto minmax(8rem, 1fr);
}

.cred-matrix__payer-strip,
.integration-command-center__matrix {
  display: grid;
  gap: 0.34rem;
  margin-top: 0.5rem;
}

.cred-payer-risk,
.connector-capability-row {
  grid-template-columns: minmax(10rem, 1fr) auto minmax(11rem, 0.9fr);
}

.project-ops-command__grid {
  grid-template-columns: 1fr 1fr 1.2fr;
  margin-top: 0.5rem;
}

.ops-owner-load,
.ops-workstream-chip {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) auto minmax(8rem, 1fr);
  gap: 0.4rem;
  align-items: center;
  margin-top: 0.28rem;
  padding: 0.34rem 0.42rem;
  border: 1px solid #d0deec;
  border-radius: 7px;
  background: #f8fbff;
  color: #15344f;
  font-size: 0.68rem;
}

.ops-workstream-chip {
  grid-template-columns: minmax(8rem, 1fr) auto;
}

.connector-capability-row {
  cursor: default;
}

.connector-capability-row div {
  display: grid;
  gap: 0.12rem;
}

.connector-capability-row span,
.connector-capability-row em,
.cred-payer-risk em,
.cred-matrix-row em,
.portfolio-clinic-risk em {
  color: #5b7188;
  font-size: 0.62rem;
  font-style: normal;
  line-height: 1.18;
}

.money-in {
  color: #087342 !important;
}

.money-out,
.money-risk {
  color: #bf2e44 !important;
}

body[data-current-page="dashboard"] .portfolio-command-panel {
  margin-top: 0 !important;
}

body[data-current-page="dashboard"] .portfolio-command-panel__body,
body[data-current-page="dashboard"] .operator-command-deck__lanes {
  display: grid !important;
}

body[data-current-page="dashboard"] .portfolio-command-panel__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

body[data-current-page="integrations"] #module-integrations {
  padding: 0.68rem 0.74rem !important;
}

body[data-current-page="integrations"] #module-integrations .module-two-up {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.62fr) !important;
  gap: 0.52rem !important;
}

body[data-current-page="integrations"] #integrations-list,
body[data-current-page="integrations"] #source-verifications-list,
body[data-current-page="integrations"] #sync-conflicts-list,
body[data-current-page="integrations"] #module-modes-list,
body[data-current-page="integrations"] #evolution-list,
body[data-current-page="integrations"] #integration-templates-list {
  max-height: 12rem !important;
  overflow: auto !important;
}

body[data-current-page="integrations"] .panel--module-integrations:not(#module-integrations),
body[data-current-page="integrations"] .panel--module-modes,
body[data-current-page="integrations"] .panel--module-evolution {
  padding: 0.58rem 0.66rem !important;
}

body[data-current-page="integrations"] .panel--module-integrations:not(#module-integrations) .panel__header,
body[data-current-page="integrations"] .panel--module-modes .panel__header,
body[data-current-page="integrations"] .panel--module-evolution .panel__header {
  margin-bottom: 0.34rem !important;
}

body[data-current-page="integrations"] .panel--module-integrations:not(#module-integrations) h2,
body[data-current-page="integrations"] .panel--module-modes h2,
body[data-current-page="integrations"] .panel--module-evolution h2 {
  font-size: 0.92rem !important;
}

@media (max-width: 1320px) {
  body[data-current-page="operator-console"] .operator-filterbar,
  body[data-current-page="operator-console"] .operator-kpi-strip,
  body[data-current-page="operator-console"] .operator-portfolio-strip,
  .client-facing-hub .revenue-workspace-window__kpi,
  .client-facing-hub .rev-kpi-grid,
  .client-facing-hub .rev-automation-cockpit,
  .client-facing-hub .rev-automation-cockpit__steps,
  .client-facing-hub #module-reporting .workflow-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-current-page="operator-console"] .operator-workspace__body,
  .client-facing-hub #module-reporting .module-two-up,
  .client-facing-hub #module-reporting .module-three-up {
    grid-template-columns: 1fr !important;
  }

  .client-facing-hub .rev-automation-cockpit__actions {
    grid-auto-flow: row !important;
  }
}

@media (max-width: 900px) {
  html,
  body,
  .client-facing-hub {
    max-width: 100%;
    overflow-x: hidden;
  }

  .client-facing-hub .app-frame {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.5rem !important;
    width: 100% !important;
    max-width: 100vw !important;
    padding: 0.5rem !important;
  }

  .client-facing-hub .main-shell,
  .client-facing-hub .sidebar,
  .client-facing-hub .topbar,
  .client-facing-hub .workspace-page-strip,
  .client-facing-hub .panel,
  .client-facing-hub .control-bar,
  .client-facing-hub .metric-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .client-facing-hub .main-shell {
    grid-row: 1 !important;
  }

  .client-facing-hub .sidebar {
    position: relative !important;
    grid-row: 2 !important;
    top: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    border-radius: 10px !important;
  }

  .client-facing-hub .sidebar__nav {
    max-height: none !important;
    overflow: visible !important;
  }

  .client-facing-hub .topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.35rem !important;
    padding: 0.38rem !important;
    border-color: #d6e0ea !important;
  }

  .client-facing-hub .topbar__quick-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.28rem !important;
    width: 100% !important;
    justify-content: stretch !important;
  }

  .client-facing-hub .topbar__quick-actions .ghost-button,
  .client-facing-hub .notification-bell-wrap,
  .client-facing-hub .notification-bell-wrap .ghost-button {
    width: 100% !important;
    min-width: 0 !important;
  }

  .client-facing-hub .topbar__menus {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .client-facing-hub .command-menu {
    min-width: 0 !important;
  }

  .client-facing-hub .command-menu summary {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 0.54rem !important;
  }

  .client-facing-hub .command-menu__panel {
    left: 0 !important;
    right: auto !important;
    min-width: min(18rem, calc(100vw - 1.25rem)) !important;
    max-width: calc(100vw - 1.25rem) !important;
  }

  .client-facing-hub .workspace-page-strip {
    padding: 0.58rem !important;
  }

  .client-facing-hub .workspace-page-strip__utility,
  .client-facing-hub .topbar__payer-strip,
  .client-facing-hub .automation-health-strip {
    display: flex !important;
    flex-wrap: wrap !important;
    min-width: 0 !important;
  }

  .client-facing-hub .workspace-page-strip__utility label,
  .client-facing-hub .workspace-page-strip__utility select {
    min-width: min(100%, 11rem) !important;
    max-width: 100% !important;
  }

  .client-facing-hub .workspace-page-strip__identity h2,
  .client-facing-hub #topbar-page-title {
    font-size: 1.04rem !important;
    line-height: 1.12 !important;
  }

  .client-facing-hub .workspace-page-strip__subtitle,
  .client-facing-hub #topbar-page-subtitle {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body[data-current-page="dashboard"] .portfolio-command-panel__grid,
  .client-facing-hub .workspace-snapshot-grid--rcm,
  .client-facing-hub .module-two-up,
  .client-facing-hub .module-three-up,
  .client-facing-hub .charts-grid,
  .client-facing-hub .content-grid,
  .client-facing-hub .claims-workspace-grid,
  .client-facing-hub .cred-roster-split,
  .client-facing-hub .cred-command-grid,
  .client-facing-hub .rev-kpi-grid,
  .client-facing-hub .rev-automation-cockpit,
  .client-facing-hub .rev-automation-cockpit__steps,
  .client-facing-hub #module-reporting .workflow-summary,
  body[data-current-page="operator-console"] .operator-filterbar,
  body[data-current-page="operator-console"] .operator-kpi-strip,
  body[data-current-page="operator-console"] .operator-portfolio-strip,
  body[data-current-page="operator-console"] .operator-workspace__body,
  body[data-current-page="integrations"] #module-integrations .module-two-up,
  .cred-matrix-row,
  .cred-payer-risk,
  .connector-capability-row,
  .project-ops-command__grid,
  .ops-owner-load,
  .ops-workstream-chip {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .client-facing-hub .operator-filterbar__search {
    grid-column: auto !important;
  }

  .client-facing-hub .operator-inspector {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
  }

  body[data-current-page="integrations"] #integrations-list,
  body[data-current-page="integrations"] #source-verifications-list,
  body[data-current-page="integrations"] #sync-conflicts-list,
  body[data-current-page="integrations"] #module-modes-list,
  body[data-current-page="integrations"] #evolution-list,
  body[data-current-page="integrations"] #integration-templates-list {
    max-height: none !important;
  }
}
/* Major navigation and workflow consolidation: operator hub, RCM, credentialing */
body.client-facing-hub {
  --chrome-border: #b9cbe0;
  --chrome-ink: #09223d;
  --chrome-muted: #4f6680;
  --chrome-surface: #f7fbff;
  --money-in: #05845f;
  --money-out: #c43b45;
  --money-watch: #b56a00;
  --work-blue: #145fc7;
  background:
    radial-gradient(circle at top right, rgba(20, 95, 199, 0.08), transparent 28rem),
    linear-gradient(135deg, #eef5fb 0%, #f8fbff 45%, #eef6f4 100%);
}

body.client-facing-hub .topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.85rem;
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--chrome-border);
  background: rgba(248, 251, 255, 0.96);
  box-shadow: 0 0.45rem 1.2rem rgba(12, 35, 64, 0.08);
}

body.client-facing-hub .topbar__quick-actions {
  grid-column: 2;
  grid-row: 1;
  gap: 0.35rem;
}

body.client-facing-hub .topbar__quick-actions .ghost-button,
body.client-facing-hub .command-menu summary {
  min-height: 1.8rem;
  padding: 0.38rem 0.7rem;
  border-radius: 0.45rem;
  border-color: #bfd0e3;
  color: var(--chrome-ink);
  background: #f9fcff;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
}

body.client-facing-hub .topbar__menus {
  grid-column: 1;
  grid-row: 1;
  gap: 0.1rem;
  overflow: visible;
}

body.client-facing-hub .command-menu__panel {
  min-width: 15rem;
  border-radius: 0.55rem;
  border-color: #aebfd2;
  box-shadow: 0 1rem 2.5rem rgba(8, 31, 56, 0.18);
}

body.client-facing-hub .command-menu__panel button {
  border-radius: 0.35rem;
  min-height: 1.9rem;
  color: var(--chrome-ink);
}

body.client-facing-hub .sidebar {
  width: clamp(13.5rem, 17vw, 15rem);
  padding: 0.65rem;
  color: var(--chrome-ink);
  background: linear-gradient(180deg, #f8fbff 0%, #edf5fb 100%);
  border-right: 1px solid var(--chrome-border);
}

body.client-facing-hub .sidebar__brand {
  gap: 0.35rem;
  padding-bottom: 0.45rem;
}

body.client-facing-hub .sidebar__brand-logo {
  width: 3.4rem;
  height: 3.4rem;
}

body.client-facing-hub .sidebar__eyebrow,
body.client-facing-hub .sidebar__nav-title,
body.client-facing-hub .panel__eyebrow {
  color: #506986;
  letter-spacing: 0.13em;
}

body.client-facing-hub .sidebar__pulse-card {
  padding: 0.75rem;
  border-radius: 0.65rem;
  background: #ffffff;
  border-color: #c6d5e6;
}

body.client-facing-hub .sidebar__pulse-card__summary {
  line-height: 1.35;
}

body.client-facing-hub .sidebar__nav {
  gap: 0.65rem;
}

body.client-facing-hub .sidebar__nav-block,
body.client-facing-hub .sidebar__more-tools {
  padding: 0.45rem;
  border-radius: 0.55rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid #d1deeb;
}

body.client-facing-hub .module-link {
  min-height: 1.8rem;
  padding: 0.38rem 0.48rem;
  border-radius: 0.35rem;
  color: #0d2b48;
  background: #f7fbff;
  border-color: #bfd0e3;
}

body.client-facing-hub .module-link.is-active {
  background: #0f5cc0;
  border-color: #0f5cc0;
  color: #fff;
  box-shadow: none;
}

body[data-current-page="dashboard"].client-facing-hub .dayboard,
body[data-current-page="dashboard"].client-facing-hub .dayboard-ai-strip,
body[data-current-page="dashboard"].client-facing-hub .module-three-up,
body[data-current-page="dashboard"].client-facing-hub .charts-grid {
  display: none;
}

body[data-current-page="dashboard"].client-facing-hub .portfolio-command-panel {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 0.72rem;
}

body.client-facing-hub .portfolio-command-panel__header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

body.client-facing-hub .portfolio-command-panel__actions,
body.client-facing-hub .portfolio-command-ai__actions,
body.client-facing-hub .workspace-premium-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

body.client-facing-hub .portfolio-command-panel__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.55rem;
}

body.client-facing-hub .portfolio-command-tile {
  min-height: 5.2rem;
  border-radius: 0.6rem;
}

body.client-facing-hub .portfolio-command-tile--success strong,
body.client-facing-hub .money-in {
  color: var(--money-in);
}

body.client-facing-hub .portfolio-command-tile--danger strong,
body.client-facing-hub .money-out,
body.client-facing-hub .money-risk {
  color: var(--money-out);
}

body.client-facing-hub .portfolio-command-panel__body {
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr);
  gap: 0.8rem;
}

body.client-facing-hub .portfolio-command-ai {
  border-left: 4px solid #0f8ea8;
  background: linear-gradient(135deg, #eef8ff, #f7fffb);
}

body.client-facing-hub .rcm-command-shell,
body.client-facing-hub .credentialing-workspace,
body.client-facing-hub .operator-workspace,
body.client-facing-hub .integration-command-center {
  border-radius: 0.8rem;
  border-color: #b8cbe0;
  box-shadow: 0 0.8rem 2.5rem rgba(7, 35, 62, 0.08);
}

body.client-facing-hub .workspace-snapshot-grid--rcm {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.client-facing-hub .rcm-automation-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
}

body.client-facing-hub .rcm-automation-rail__item {
  min-height: 3.1rem;
  border-radius: 0.55rem;
}

body.client-facing-hub .rcm-premium-visuals__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.client-facing-hub .premium-bar__track span,
body.client-facing-hub .portfolio-clinic-risk__bar span,
body.client-facing-hub .cred-matrix-row__score span {
  animation: aapBarGrow 620ms ease-out both;
}

@keyframes aapBarGrow {
  from { width: 0; }
  to { width: var(--bar-width, var(--risk-width, var(--ready-width, 100%))); }
}

body.client-facing-hub .credentialing-workspace-header {
  padding: 0.85rem;
  border-radius: 0.75rem;
}

body.client-facing-hub .cred-matrix__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

body.client-facing-hub .operator-subtabs {
  overflow: visible;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

body.client-facing-hub .operator-filterbar {
  grid-template-columns: minmax(10rem, 0.8fr) minmax(10rem, 0.8fr) minmax(20rem, 1.5fr) auto auto;
  align-items: end;
}

body.client-facing-hub .operator-quick-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.client-facing-hub .operator-workspace__body {
  grid-template-columns: minmax(0, 1.25fr) minmax(19rem, 0.75fr);
}

body.client-facing-hub .action-button,
body.client-facing-hub .ghost-button {
  border-radius: 0.48rem;
  min-height: 2rem;
}

@media (max-width: 1180px) {
  body.client-facing-hub .portfolio-command-panel__grid,
  body.client-facing-hub .workspace-snapshot-grid--rcm,
  body.client-facing-hub .rcm-automation-rail,
  body.client-facing-hub .rcm-premium-visuals__grid,
  body.client-facing-hub .cred-matrix__grid,
  body.client-facing-hub .operator-subtabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.client-facing-hub .portfolio-command-panel__body,
  body.client-facing-hub .operator-workspace__body {
    grid-template-columns: 1fr;
  }
}

body.client-facing-hub [hidden] {
  display: none !important;
}

/* Final premium operating-hub consolidation: slim chrome, no route leakage, dense workhorse pages. */
body.client-facing-hub {
  --aap-green: #05845f;
  --aap-red: #c43b45;
  --aap-amber: #b56a00;
  --aap-teal: #0f8ea8;
  --aap-blue: #145fc7;
  --aap-ink: #0b253f;
  --aap-muted: #526a84;
  --aap-line: #b9cadc;
  --aap-panel: #fbfdff;
}

body.client-facing-hub .topbar {
  display: grid !important;
  grid-template-columns: auto minmax(18rem, 1fr) auto !important;
  grid-template-areas: "menus context actions" !important;
  min-height: 2.7rem !important;
  padding: 0.24rem 0.42rem !important;
  gap: 0.38rem !important;
  align-items: center !important;
  border-radius: 0.28rem !important;
}

body.client-facing-hub .topbar__menus {
  grid-area: menus !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
}

body.client-facing-hub .topbar__command-core {
  grid-area: context !important;
  display: grid !important;
  grid-template-columns: auto minmax(10rem, 1fr) !important;
  gap: 0.36rem !important;
  min-width: 0 !important;
}

body.client-facing-hub .topbar__quick-actions {
  grid-area: actions !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0.24rem !important;
}

body.client-facing-hub .topbar__workspace-label,
body.client-facing-hub .topbar__search,
body.client-facing-hub .command-menu summary,
body.client-facing-hub .topbar__quick-actions .ghost-button,
body.client-facing-hub .account-menu summary {
  min-height: 1.82rem !important;
  border-radius: 0.22rem !important;
  box-shadow: none !important;
}

body.client-facing-hub .topbar__workspace-label {
  padding: 0.32rem 0.62rem !important;
  background: #083a55 !important;
  color: #fff !important;
}

body.client-facing-hub .topbar__search {
  justify-content: flex-start !important;
  padding: 0.32rem 0.68rem !important;
  color: #36536d !important;
  background: #ffffff !important;
}

body.client-facing-hub .topbar__command-core {
  display: none !important;
}

body.client-facing-hub .command-menu summary {
  padding: 0.32rem 0.56rem !important;
  border-color: #c4d2e0 !important;
  background: #f8fbff !important;
}

body.client-facing-hub .command-menu__panel {
  border-radius: 0.32rem !important;
}

body.client-facing-hub .workspace-page-strip {
  display: grid !important;
  grid-template-columns: minmax(18rem, 1fr) auto !important;
  gap: 0.45rem !important;
  padding: 0.48rem 0.62rem !important;
  border-radius: 0.32rem !important;
}

body.client-facing-hub .workspace-page-strip__identity h2 {
  font-size: 1.02rem !important;
  line-height: 1.08 !important;
}

body.client-facing-hub .workspace-page-strip__subtitle {
  max-width: 58rem !important;
  font-size: 0.72rem !important;
  line-height: 1.28 !important;
}

body.client-facing-hub .workspace-page-strip__pills,
body.client-facing-hub .topbar__payer-strip,
body.client-facing-hub .automation-health-strip {
  display: none !important;
}

body.client-facing-hub .workspace-page-strip__utility {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: end !important;
  gap: 0.35rem !important;
}

body.client-facing-hub .topbar__status,
body.client-facing-hub .workspace-context-pill,
body.client-facing-hub .payer-live-badge,
body.client-facing-hub .priority-pill {
  border-radius: 0.2rem !important;
}

body.client-facing-hub .topbar__role-picker select,
body.client-facing-hub .topbar__role-picker {
  min-height: 1.8rem !important;
}

body.client-facing-hub:not([data-current-page="dashboard"]):not([data-current-page="operator-console"]) #portfolio-command-cockpit,
body.client-facing-hub:not([data-current-page="dashboard"]) #premium-client-command {
  display: none !important;
}

body.client-facing-hub:not([data-current-page="claims"]):not([data-current-page="denials"]) .revenue-workspace-window {
  display: none !important;
}

body.client-facing-hub .sidebar {
  width: 14.25rem !important;
  padding: 0.48rem !important;
}

body.client-facing-hub .sidebar__brand-logo {
  width: 2.8rem !important;
  height: 2.8rem !important;
}

body.client-facing-hub .sidebar__client-brand,
body.client-facing-hub .sidebar__user-chip,
body.client-facing-hub .sidebar__pulse-card,
body.client-facing-hub .sidebar__nav-block,
body.client-facing-hub .sidebar__more-tools {
  border-radius: 0.3rem !important;
}

body.client-facing-hub .sidebar__pulse-card {
  padding: 0.56rem !important;
}

body.client-facing-hub .sidebar__pulse-card__metrics {
  gap: 0.28rem !important;
}

body.client-facing-hub .module-link {
  min-height: 1.55rem !important;
  padding: 0.26rem 0.42rem !important;
  border-radius: 0.18rem !important;
  font-size: 0.68rem !important;
}

body.client-facing-hub .action-button,
body.client-facing-hub .ghost-button,
body.client-facing-hub .dayboard-card__action,
body.client-facing-hub .ws-tab,
body.client-facing-hub .operator-subtab,
body.client-facing-hub .portfolio-command-tile,
body.client-facing-hub .premium-chart-card,
body.client-facing-hub .premium-metric,
body.client-facing-hub .panel,
body.client-facing-hub .item,
body.client-facing-hub .workbench-bucket,
body.client-facing-hub .draft-box {
  border-radius: 0.32rem !important;
}

body.client-facing-hub .ghost-button--row-action,
body.client-facing-hub .action-button--row-action {
  max-width: 11rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.client-facing-hub .money-in,
body.client-facing-hub .portfolio-command-tile--success strong,
body.client-facing-hub .premium-metric--success strong {
  color: var(--aap-green) !important;
}

body.client-facing-hub .money-out,
body.client-facing-hub .money-risk,
body.client-facing-hub .portfolio-command-tile--danger strong,
body.client-facing-hub .premium-metric--danger strong,
body.client-facing-hub .claims-table__days--danger {
  color: var(--aap-red) !important;
}

body.client-facing-hub .premium-metric--warning strong,
body.client-facing-hub .portfolio-command-tile--warning strong,
body.client-facing-hub .claims-table__days--warning {
  color: var(--aap-amber) !important;
}

body.client-facing-hub .premium-workspace-command,
body.client-facing-hub .panel__ai-strip,
body.client-facing-hub .portfolio-command-ai {
  border-left: 3px solid var(--aap-teal) !important;
  background: linear-gradient(90deg, rgba(15, 142, 168, 0.1), rgba(255, 255, 255, 0.94)) !important;
}

body[data-current-page="claims"].client-facing-hub #module-claims,
body[data-current-page="denials"].client-facing-hub #module-denials,
body[data-current-page="credentialing"].client-facing-hub #module-credentialing,
body[data-current-page="reporting"].client-facing-hub #module-reporting,
body[data-current-page="staff-ops"].client-facing-hub #module-work-queue,
body[data-current-page="integrations"].client-facing-hub #module-integrations,
body[data-current-page="operator-console"].client-facing-hub #module-operator-console {
  /* PHASE 6: removed max-height clip; nested scrolling caused content to
     be hidden behind a tiny viewport-relative window. Panels now grow
     naturally and the document scrolls as one. */
  max-height: none !important;
  overflow: visible !important;
}

body[data-current-page="staff-ops"].client-facing-hub .task-management-grid[aria-label="Project and task creation"] {
  display: none !important;
}

body[data-current-page="staff-ops"].client-facing-hub .task-management-grid[aria-label="Project and task creation"].is-open {
  display: grid !important;
}

body[data-current-page="staff-ops"].client-facing-hub #premium-task-board .item__actions,
body[data-current-page="staff-ops"].client-facing-hub #work-queue-list .item__actions,
body[data-current-page="staff-ops"].client-facing-hub #executive-summary-list .item__actions,
body[data-current-page="staff-ops"].client-facing-hub #blocker-log-list .item__actions,
body[data-current-page="staff-ops"].client-facing-hub #decision-log-list .item__actions {
  display: none !important;
}

body[data-current-page="staff-ops"].client-facing-hub .task-management-grid--compact,
body[data-current-page="reporting"].client-facing-hub #practice-reports-list,
body[data-current-page="integrations"].client-facing-hub #integrations-list,
body[data-current-page="integrations"].client-facing-hub #source-verifications-list {
  max-height: 13rem !important;
  overflow: auto !important;
}

body.client-facing-hub .rcm-premium-visuals__grid,
body.client-facing-hub .credentialing-command-map,
body.client-facing-hub .operator-workspace__body {
  gap: 0.5rem !important;
}

@media (max-width: 1180px) {
  body.client-facing-hub .topbar {
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
      "menus actions"
      "context context" !important;
  }

  body.client-facing-hub .topbar__search {
    display: none !important;
  }

  body.client-facing-hub .workspace-page-strip {
    grid-template-columns: 1fr !important;
  }
}

.sidebar__client-brand {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0.35rem 0 0.55rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(167, 188, 212, 0.32);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(241, 247, 252, 0.92));
}

.sidebar__client-brand-logo {
  width: 2.75rem;
  height: 2.75rem;
  object-fit: contain;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(167, 188, 212, 0.32);
  padding: 0.2rem;
}

/* When the active clinic has a logo, stack it as a horizontal banner above the
   clinic switcher (the wordmark logo already names the clinic, so the text name
   is hidden via JS). A subtle top hairline carries the secondary brand accent. */
.sidebar__client-brand--logo {
  flex-direction: column;
  align-items: stretch;
  gap: 0.4rem;
  /* Tighter side padding so the logo can use nearly the full chip width. */
  padding: 0.5rem 0.4rem 0.55rem !important;
  box-shadow: inset 0 2px 0 var(--brand-secondary, var(--accent));
}
.sidebar__client-brand--logo .sidebar__client-brand-logo {
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 3.1rem;
  align-self: stretch;
  object-fit: contain;
  object-position: left center;
  border: none;
  background: transparent;
  padding: 0;
  border-radius: 0;
}

/* Operator "Add a clinic" — brand color field: native swatch + hex text input. */
.aap-clinic-f--color .aap-brandcolor-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
/* Scoped under .aap-clinics-screen to outrank the form's generic
   ".aap-clinics-screen .aap-clinic-f input { width:100% }" rule. */
.aap-clinics-screen .aap-clinic-f--color .aap-brandcolor-swatch {
  flex: 0 0 2.4rem;
  width: 2.4rem;
  min-width: 2.4rem;
  max-width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border: 1px solid rgba(167, 188, 212, 0.5);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}
.aap-clinics-screen .aap-clinic-f--color .aap-brandcolor-hex {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

.sidebar__client-brand-label {
  margin: 0 0 0.18rem;
  color: #5d7388;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#client-brand-name {
  margin: 0;
  color: #0a2a4f;
  font-size: 1rem;
  line-height: 1.15;
}

/* Premium client refinement: crisper wording, denser workspaces, and better narrow chrome */
body.client-facing-hub .topbar__workspace-label {
  border-radius: 999px;
  padding: 0.36rem 0.62rem;
  background: linear-gradient(135deg, #06233e, #0c6a7c);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.035em;
  text-transform: none;
  white-space: nowrap;
  box-shadow: 0 0.45rem 1.2rem rgba(6, 35, 62, 0.16);
}

body.client-facing-hub .topbar__search {
  min-width: min(24rem, 44vw);
  border-radius: 0.7rem;
  background: #ffffff;
  border-color: #c1d2e4;
  color: #314b65;
}

body.client-facing-hub .sidebar__more-tools summary {
  color: #0e304f;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.045em;
  text-transform: none;
}

body.client-facing-hub .premium-brief__header,
body.client-facing-hub .premium-command-header {
  border-radius: 0.85rem;
  padding: 0.8rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.94), rgba(235,246,250,0.9)),
    radial-gradient(circle at top right, rgba(15, 142, 168, 0.16), transparent 12rem);
  border: 1px solid #bfd2e6;
}

body.client-facing-hub .premium-brief__header h2,
body.client-facing-hub .premium-command-header h3,
body.client-facing-hub .rcm-premium-visuals__header h3 {
  letter-spacing: -0.02em;
  color: #08233d;
}

body.client-facing-hub .premium-action-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.75rem;
}

body.client-facing-hub .premium-action-list {
  min-height: 10rem;
  padding: 0.72rem;
  border: 1px solid #c1d4e7;
  border-radius: 0.78rem;
  background: linear-gradient(180deg, #ffffff, #f4f9fd);
  box-shadow: 0 0.55rem 1.4rem rgba(10, 39, 68, 0.06);
}

body.client-facing-hub .premium-action-list__header span {
  color: #0a3559;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

body.client-facing-hub .premium-action-list__rows {
  display: grid;
  gap: 0.42rem;
  margin-top: 0.55rem;
}

body.client-facing-hub .premium-action-row {
  display: grid;
  gap: 0.16rem;
  padding: 0.48rem 0.52rem;
  border-radius: 0.54rem;
  background: rgba(238, 247, 252, 0.82);
  border: 1px solid rgba(189, 210, 230, 0.8);
}

body.client-facing-hub .premium-action-row strong {
  color: #09243e;
  font-size: 0.78rem;
  line-height: 1.18;
}

body.client-facing-hub .premium-action-row span {
  color: #526d86;
  font-size: 0.68rem;
  line-height: 1.28;
}

body.client-facing-hub .premium-action-row--empty {
  border-style: dashed;
  background: #fbfdff;
}

body.client-facing-hub .premium-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.48rem;
  margin-top: 0.72rem;
  padding-top: 0.68rem;
  border-top: 1px solid rgba(183, 205, 226, 0.75);
}

body.client-facing-hub .premium-command-actions .action-button,
body.client-facing-hub .premium-command-actions .ghost-button {
  min-height: 2.15rem;
  padding-inline: 0.82rem;
}

body.client-facing-hub .module-ai-assistant {
  border-color: #b9d2e6;
  background:
    linear-gradient(135deg, rgba(5, 35, 61, 0.96), rgba(7, 91, 113, 0.94)),
    radial-gradient(circle at top right, rgba(51, 221, 214, 0.26), transparent 12rem);
  color: #eaf7fb;
  box-shadow: 0 0.8rem 2rem rgba(5, 35, 61, 0.16);
}

body.client-facing-hub .module-ai-assistant__body {
  color: #d9ebf3;
}

body.client-facing-hub .module-ai-assistant__actions {
  gap: 0.38rem;
}

body.client-facing-hub .module-ai-assistant__btn {
  border-color: rgba(204, 233, 241, 0.4);
  background: rgba(255,255,255,0.08);
  color: #f3fbfe;
}

body.client-facing-hub .module-ai-assistant__btn--primary {
  background: #4fe0c6;
  border-color: #4fe0c6;
  color: #06253d;
}

body.client-facing-hub .module-ai-assistant__guardrail {
  margin-top: 0.55rem;
  color: rgba(233, 249, 252, 0.76);
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.04em;
}

body.client-facing-hub .workspace-page-strip__identity .eyebrow,
body.client-facing-hub .panel__eyebrow,
body.client-facing-hub .premium-eyebrow {
  text-transform: uppercase;
}

body.client-facing-hub .portfolio-command-panel,
body.client-facing-hub .panel,
body.client-facing-hub .premium-workspace-command {
  scroll-margin-top: 8rem;
}

.task-management-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
  margin: 0.72rem 0;
}

.task-management-grid--compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.premium-task-form,
.premium-task-board,
.premium-task-lane,
.premium-task-card {
  border: 1px solid rgba(133, 163, 194, 0.55);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(239, 248, 250, 0.9)),
    #fff;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(14, 41, 69, 0.08);
}

.premium-task-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.54rem;
  padding: 0.72rem;
}

.premium-task-form > div,
.premium-task-form__wide,
.premium-task-form button {
  grid-column: 1 / -1;
}

.premium-task-form h3 {
  margin: 0.08rem 0 0;
  color: #0d2b47;
}

.premium-task-form label {
  display: grid;
  gap: 0.25rem;
  color: #31465c;
  font-size: 0.76rem;
  font-weight: 700;
}

.premium-task-form input,
.premium-task-form select,
.premium-task-form textarea {
  width: 100%;
  border: 1px solid #bfd2e5;
  border-radius: 8px;
  background: #f9fcff;
  color: #102c47;
  font: inherit;
  padding: 0.48rem 0.55rem;
}

.premium-task-board {
  padding: 0.72rem;
  margin: 0.72rem 0;
}

.premium-task-board__header,
.premium-task-lane__header,
.premium-task-card__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.premium-task-board__header h3,
.premium-task-lane__header h4,
.premium-task-card h5 {
  margin: 0;
  color: #0d2b47;
}

.premium-task-board__lanes {
  display: grid;
  grid-template-columns: repeat(7, minmax(11rem, 1fr));
  gap: 0.55rem;
  overflow-x: auto;
  padding-bottom: 0.25rem;
}

.premium-task-lane {
  min-width: 11rem;
  padding: 0.5rem;
  background:
    linear-gradient(180deg, rgba(15, 53, 87, 0.06), rgba(8, 127, 131, 0.03)),
    #f7fbfe;
}

.premium-task-lane.is-highlighted {
  outline: 3px solid rgba(8, 127, 131, 0.26);
  animation: premiumSurfaceRise 420ms ease both;
}

.premium-task-lane__header span {
  display: inline-grid;
  place-items: center;
  min-width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  background: #0f3557;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
}

.premium-task-lane__cards {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.48rem;
}

.premium-task-card {
  padding: 0.55rem;
}

.premium-task-card h5 {
  margin-top: 0.36rem;
  font-size: 0.82rem;
}

.premium-task-card p {
  margin: 0.28rem 0;
  color: #4d6176;
  font-size: 0.74rem;
  line-height: 1.35;
}

.premium-task-card__topline,
.premium-task-card__meta {
  color: #60758a;
  font-size: 0.68rem;
  font-weight: 700;
}

.premium-task-card__meta {
  display: grid;
  gap: 0.16rem;
  margin: 0.38rem 0;
}

.text-danger {
  color: #a83232 !important;
}

.premium-project-card {
  border-left: 4px solid #087f83 !important;
}

.premium-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.44rem;
  margin-top: 0.62rem;
}

.project-ops-command__grid h4 {
  margin: 0 0 0.35rem;
  color: #0d2b47;
  font-size: 0.78rem;
}

.project-ops-command__grid ul {
  margin: 0;
  padding-left: 1rem;
  color: #42566c;
  font-size: 0.74rem;
}

@media (max-width: 1320px) {
  .task-management-grid,
  .task-management-grid--compact {
    grid-template-columns: 1fr;
  }

  .premium-task-board__lanes {
    grid-template-columns: repeat(3, minmax(12rem, 1fr));
  }
}

@media (max-width: 780px) {
  .premium-task-form {
    grid-template-columns: 1fr;
  }

  .premium-task-board__lanes {
    grid-template-columns: minmax(12rem, 1fr);
  }
}

@media (max-width: 1180px) {
  body.client-facing-hub .premium-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  body.client-facing-hub .topbar {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    padding: 0.48rem !important;
  }

  body.client-facing-hub .topbar__command-core,
  body.client-facing-hub .topbar__menus,
  body.client-facing-hub .topbar__quick-actions {
    grid-column: 1 !important;
    width: 100% !important;
  }

  body.client-facing-hub .topbar__command-core {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 0.4rem !important;
  }

  body.client-facing-hub .topbar__search {
    min-width: 0 !important;
    width: 100% !important;
    text-align: left;
  }

  body.client-facing-hub .topbar__menus {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 0.32rem !important;
    padding-bottom: 0.08rem;
  }

  body.client-facing-hub .command-menu {
    flex: 0 0 auto !important;
  }

  body.client-facing-hub .command-menu summary {
    width: auto !important;
    min-width: 4.8rem !important;
    font-size: 0.62rem !important;
    text-align: center;
  }

  body.client-facing-hub .topbar__quick-actions {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.32rem !important;
  }

  body.client-facing-hub .topbar__quick-actions .ghost-button {
    min-width: 0 !important;
    padding-inline: 0.42rem !important;
    font-size: 0.64rem !important;
  }

  body.client-facing-hub .premium-action-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.client-facing-hub .premium-brief__header,
  body.client-facing-hub .premium-command-header,
  body.client-facing-hub .rcm-premium-visuals__header {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 560px) {
  body.client-facing-hub .topbar__command-core,
  body.client-facing-hub .topbar__quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.client-facing-hub .topbar__workspace-label {
    text-align: center;
  }
}

/* Keep the premium command bar out of the logo/sidebar zone in tablet-width app windows. */
@media (min-width: 721px) {
  body.client-facing-hub .app-frame {
    grid-template-columns: clamp(13.25rem, 17vw, 15.5rem) minmax(0, 1fr) !important;
    align-items: start !important;
  }

  body.client-facing-hub .sidebar {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: sticky !important;
    top: 0.5rem !important;
    height: calc(100vh - 1rem) !important;
    max-height: calc(100vh - 1rem) !important;
    overflow: auto !important;
  }

  body.client-facing-hub .main-shell {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }

  body.client-facing-hub .topbar {
    grid-template-columns: minmax(16rem, 1fr) auto !important;
    grid-auto-flow: row !important;
    align-items: center !important;
  }

  body.client-facing-hub .topbar__menus {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    width: min(100%, 30rem) !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: thin;
  }

  body.client-facing-hub .topbar__quick-actions {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    width: auto !important;
  }

  body.client-facing-hub .topbar__command-core {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
  }
}

/* Premium refinement: narrow workspace menu, visible AI/action drawer, and richer command visuals. */
.workspace-menu-fallback {
  display: none;
  grid-area: menus;
  position: relative;
}

.workspace-menu-fallback summary {
  min-height: 2rem;
  padding: 0.4rem 0.72rem;
  border: 1px solid var(--border);
  border-radius: 0.45rem;
  background: linear-gradient(180deg, #ffffff, #eef5fb);
  color: var(--accent-strong);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.workspace-menu-fallback__panel {
  position: absolute;
  z-index: 60;
  top: calc(100% + 0.25rem);
  left: 0;
  display: grid;
  min-width: min(20rem, calc(100vw - 2rem));
  padding: 0.48rem;
  border: 1px solid #bfd2e6;
  border-radius: 0.7rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 1rem 2.4rem rgba(13, 43, 71, 0.18);
}

.workspace-menu-fallback__panel button {
  min-height: 2rem;
  border: 0;
  border-radius: 0.45rem;
  background: transparent;
  color: #12314f;
  font-size: 0.78rem;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.workspace-menu-fallback__panel button:hover,
.workspace-menu-fallback__panel button:focus-visible {
  background: #e9f3fb;
}

.ai-response-drawer {
  position: fixed;
  top: calc(var(--topbar-height, 48px) + 1rem);
  right: 1rem;
  width: min(34rem, calc(100vw - 2rem));
  max-height: calc(100vh - var(--topbar-height, 48px) - 2rem);
  overflow: auto;
  z-index: 1200;
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 1rem;
  border: 1px solid #cbd5e1;
  border-left: 3px solid #0f3557;
  border-radius: 4px;
  background: #f8f9fa;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
}

.ai-response-drawer.hidden {
  display: none !important;
}

.ai-response-drawer--entering {
  animation: premiumDrawerIn 260ms ease both;
}

.ai-response-drawer__header {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: flex-start;
}

.ai-response-drawer__header h3 {
  margin: 0.08rem 0 0;
  color: #08233d;
  font-size: 1.05rem;
  line-height: 1.1;
}

.ai-response-drawer__content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.46rem;
}

.ai-response-row {
  padding: 0.58rem 0.64rem;
  border: 1px solid #bfd5e8;
  border-radius: 0.65rem;
  background: rgba(255, 255, 255, 0.86);
  color: #17324c;
  font-size: 0.78rem;
  line-height: 1.35;
}

.ai-response-row--success {
  border-left: 3px solid #0f8b55;
}

.ai-response-row--danger {
  border-left: 3px solid #cf3448;
}

@keyframes premiumDrawerIn {
  from { opacity: 0; transform: translateX(0.45rem); }
  to { opacity: 1; transform: translateY(0); }
}

body.client-facing-hub .premium-metric {
  position: relative;
  overflow: hidden;
  animation: premiumMetricRise 420ms ease both;
}

body.client-facing-hub .premium-metric::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(23,132,216,0), rgba(23,132,216,0.48), rgba(79,224,198,0));
  transform: translateX(-100%);
  animation: premiumMetricSweep 1.8s ease 160ms both;
}

@keyframes premiumMetricRise {
  from { opacity: 0; transform: translateY(0.35rem); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes premiumMetricSweep {
  to { transform: translateX(100%); }
}

body.client-facing-hub .premium-filter-ribbon {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  margin-top: 0.65rem;
  padding: 0.54rem;
  border: 1px solid rgba(177, 203, 226, 0.82);
  border-radius: 0.72rem;
  background: rgba(255, 255, 255, 0.68);
}

body.client-facing-hub .premium-filter-ribbon button {
  min-height: 1.95rem;
  padding: 0.28rem 0.68rem;
  border: 1px solid #b9cee3;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff, #edf5fb);
  color: #0d3658;
  font-size: 0.72rem;
  font-weight: 850;
  cursor: pointer;
}

body.client-facing-hub .premium-filter-ribbon button:hover {
  border-color: #1f6ea8;
  box-shadow: 0 0.45rem 1rem rgba(16, 64, 104, 0.11);
}

body.client-facing-hub .premium-bars {
  display: grid;
  gap: 0.42rem;
  margin: 0.58rem 0;
}

body.client-facing-hub .premium-bar-row {
  display: grid;
  grid-template-columns: 3.8rem minmax(0, 1fr) auto;
  gap: 0.4rem;
  align-items: center;
  color: #18344f;
  font-size: 0.7rem;
}

body.client-facing-hub .premium-bar-row i {
  grid-column: 2 / 3;
  grid-row: 1;
  display: block;
  width: var(--bar-width);
  height: 0.58rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #23a7c7, #0f8b55);
  transform-origin: left;
  animation: premiumBarGrow 760ms ease both;
  animation-delay: var(--bar-delay);
}

body.client-facing-hub .premium-bar-row strong {
  grid-column: 3;
  grid-row: 1;
  font-size: 0.68rem;
}

@keyframes premiumBarGrow {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0 0 0 0); }
}

body.client-facing-hub .premium-waterfall {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.36rem;
  margin: 0.58rem 0;
  align-items: end;
}

body.client-facing-hub .premium-waterfall__step {
  display: grid;
  gap: 0.16rem;
  min-height: 4.5rem;
  padding: 0.5rem;
  border: 1px solid #c1d6e8;
  border-radius: 0.58rem;
  background: linear-gradient(180deg, #f8fbff, #ffffff);
  animation: premiumMetricRise 420ms ease both;
  animation-delay: var(--step-delay);
}

body.client-facing-hub .premium-waterfall__step--success { border-left: 3px solid #0f8b55; }
body.client-facing-hub .premium-waterfall__step--warning { border-left: 3px solid #c97604; }
body.client-facing-hub .premium-waterfall__step--danger { border-left: 3px solid #cf3448; }

body.client-facing-hub .premium-waterfall__step span {
  color: #647a8e;
  font-size: 0.62rem;
  font-weight: 850;
  text-transform: uppercase;
}

body.client-facing-hub .premium-waterfall__step strong {
  color: #0d2b47;
  font-size: 0.88rem;
}

body.client-facing-hub .credentialing-readiness-cards,
body.client-facing-hub .credentialing-command-map {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.66rem;
}

body.client-facing-hub .credentialing-readiness-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.client-facing-hub .credentialing-command-map {
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
}

body.client-facing-hub .credentialing-enrollment-map__rows,
body.client-facing-hub .credentialing-impact-pills {
  display: grid;
  gap: 0.38rem;
  margin-top: 0.5rem;
}

body.client-facing-hub .credentialing-enrollment-row {
  display: grid;
  grid-template-columns: minmax(7rem, 1fr) minmax(6rem, 0.8fr) auto auto;
  gap: 0.45rem;
  align-items: center;
  padding: 0.44rem 0.5rem;
  border: 1px solid #c5d8e8;
  border-radius: 0.52rem;
  background: #f8fbff;
  font-size: 0.7rem;
}

body.client-facing-hub .credentialing-enrollment-row em,
body.client-facing-hub .credentialing-enrollment-row b,
body.client-facing-hub .credentialing-impact-pills span {
  padding: 0.2rem 0.42rem;
  border-radius: 999px;
  background: #eaf3fb;
  color: #173a5c;
  font-size: 0.64rem;
  font-style: normal;
}

.is-loading {
  opacity: 0.72;
  cursor: progress !important;
}

@media (max-width: 900px) {
  body.client-facing-hub .workspace-menu-fallback {
    display: block;
  }

  body.client-facing-hub .topbar__menus {
    display: none !important;
  }

  .ai-response-drawer__content,
  body.client-facing-hub .credentialing-readiness-cards,
  body.client-facing-hub .credentialing-command-map {
    grid-template-columns: minmax(0, 1fr);
  }

  body.client-facing-hub .premium-waterfall {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .ai-response-drawer__header {
    display: grid;
  }

  body.client-facing-hub .premium-waterfall {
    grid-template-columns: minmax(0, 1fr);
  }

body.client-facing-hub .credentialing-enrollment-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Final premium refinement: AI clarity, task depth, and realistic ops surfaces */
.module-ai-assistant__capabilities {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.35rem;
  padding: 0 0.65rem 0.55rem;
}

.module-ai-assistant__capabilities span {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.42rem 0.46rem;
  border: 1px solid rgba(123, 167, 214, 0.58);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(232,244,255,0.9));
  color: #344e68;
  font-size: 0.62rem;
  line-height: 1.25;
}

.module-ai-assistant__capabilities b {
  color: #073354;
  font-size: 0.56rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.module-ai-assistant__guardrail {
  padding: 0.4rem 0.65rem;
  border-top: 1px solid rgba(150, 181, 214, 0.5);
  color: #5a7088;
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.02em;
}

.task-ops-heatmap {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0.62rem 0;
}

.task-ops-heatmap__tile {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
  padding: 0.56rem 0.62rem;
  border: 1px solid #c7d8ea;
  border-left: 4px solid #1e63d0;
  border-radius: 10px;
  background: linear-gradient(135deg, #ffffff, #f4f9fe);
  box-shadow: 0 10px 22px rgba(16, 44, 71, 0.08);
}

.task-ops-heatmap__tile span {
  color: #5d7188;
  font-size: 0.58rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.task-ops-heatmap__tile strong {
  color: #092b49;
  font-size: 1.22rem;
  line-height: 1;
}

.task-ops-heatmap__tile em {
  color: #50657b;
  font-size: 0.68rem;
  font-style: normal;
}

.task-ops-heatmap__tile--danger { border-left-color: #dc2626; background: linear-gradient(135deg, #fff, #fff1f1); }
.task-ops-heatmap__tile--warning { border-left-color: #b7791f; background: linear-gradient(135deg, #fff, #fff8e8); }
.task-ops-heatmap__tile--teal { border-left-color: #087f83; background: linear-gradient(135deg, #fff, #effdfb); }
.task-ops-heatmap__tile--blue { border-left-color: #1e63d0; background: linear-gradient(135deg, #fff, #eef5ff); }

.premium-task-card__source {
  display: grid;
  gap: 0.08rem;
  margin: 0.4rem 0;
  padding: 0.38rem 0.45rem;
  border: 1px solid rgba(140, 170, 203, 0.52);
  border-radius: 8px;
  background: rgba(241, 247, 252, 0.88);
}

.premium-task-card__source span {
  color: #60758a;
  font-size: 0.56rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.premium-task-card__source strong {
  overflow: hidden;
  color: #113653;
  font-size: 0.72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.client-facing-hub .premium-task-board__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
}

@media (max-width: 1180px) {
  .module-ai-assistant__capabilities,
  .task-ops-heatmap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .module-ai-assistant__capabilities,
  .task-ops-heatmap {
    grid-template-columns: minmax(0, 1fr);
  }
}

body[data-current-page="integrations"] .revenue-workspace-window,
.revenue-workspace-window.page-hidden {
  display: none !important;
}

/* Executive luxury system: restrained enterprise polish across RCM, credentialing, tasks, and integrations.
   PHASE 48: token values raised from a flat 4px / shadow:none to the unified
   Phase 48 scale so this global override no longer downgrades buttons / cards
   below the canonical radius + shadow language. Applies to both the operator
   and clinic surfaces (this :root is unscoped). */
:root {
  --border: #e2e8f0;
  --border-strong: #cbd5e1;
  --surface-muted: #f8f9fa;
  --success: #276749;
  --danger: #9b2c2c;
  --warning: #4a5568;
  --premium-green: #276749;
  --premium-red: #9b2c2c;
  --premium-amber: #4a5568;
  --premium-cyan: #0f3557;
  --premium-teal: #0f3557;
  --premium-line: #e2e8f0;
  --shadow: 0 1px 2px rgba(15, 32, 44, 0.05), 0 6px 16px rgba(15, 32, 44, 0.09);
  --shadow-hover: 0 10px 26px rgba(15, 32, 44, 0.14), 0 2px 6px rgba(15, 32, 44, 0.08);
  --radius-xl: 14px;
  --radius-lg: 10px;
  --radius-md: 8px;
  --radius-sm: 6px;
}

body.client-facing-hub {
  color: #111827;
  background: #f3f6f9;
}

body.client-facing-hub .panel,
body.client-facing-hub .metric-card,
body.client-facing-hub .shell-module-card,
body.client-facing-hub .workflow-summary-card,
body.client-facing-hub .clinic-workspace-shell,
body.client-facing-hub .revenue-workspace-window,
body.client-facing-hub .premium-brief,
body.client-facing-hub .premium-workspace-command,
body.client-facing-hub .rcm-premium-visuals,
body.client-facing-hub .credentialing-premium-visuals,
body.client-facing-hub .premium-chart-card,
body.client-facing-hub .premium-action-list,
body.client-facing-hub .premium-metric,
body.client-facing-hub .workspace-snapshot-card,
body.client-facing-hub .workspace-inspector-card,
body.client-facing-hub .workbench-bucket,
body.client-facing-hub .credentialing-enrollment-row,
body.client-facing-hub .task-ops-heatmap__tile,
body.client-facing-hub .premium-task-card__source,
body.client-facing-hub .ai-response-drawer,
body.client-facing-hub .module-ai-assistant,
body.client-facing-hub .assist-component {
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

body.client-facing-hub .panel,
body.client-facing-hub .premium-brief,
body.client-facing-hub .premium-workspace-command,
body.client-facing-hub .rcm-premium-visuals,
body.client-facing-hub .credentialing-premium-visuals,
body.client-facing-hub .premium-chart-card,
body.client-facing-hub .premium-action-list,
body.client-facing-hub .workspace-inspector-card,
body.client-facing-hub .ai-response-drawer,
body.client-facing-hub .module-ai-assistant,
body.client-facing-hub .assist-component {
  padding: 24px !important;
}

body.client-facing-hub .content-grid,
body.client-facing-hub .premium-command-grid,
body.client-facing-hub .rcm-premium-visuals__grid,
body.client-facing-hub .credentialing-premium-visuals,
body.client-facing-hub .credentialing-command-map,
body.client-facing-hub .workspace-grid,
body.client-facing-hub .module-grid {
  gap: 32px !important;
}

body.client-facing-hub .premium-command-header,
body.client-facing-hub .premium-brief__header,
body.client-facing-hub .panel__header {
  align-items: flex-start;
  padding-bottom: 16px;
  border-bottom: 1px solid #e2e8f0;
}

body.client-facing-hub .premium-command-header h3,
body.client-facing-hub .premium-brief h2,
body.client-facing-hub .panel__header h2,
body.client-facing-hub .revenue-workspace-window h2 {
  color: #111827;
  font-weight: 750;
  letter-spacing: -0.025em;
}

body.client-facing-hub .premium-command-header::before,
body.client-facing-hub .premium-brief__header::before,
body.client-facing-hub .panel__header::before {
  content: "";
  flex: 0 0 4px;
  align-self: stretch;
  min-height: 36px;
  background: #0f3557;
  border-radius: 4px;
}

body.client-facing-hub .premium-metric strong,
body.client-facing-hub .workspace-snapshot-card__value,
body.client-facing-hub .metric-card__value,
body.client-facing-hub .clinic-snapshot-card__value,
body.client-facing-hub .premium-chart-card .premium-gauge strong,
body.client-facing-hub .premium-sparkline strong,
body.client-facing-hub .rcm-premium-visuals__totals span {
  color: #111827;
  font-size: 2.25rem !important;
  font-weight: 650 !important;
  letter-spacing: -0.045em;
  line-height: 0.95;
}

body.client-facing-hub .premium-metric span,
body.client-facing-hub .premium-metric em,
body.client-facing-hub .item__meta,
body.client-facing-hub .summary-text,
body.client-facing-hub .workspace-snapshot-card__label,
body.client-facing-hub .workspace-snapshot-card__sub,
body.client-facing-hub .clinic-snapshot-card__label,
body.client-facing-hub .clinic-snapshot-card__detail,
body.client-facing-hub th,
body.client-facing-hub .panel__eyebrow,
body.client-facing-hub .premium-eyebrow {
  font-size: 0.875rem !important;
  opacity: 0.5;
}

body.client-facing-hub .premium-metric em,
body.client-facing-hub .item__meta,
body.client-facing-hub .summary-text,
body.client-facing-hub .workspace-snapshot-card__sub,
body.client-facing-hub .clinic-snapshot-card__detail {
  line-height: 1.45;
}

body.client-facing-hub .premium-eyebrow,
body.client-facing-hub .panel__eyebrow {
  color: #111827 !important;
  font-weight: 760;
  letter-spacing: 0.12em;
}

body.client-facing-hub .assist-component,
body.client-facing-hub .premium-ai-card,
body.client-facing-hub .clinic-ai-panel,
body.client-facing-hub .module-ai-assistant,
body.client-facing-hub .ai-response-drawer {
  border-left: 2px solid #0f3557 !important;
  background: #f8f9fa !important;
  color: #111827;
}

/* The AI strip background is forced light (#f8f9fa) above, but its secondary
   action buttons + the guardrail caption kept their original DARK-theme
   near-white text (color:#f3fbfe / rgba(233,249,252,.76)) and rendered
   invisible on the light strip. Give them readable dark-on-light treatment
   (the primary button already pairs a teal fill with dark text). */
body.client-facing-hub .module-ai-assistant__btn:not(.module-ai-assistant__btn--primary),
body.client-facing-hub .module-ai-assistant__btn:not(.module-ai-assistant__btn--primary):visited {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f3557 !important;
}
body.client-facing-hub .module-ai-assistant__btn:not(.module-ai-assistant__btn--primary):hover {
  background: #eef4fb !important;
  border-color: #94a3b8 !important;
  color: #0b2740 !important;
}
body.client-facing-hub .module-ai-assistant__guardrail {
  color: #475569 !important;
}

body.client-facing-hub .premium-ai-card span,
body.client-facing-hub .module-ai-assistant__capabilities b,
body.client-facing-hub .ai-response-drawer .panel__eyebrow {
  color: #0f3557 !important;
}

body.client-facing-hub .module-ai-assistant__header {
  gap: 0.75rem;
  padding: 0 0 16px 0 !important;
  background: transparent !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

body.client-facing-hub .module-ai-assistant__icon {
  width: 4px !important;
  height: 32px !important;
  min-width: 4px;
  border-radius: 4px !important;
  background: #0f3557 !important;
  color: transparent !important;
  box-shadow: none !important;
  overflow: hidden;
}

body.client-facing-hub .module-ai-assistant__icon::before {
  display: none !important;
}

body.client-facing-hub .module-ai-assistant__label {
  color: #111827 !important;
  font-size: 0.875rem !important;
  opacity: 1;
}

body.client-facing-hub .status-pill,
body.client-facing-hub .nav-alert-badge,
body.client-facing-hub .auto-health-badge,
body.client-facing-hub .ehr-row__badge,
body.client-facing-hub .credentialing-enrollment-row em,
body.client-facing-hub .credentialing-enrollment-row b,
body.client-facing-hub .credentialing-impact-pills span {
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  background: #f8f9fa !important;
  color: #2d3748 !important;
  box-shadow: none !important;
}

body.client-facing-hub .status-pill--success,
body.client-facing-hub .ehr-row__badge--success,
body.client-facing-hub .auto-health-badge--active {
  color: #276749 !important;
  border-color: rgba(39, 103, 73, 0.35) !important;
}

body.client-facing-hub .status-pill--danger,
body.client-facing-hub .ehr-row__badge--danger,
body.client-facing-hub .auto-health-badge--alert,
body.client-facing-hub .nav-alert-badge {
  color: #9b2c2c !important;
  border-color: rgba(155, 44, 44, 0.35) !important;
}

body.client-facing-hub .premium-metric,
body.client-facing-hub .workspace-snapshot-card,
body.client-facing-hub .clinic-snapshot-card,
body.client-facing-hub .task-ops-heatmap__tile {
  border-left-width: 2px !important;
  background: #ffffff !important;
}

body.client-facing-hub .premium-metric--success,
body.client-facing-hub .workspace-snapshot-card--success,
body.client-facing-hub .task-ops-heatmap__tile--teal {
  border-left-color: #276749 !important;
}

body.client-facing-hub .premium-metric--danger,
body.client-facing-hub .workspace-snapshot-card--danger,
body.client-facing-hub .task-ops-heatmap__tile--danger {
  border-left-color: #9b2c2c !important;
}

body.client-facing-hub .premium-metric--warning,
body.client-facing-hub .workspace-snapshot-card--warning,
body.client-facing-hub .task-ops-heatmap__tile--warning,
body.client-facing-hub .task-ops-heatmap__tile--blue {
  border-left-color: #4a5568 !important;
}

body.client-facing-hub table,
body.client-facing-hub .claims-table,
body.client-facing-hub .denials-table,
body.client-facing-hub .credentialing-enrollment-map__rows {
  border-collapse: separate;
  border-spacing: 0;
}

body.client-facing-hub .claims-table th,
body.client-facing-hub .claims-table td,
body.client-facing-hub .denials-table th,
body.client-facing-hub .denials-table td,
body.client-facing-hub .credentialing-enrollment-row {
  line-height: 1.55;
}

body.client-facing-hub .claims-table__row:hover,
body.client-facing-hub .denials-table__row:hover,
body.client-facing-hub .credentialing-enrollment-row:hover,
body.client-facing-hub tr:hover {
  background: #f8f9fa !important;
}

body.client-facing-hub .premium-sparkline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem 1rem;
  align-items: end;
  margin: 1rem 0;
}

body.client-facing-hub .premium-sparkline svg {
  width: 100%;
  min-height: 72px;
  overflow: visible;
}

body.client-facing-hub .premium-sparkline__line {
  fill: none;
  stroke: #0f3557;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  animation: premiumBarGrow 780ms ease both;
}

body.client-facing-hub .premium-sparkline__area {
  fill: rgba(15, 53, 87, 0.08);
}

body.client-facing-hub .premium-sparkline span {
  grid-column: 1 / -1;
  color: #4a5568;
  font-size: 0.875rem;
  opacity: 0.5;
}

body.client-facing-hub .workspace-main {
  scroll-behavior: smooth;
}

body.client-facing-hub .revenue-workspace-window .panel,
body.client-facing-hub .revenue-workspace-window .premium-chart-card,
body.client-facing-hub .revenue-workspace-window .premium-action-list,
body.client-facing-hub .clinic-workspace-shell .panel,
body.client-facing-hub .clinic-workspace-shell .premium-chart-card,
body.client-facing-hub .clinic-workspace-shell .premium-action-list {
  padding: 18px !important;
}

body.client-facing-hub .revenue-workspace-window,
body.client-facing-hub .clinic-workspace-shell {
  gap: 18px !important;
}

body.client-facing-hub .revenue-workspace-window .premium-metric strong,
body.client-facing-hub .clinic-workspace-shell .premium-metric strong,
body.client-facing-hub .revenue-workspace-window .workspace-snapshot-card__value,
body.client-facing-hub .clinic-workspace-shell .workspace-snapshot-card__value {
  font-size: 1.9rem !important;
}

body.client-facing-hub .ai-response-drawer {
  position: fixed !important;
  top: calc(var(--topbar-height, 48px) + 1rem) !important;
  right: 1rem !important;
  width: min(34rem, calc(100vw - 2rem)) !important;
  max-height: calc(100vh - var(--topbar-height, 48px) - 2rem) !important;
  overflow: auto !important;
  z-index: 1200 !important;
  margin: 0 !important;
  border-left: 3px solid #0f3557 !important;
  background: #f8f9fa !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16) !important;
}

body.client-facing-hub .ai-response-drawer__content {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.client-facing-hub .connector-action-button {
  min-height: 2.25rem;
  white-space: nowrap;
}

body.client-facing-hub .clinic-workspace-shell[data-clinic-module="universal-connectors"],
body.client-facing-hub .clinic-workspace-shell[data-clinic-module="integrations"] {
  --section-accent: #0f766e;
  --page-accent: #0f766e;
}

body.client-facing-hub .clinic-workspace-shell[data-clinic-module="universal-connectors"] .operator-table tbody tr,
body.client-facing-hub .clinic-workspace-shell[data-clinic-module="integrations"] .operator-table tbody tr {
  animation: connectorRowIn 260ms ease both;
}

body.client-facing-hub .clinic-workspace-shell[data-clinic-tab="live-feed"] .operator-table tbody tr:first-child td {
  box-shadow: inset 3px 0 0 #0f766e;
}

@keyframes connectorRowIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 820px) {
  body.client-facing-hub .ai-response-drawer {
    top: auto !important;
    left: 0.75rem !important;
    right: 0.75rem !important;
    bottom: 0.75rem !important;
    width: auto !important;
    max-height: min(70vh, 34rem) !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.client-facing-hub {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body.client-facing-hub .app-frame {
    grid-template-columns: 13rem minmax(0, 1fr) !important;
    gap: 0.5rem !important;
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body.client-facing-hub .main-shell,
  body.client-facing-hub .dashboard,
  body.client-facing-hub .topbar,
  body.client-facing-hub .workspace-page-strip,
  body.client-facing-hub .clinic-workspace-shell,
  body.client-facing-hub .content-grid,
  body.client-facing-hub .operator-workspace,
  body.client-facing-hub .operator-workspace__header,
  body.client-facing-hub .operator-workspace__body,
  body.client-facing-hub .operator-workspace__main,
  body.client-facing-hub .operator-pane,
  body.client-facing-hub .operator-inspector,
  body.client-facing-hub .clinic-workspace__snapshot,
  body.client-facing-hub .clinic-shell-note,
  body.client-facing-hub .operator-subtabs,
  body.client-facing-hub .operator-filterbar,
  body.client-facing-hub .operator-kpi-strip,
  body.client-facing-hub .clinic-workspace__queue {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.client-facing-hub .main-shell,
  body.client-facing-hub .dashboard {
    overflow-x: hidden !important;
  }

  body.client-facing-hub .topbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.client-facing-hub .topbar__menus {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    overflow: visible !important;
  }

  body.client-facing-hub .topbar__quick-actions {
    justify-content: start !important;
    flex-wrap: wrap !important;
  }

  body.client-facing-hub .workspace-page-strip {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.client-facing-hub .workspace-page-strip__utility,
  body.client-facing-hub .topbar__security {
    justify-content: start !important;
  }
}

body.client-facing-hub .claims-table th,
body.client-facing-hub .claims-table td,
body.client-facing-hub .denials-table th,
body.client-facing-hub .denials-table td {
  padding-top: 0.48rem !important;
  padding-bottom: 0.48rem !important;
}

body.client-facing-hub .premium-command-actions,
body.client-facing-hub .premium-action-row,
body.client-facing-hub .premium-filter-ribbon {
  gap: 0.5rem !important;
}

body.client-facing-hub .premium-donut,
body.client-facing-hub .premium-gauge,
body.client-facing-hub .chart-donut__ring {
  box-shadow: none !important;
}

body.client-facing-hub .premium-donut-card,
body.client-facing-hub .chart-detail__visual {
  gap: 24px;
}

body.client-facing-hub .chart.is-expanded .chart-detail {
  margin-top: 24px;
  border: 1px solid #e2e8f0;
  border-left: 2px solid #0f3557;
  border-radius: 4px;
  background: #f8f9fa;
  box-shadow: none;
}

body.client-facing-hub .chart-detail__legend,
body.client-facing-hub .chart-detail__list {
  gap: 8px;
}

body.client-facing-hub .sidebar,
body.client-facing-hub .topbar {
  box-shadow: none !important;
}

body.client-facing-hub .sidebar__brand-logo {
  width: 44px;
  height: 44px;
  border-radius: 0;
  /* Phase 48: brighten on client-facing hub variant too */
  filter:
    brightness(1.08)
    saturate(1.15)
    drop-shadow(0 0 8px rgba(120, 170, 255, 0.35))
    drop-shadow(0 8px 14px rgba(0, 64, 208, 0.30)) !important;
}

body.client-facing-hub .module-link,
body.client-facing-hub .workspace-tab,
body.client-facing-hub .ghost-button,
body.client-facing-hub .action-button,
body.client-facing-hub .command-menu summary {
  border-radius: 4px !important;
  box-shadow: none !important;
}

body.client-facing-hub .action-button {
  background: #0f3557 !important;
  border-color: #0f3557 !important;
}

body.client-facing-hub .ghost-button:hover,
body.client-facing-hub .module-link:hover,
body.client-facing-hub .workspace-tab:hover {
  background: #f8f9fa !important;
}

@media (max-width: 900px) {
  body.client-facing-hub .panel,
  body.client-facing-hub .premium-brief,
  body.client-facing-hub .premium-workspace-command,
  body.client-facing-hub .rcm-premium-visuals,
  body.client-facing-hub .credentialing-premium-visuals,
  body.client-facing-hub .premium-chart-card,
  body.client-facing-hub .premium-action-list,
  body.client-facing-hub .workspace-inspector-card,
  body.client-facing-hub .ai-response-drawer,
  body.client-facing-hub .module-ai-assistant,
  body.client-facing-hub .assist-component {
    padding: 18px !important;
  }

  body.client-facing-hub .premium-metric strong,
  body.client-facing-hub .workspace-snapshot-card__value,
  body.client-facing-hub .metric-card__value,
  body.client-facing-hub .clinic-snapshot-card__value,
  body.client-facing-hub .premium-sparkline strong {
    font-size: 1.75rem !important;
  }
}

/* Final production shell/operator lock: keep this block last so legacy layers cannot reintroduce menu scrolling or admin-page styling. */
body.client-facing-hub {
  --prod-border: #e2e8f0;
  --prod-ink: #0b1f35;
  --prod-muted: rgba(45, 55, 72, 0.72);
  --prod-panel: #ffffff;
  --prod-soft: #f8f9fa;
  --prod-navy: #0f3557;
  --prod-success: #276749;
  --prod-danger: #9b2c2c;
  /* Phase 1 premium retheme: surface depth tokens for the prod theme */
  --prod-radius: 10px;
  --prod-radius-sm: 7px;
  --prod-elev: 0 1px 2px rgba(15, 32, 44, 0.05), 0 6px 16px rgba(15, 32, 44, 0.09);
  --prod-elev-hover: 0 10px 26px rgba(15, 32, 44, 0.14), 0 2px 6px rgba(15, 32, 44, 0.08);
}

@media (min-width: 901px) {
  body.client-facing-hub .app-frame {
    grid-template-columns: clamp(13.75rem, 17vw, 15.5rem) minmax(0, 1fr) !important;
    gap: 0.75rem !important;
  }

  body.client-facing-hub .main-shell {
    grid-column: 2 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.client-facing-hub .topbar {
    display: grid !important;
    grid-template-columns: minmax(34rem, 1fr) auto !important;
    grid-template-areas: "menus actions" !important;
    align-items: center !important;
    gap: 0.5rem !important;
    width: 100% !important;
    min-height: 2.55rem !important;
    padding: 0.28rem 0.38rem !important;
    overflow: visible !important;
    border: 1px solid var(--prod-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.client-facing-hub .topbar__command-core,
  body.client-facing-hub .workspace-menu-fallback {
    display: none !important;
  }

  body.client-facing-hub .topbar__menus {
    grid-area: menus !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    background: var(--prod-soft) !important;
    border: 1px solid var(--prod-border) !important;
    border-radius: 4px !important;
  }

  body.client-facing-hub .topbar__menus .command-menu,
  body.client-facing-hub .command-menu {
    position: relative !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: initial !important;
    border-right: 1px solid var(--prod-border) !important;
    overflow: visible !important;
  }

  body.client-facing-hub .topbar__menus .command-menu:last-child {
    border-right: 0 !important;
  }

  body.client-facing-hub .topbar__menus .command-menu summary,
  body.client-facing-hub .command-menu summary {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 1.82rem !important;
    padding: 0.28rem 0.38rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--prod-ink) !important;
    font-size: clamp(0.58rem, 0.72vw, 0.69rem) !important;
    font-weight: 760 !important;
    letter-spacing: 0.045em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: none !important;
  }

  body.client-facing-hub .topbar__menus .command-menu summary:hover,
  body.client-facing-hub .topbar__menus .command-menu summary:focus-visible,
  body.client-facing-hub .topbar__menus .command-menu[open] summary {
    background: #fff !important;
    color: var(--prod-navy) !important;
    outline: 2px solid rgba(15, 53, 87, 0.14) !important;
    outline-offset: -2px !important;
  }

  body.client-facing-hub .topbar__menus .command-menu__panel,
  body.client-facing-hub .command-menu__panel {
    position: absolute !important;
    top: calc(100% + 0.32rem) !important;
    left: 0 !important;
    z-index: 500 !important;
    min-width: 16rem !important;
    max-width: min(25rem, calc(100vw - 2rem)) !important;
    padding: 0.55rem !important;
    border: 1px solid var(--prod-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.14) !important;
    overflow: visible !important;
  }

  body.client-facing-hub .topbar__quick-actions {
    grid-area: actions !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 0.25rem !important;
    min-width: max-content !important;
    max-width: none !important;
    overflow: visible !important;
  }

  body.client-facing-hub .topbar__quick-actions .ghost-button,
  body.client-facing-hub .notification-bell-wrap .ghost-button,
  body.client-facing-hub .account-menu summary {
    min-height: 1.82rem !important;
    padding: 0.28rem 0.52rem !important;
    border: 1px solid var(--prod-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: var(--prod-ink) !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }

  body.client-facing-hub #account-menu-name {
    max-width: 7.5rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 721px) and (max-width: 900px) {
  body.client-facing-hub .workspace-menu-fallback {
    display: block !important;
  }

  body.client-facing-hub .topbar__menus {
    display: none !important;
  }
}

body.client-facing-hub #module-operator-console,
body.client-facing-hub .operator-workspace,
body.client-facing-hub .operator-inspector,
body.client-facing-hub .operator-table-shell,
body.client-facing-hub .operator-clinic-card,
body.client-facing-hub .operator-risk-card,
body.client-facing-hub .operator-kpi,
body.client-facing-hub .operator-filterbar,
body.client-facing-hub .operator-console-card,
body.client-facing-hub .operator-console-form,
body.client-facing-hub .operator-action-strip {
  border: 1px solid var(--prod-border) !important;
  border-radius: 4px !important;
  background: var(--prod-panel) !important;
  box-shadow: none !important;
}

body.client-facing-hub .panel > .panel__header,
body.client-facing-hub #module-operator-console > .panel__header,
body.client-facing-hub .panel--module-claims > .panel__header,
body.client-facing-hub .panel--module-denials > .panel__header,
body.client-facing-hub .panel--module-providers > .panel__header,
body.client-facing-hub .panel--module-integrations > .panel__header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  min-height: 0 !important;
  padding: 24px 24px 16px !important;
  gap: 1rem !important;
  border-bottom: 1px solid var(--prod-border) !important;
  background: #fff !important;
}

body.client-facing-hub .panel > .panel__header::before,
body.client-facing-hub #module-operator-console > .panel__header::before,
body.client-facing-hub .panel--module-claims > .panel__header::before,
body.client-facing-hub .panel--module-denials > .panel__header::before,
body.client-facing-hub .panel--module-providers > .panel__header::before,
body.client-facing-hub .panel--module-integrations > .panel__header::before {
  content: "" !important;
  display: block !important;
  width: 4px !important;
  min-width: 4px !important;
  height: 38px !important;
  border-radius: 4px !important;
  background: var(--prod-navy) !important;
}

body.client-facing-hub .panel > .panel__header > div,
body.client-facing-hub #module-operator-console > .panel__header > div,
body.client-facing-hub .panel--module-claims > .panel__header > div,
body.client-facing-hub .panel--module-denials > .panel__header > div,
body.client-facing-hub .panel--module-providers > .panel__header > div,
body.client-facing-hub .panel--module-integrations > .panel__header > div {
  width: auto !important;
  max-width: 54rem !important;
  margin: 0 !important;
  text-align: left !important;
}

body.client-facing-hub #module-operator-console {
  overflow: visible !important;
  max-height: none !important;
}

body.client-facing-hub .operator-workspace {
  display: grid !important;
  gap: 32px !important;
  padding: 24px !important;
}

body.client-facing-hub .operator-kpi-strip {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 0.75rem !important;
}

body.client-facing-hub .operator-kpi {
  padding: 24px !important;
}

body.client-facing-hub .operator-kpi strong,
body.client-facing-hub .operator-kpi__value,
body.client-facing-hub .operator-portfolio-metric strong {
  color: var(--prod-ink) !important;
  font-size: 2.25rem !important;
  font-weight: 650 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
}

body.client-facing-hub .operator-kpi small,
body.client-facing-hub .operator-kpi__label,
body.client-facing-hub .operator-portfolio-metric span {
  color: var(--prod-muted) !important;
  font-size: 0.875rem !important;
  opacity: 1 !important;
}

body.client-facing-hub .operator-kpi--cash strong,
body.client-facing-hub .operator-kpi--collected strong,
body.client-facing-hub .operator-portfolio-metric--success strong {
  color: var(--prod-success) !important;
}

body.client-facing-hub .operator-kpi--risk strong,
body.client-facing-hub .operator-kpi--ar strong,
body.client-facing-hub .operator-kpi--denials strong,
body.client-facing-hub .operator-portfolio-metric--danger strong {
  color: var(--prod-danger) !important;
}

body.client-facing-hub .operator-filterbar {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 0.75rem !important;
  padding: 24px !important;
}

body.client-facing-hub .operator-filterbar label:first-child {
  grid-column: span 2;
}

body.client-facing-hub .operator-filterbar select,
body.client-facing-hub .operator-filterbar input,
body.client-facing-hub #module-operator-console select,
body.client-facing-hub #module-operator-console input {
  border: 1px solid var(--prod-border) !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: var(--prod-ink) !important;
  min-height: 2.3rem !important;
}

body.client-facing-hub .operator-workspace__body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.34fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

body.client-facing-hub .operator-inspector {
  position: sticky !important;
  top: 4rem !important;
  padding: 24px !important;
  max-height: calc(100vh - 5rem) !important;
  overflow: auto !important;
}

body.client-facing-hub .operator-inspector__summary,
body.client-facing-hub .operator-inspector__list,
body.client-facing-hub .operator-inspector__alerts,
body.client-facing-hub .operator-next-actions {
  border: 1px solid var(--prod-border) !important;
  border-radius: 4px !important;
  background: var(--prod-soft) !important;
  padding: 16px !important;
}

body.client-facing-hub .operator-status,
body.client-facing-hub .operator-pill,
body.client-facing-hub .operator-chip {
  border: 1px solid var(--prod-border) !important;
  border-radius: 4px !important;
  background: var(--prod-soft) !important;
  color: #2d3748 !important;
  box-shadow: none !important;
}

body.client-facing-hub .operator-status--critical,
body.client-facing-hub .operator-status--risk,
body.client-facing-hub .operator-pill--risk {
  color: var(--prod-danger) !important;
  border-color: rgba(155, 44, 44, 0.35) !important;
}

body.client-facing-hub .operator-status--good,
body.client-facing-hub .operator-status--active,
body.client-facing-hub .operator-pill--success {
  color: var(--prod-success) !important;
  border-color: rgba(39, 103, 73, 0.35) !important;
}

body.client-facing-hub .premium-workspace-command p,
body.client-facing-hub .premium-command-header p,
body.client-facing-hub .premium-ai-card p,
body.client-facing-hub .module-ai-assistant p,
body.client-facing-hub .assist-component p,
body.client-facing-hub .operator-workspace__header .summary-text,
body.client-facing-hub .clinic-shell-note,
body.client-facing-hub .ai-command-footnote,
body.client-facing-hub .module-ai-assistant__footnote {
  color: #4a5568 !important;
  opacity: 0.76 !important;
}

body.client-facing-hub .premium-workspace-command strong,
body.client-facing-hub .premium-command-header strong,
body.client-facing-hub .premium-ai-card strong,
body.client-facing-hub .assist-component strong,
body.client-facing-hub .module-ai-assistant strong {
  color: var(--prod-ink) !important;
  opacity: 1 !important;
}

/* Production copy wrapping guard: never split normal words across lines. */
body.client-facing-hub,
body.client-facing-hub * {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.client-facing-hub p,
body.client-facing-hub li,
body.client-facing-hub td,
body.client-facing-hub th,
body.client-facing-hub span,
body.client-facing-hub label,
body.client-facing-hub button,
body.client-facing-hub summary,
body.client-facing-hub .summary-text,
body.client-facing-hub .draft-box,
body.client-facing-hub .premium-metric,
body.client-facing-hub .premium-action-list,
body.client-facing-hub .operator-inspector,
body.client-facing-hub .operator-table,
body.client-facing-hub .operator-practice-card,
body.client-facing-hub .module-ai-assistant,
body.client-facing-hub .assist-component {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.client-facing-hub .module-link,
body.client-facing-hub .command-menu summary,
body.client-facing-hub .ghost-button,
body.client-facing-hub .action-button,
body.client-facing-hub .status-pill,
body.client-facing-hub .operator-pill,
body.client-facing-hub .operator-status,
body.client-facing-hub .operator-meta-pill,
body.client-facing-hub .workspace-tab,
body.client-facing-hub .operator-subtab {
  white-space: nowrap !important;
}

body.client-facing-hub .panel__header h1,
body.client-facing-hub .panel__header h2,
body.client-facing-hub .panel__header h3,
body.client-facing-hub .workspace-header h1,
body.client-facing-hub .workspace-header h2,
body.client-facing-hub .workspace-header h3,
body.client-facing-hub .premium-command-header h2,
body.client-facing-hub .premium-command-header h3,
body.client-facing-hub .operator-workspace__header h3,
body.client-facing-hub .clinic-workspace__header h3 {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  text-wrap: balance;
}

@media (max-width: 1180px) {
  body.client-facing-hub .operator-kpi-strip,
  body.client-facing-hub .operator-filterbar {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.client-facing-hub .operator-workspace__body {
    grid-template-columns: 1fr !important;
  }

  body.client-facing-hub .operator-inspector {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
  }
}

/* Realtime module assistants and high-signal RCM visuals */
.live-assist-console {
  margin: 0.95rem 0;
  padding: 1rem;
  border: 1px solid #cbd5e1;
  border-left: 3px solid #0f3557;
  border-radius: 4px;
  background:
    linear-gradient(135deg, rgba(15, 53, 87, 0.08), rgba(20, 184, 166, 0.06)),
    #f8fafc;
  position: relative;
  overflow: hidden;
}

.live-assist-console::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(15, 53, 87, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 53, 87, 0.035) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}

.live-assist-console__header,
.live-assist-console__grid,
.live-assist-console__actions {
  position: relative;
  z-index: 1;
}

.live-assist-console__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.live-assist-console__header h4 {
  margin: 0.1rem 0 0;
  font-size: 1.05rem;
  color: #0f172a;
}

.live-assist-console__status {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  padding: 0.35rem 0.55rem;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  background: rgba(239, 246, 255, 0.86);
  color: #0f3557;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.live-assist-console__status i {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 999px;
  background: #14b8a6;
  box-shadow: 0 0 0 0 rgba(20, 184, 166, 0.5);
  animation: assist-pulse 1.8s ease-out infinite;
}

.live-assist-console__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.live-assist-console__item {
  padding: 0.72rem;
  border: 1px solid #dbe4ef;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.78);
  animation: assist-card-rise 420ms ease-out both;
  animation-delay: var(--assist-delay, 0ms);
}

.live-assist-console__item span {
  display: block;
  margin-bottom: 0.35rem;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.live-assist-console__item strong {
  display: block;
  color: #0f172a;
  font-size: 0.86rem;
  line-height: 1.25;
}

.live-assist-console__item em {
  display: block;
  margin-top: 0.32rem;
  color: #475569;
  font-size: 0.78rem;
  font-style: normal;
  line-height: 1.4;
}

.live-assist-console__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.55rem;
  margin-top: 0.8rem;
}

.rcm-premium-visuals .premium-chart-card {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82)),
    radial-gradient(circle at 85% 15%, rgba(20, 184, 166, 0.09), transparent 32%);
}

.premium-bar-row i,
.chart__bar {
  animation: chart-bar-fill 820ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.premium-sparkline__line {
  stroke-dasharray: 340;
  stroke-dashoffset: 340;
  animation: premium-line-draw 1.2s ease-out forwards;
}

@keyframes assist-pulse {
  0% { box-shadow: 0 0 0 0 rgba(20, 184, 166, 0.5); }
  70% { box-shadow: 0 0 0 7px rgba(20, 184, 166, 0); }
  100% { box-shadow: 0 0 0 0 rgba(20, 184, 166, 0); }
}

@keyframes assist-card-rise {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes premium-line-draw {
  to { stroke-dashoffset: 0; }
}

@media (max-width: 1080px) {
  .live-assist-console__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Next-gen operating hub surfaces */
.clinic-workspace-shell[data-clinic-module="copilot"] .clinic-workspace__snapshot,
.clinic-workspace-shell[data-clinic-module="universal-connectors"] .clinic-workspace__snapshot,
.clinic-workspace-shell[data-clinic-module="market-health"] .clinic-workspace__snapshot,
.clinic-workspace-shell[data-clinic-module="growth-command"] .clinic-workspace__snapshot {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.74)),
    radial-gradient(circle at 92% 12%, rgba(15, 118, 110, 0.12), transparent 28%);
  border: 1px solid #e2e8f0;
  border-radius: 4px;
}

.clinic-workspace-shell[data-clinic-module="copilot"] .operator-kpi-card,
.clinic-workspace-shell[data-clinic-module="growth-command"] .operator-kpi-card,
.clinic-workspace-shell[data-clinic-module="market-health"] .operator-kpi-card,
.clinic-workspace-shell[data-clinic-module="universal-connectors"] .operator-kpi-card {
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(14px);
}

.peak-progress-svg {
  width: 82px;
  height: 62px;
  display: block;
}

.peak-progress-svg__frame {
  fill: rgba(248, 250, 252, 0.68);
  stroke: #0f3557;
  stroke-width: 3;
  stroke-linejoin: round;
}

.peak-progress-svg__fill {
  fill: rgba(39, 103, 73, 0.74);
  transition: y 650ms ease, height 650ms ease;
}

.peak-progress-svg--warning .peak-progress-svg__fill {
  fill: rgba(180, 83, 9, 0.68);
}

.clinic-snapshot-card__visual {
  float: right;
  margin-left: 0.85rem;
  opacity: 0.95;
}

.hud-quick-action {
  opacity: 0;
  transform: translateY(2px);
}

.premium-command-actions .hud-quick-action {
  opacity: 1;
  transform: translateY(0);
}

.clinic-workspace-shell[data-clinic-module="credentialing"] .operator-table tr:hover .ghost-button,
.clinic-workspace-shell[data-clinic-module="universal-connectors"] .operator-table tr:hover .ghost-button {
  opacity: 1;
  transform: translateY(0);
}

.clinic-workspace-shell[data-clinic-module="credentialing"] .operator-table .ghost-button,
.clinic-workspace-shell[data-clinic-module="universal-connectors"] .operator-table .ghost-button {
  opacity: 0.92;
  transition: opacity 160ms ease, transform 160ms ease;
}

.clinic-workspace-shell[data-clinic-module="copilot"] .priority-pill,
.clinic-workspace-shell[data-clinic-module="growth-command"] .priority-pill,
.clinic-workspace-shell[data-clinic-module="market-health"] .priority-pill,
.clinic-workspace-shell[data-clinic-module="universal-connectors"] .priority-pill {
  border-radius: 4px;
}
/* Final production navigation/workflow cleanup: one slim chrome, no repeated module strip. */
body.client-facing-hub .workspace-shell-strip {
  display: none !important;
}
/* Slim clinic-identity bar beneath the menus on EVERY module: the live clinic's business
   name only (no competing title/subtitle — the module's own panel carries the page title). */
body.client-facing-hub .workspace-page-strip {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.34rem 0.95rem 0.36rem !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
}
body.client-facing-hub .workspace-page-strip__identity { margin: 0 !important; padding: 0 !important; }
body.client-facing-hub #topbar-page-title,
body.client-facing-hub #topbar-page-subtitle,
body.client-facing-hub .workspace-page-strip__utility { display: none !important; }
body.client-facing-hub #topbar-page-label {
  margin: 0 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: #1f3147 !important;
}
/* The dashboard hero already leads with the clinic's business name, so the breadcrumb
   bar is redundant there — show it on every OTHER module instead. */
body.client-facing-hub[data-current-page="dashboard"] .workspace-page-strip { display: none !important; }

body.client-facing-hub .topbar {
  display: grid !important;
  grid-template-columns: minmax(170px, 0.9fr) minmax(470px, 2fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 44px !important;
  padding: 8px 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.client-facing-hub .topbar__command-core,
body.client-facing-hub .topbar__menus,
body.client-facing-hub .topbar__quick-actions {
  min-width: 0 !important;
}

body.client-facing-hub .topbar__menus {
  grid-column: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(70px, 1fr)) !important;
  gap: 4px !important;
  overflow: visible !important;
  max-width: none !important;
  width: 100% !important;
}

body.client-facing-hub .topbar__menus .command-menu {
  min-width: 0 !important;
}

body.client-facing-hub .topbar__menus .command-menu summary,
body.client-facing-hub .topbar__quick-actions .ghost-button,
body.client-facing-hub .topbar-inline-control select {
  min-height: 30px !important;
  border-radius: 4px !important;
  padding: 6px 10px !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.client-facing-hub .topbar__quick-actions {
  grid-column: 3 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
}

.topbar-inline-control {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  white-space: nowrap;
}

.login-portal-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0 4px;
}

.login-portal-switch__button {
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #f8fafc;
  color: #0f172a;
  cursor: pointer;
  font-weight: 800;
  padding: 10px 12px;
}

.login-portal-switch__button.is-active {
  background: #0f2742;
  border-color: #0f2742;
  color: #ffffff;
}

/* ============================================================
   PHASE 59 — Operator vs Clinic login: unmistakable distinction.
   Both portals share the demo login (demo-health/avery is the AAP
   operator-admin), so the difference reads in the chrome:
   clinic = light workspace card, operator = dark command console.
   ============================================================ */
#login-form .login-card__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  justify-self: start;
  margin: 0 0 0.1rem;
  padding: 0.32rem 0.72rem;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0f3557;
  background: rgba(15, 53, 87, 0.08);
  border: 1px solid rgba(15, 53, 87, 0.16);
}
#login-form .login-card__eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #0f3557;
}
#login-form .login-field-label { letter-spacing: 0.02em; }

/* ---- Operator command-console theme ---- */
#login-form[data-portal="operator"] {
  background: linear-gradient(165deg, #10173a 0%, #15214d 52%, #1d1b4b 100%);
  border: 1px solid rgba(129, 140, 248, 0.38);
  box-shadow: 0 30px 70px rgba(8, 11, 38, 0.6),
    inset 0 1px 0 rgba(165, 180, 252, 0.16);
}
#login-form[data-portal="operator"] h2 { color: #f5f7ff; }
#login-form[data-portal="operator"] .summary-text { color: rgba(214, 222, 255, 0.82); }
#login-form[data-portal="operator"] .login-field-label,
#login-form[data-portal="operator"] label { color: rgba(199, 210, 254, 0.9); }
#login-form[data-portal="operator"] .login-card__eyebrow {
  /* !important so this beats the global `.eyebrow { color: rgba(15,53,87,.82)
     !important }` contrast rule — without it the eyebrow renders navy-on-navy
     (contrast ~1.2) and is invisible on the dark operator card. */
  color: #e0e7ff !important;
  background: rgba(99, 102, 241, 0.22);
  border: 1px solid rgba(129, 140, 248, 0.5);
  box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.15), 0 6px 18px rgba(49, 46, 129, 0.45);
}
#login-form[data-portal="operator"] .login-card__eyebrow::before {
  background: #a5b4fc;
  box-shadow: 0 0 8px rgba(165, 180, 252, 0.9);
}
#login-form[data-portal="operator"] input {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(165, 180, 252, 0.3);
  color: #f1f5ff;
}
#login-form[data-portal="operator"] input::placeholder { color: rgba(199, 210, 254, 0.55); }
#login-form[data-portal="operator"] input:focus {
  border-color: #818cf8;
  outline: none;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.35);
}
#login-form[data-portal="operator"] .action-button {
  background: linear-gradient(135deg, #6366f1, #4f46e5);
  border: 1px solid rgba(129, 140, 248, 0.6);
  color: #ffffff;
}
#login-form[data-portal="operator"] .action-button:hover {
  background: linear-gradient(135deg, #717bff, #5b52f0);
}
#login-form[data-portal="operator"] .login-portal-switch__button {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(165, 180, 252, 0.28);
  color: rgba(214, 222, 255, 0.82);
}
#login-form[data-portal="operator"] .login-portal-switch__button.is-active {
  background: linear-gradient(135deg, #6366f1, #4338ca);
  border-color: rgba(129, 140, 248, 0.7);
  color: #ffffff;
}

/* ---- Login container contrast fixes (readability on both themes) ---- */
/* Clinic (light) card: the subtitle + eyebrow were too light gray on white. */
#login-form .summary-text { color: #334155; }            /* slate-700, clearly readable */
#login-form h2 { color: #0f172a; }
#login-form .login-card__eyebrow { color: #0f2742; }     /* strong, not washed out */
#login-form .login-field-label { color: #1e293b; }
/* Copyright / access notice — readable in both themes. */
.login-card__legal {
  margin: 0.95rem 0 0;
  font-size: 0.72rem;
  line-height: 1.5;
  color: #475569;
}
/* Operator (dark) card: lighten subtitle + the access/copyright notice so they
   are legible on the dark console background (they were near-invisible). */
#login-form[data-portal="operator"] .summary-text { color: rgba(226, 232, 255, 0.9); }
#login-form[data-portal="operator"] .login-card__legal { color: rgba(199, 210, 254, 0.78); }

body.client-facing-hub .panel[data-page]:not(.page-hidden) {
  margin-top: 0 !important;
}

body.client-facing-hub .panel__header {
  border-bottom: 1px solid #e2e8f0 !important;
  margin-bottom: 18px !important;
  padding-bottom: 14px !important;
}

body.client-facing-hub * {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.messaging-command-shell {
  display: grid;
  grid-template-columns: minmax(230px, 0.9fr) minmax(360px, 1.4fr) minmax(220px, 0.8fr);
  gap: 16px;
  margin: 20px 0 24px;
}

.messaging-command-shell__inbox,
.messaging-command-shell__conversation,
.messaging-command-shell__context {
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #ffffff;
  padding: 20px;
  min-width: 0;
}

.messaging-command-shell__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.messaging-command-shell__header h3 {
  margin: 0;
  font-size: 1rem;
}

.messaging-thread-list {
  display: grid;
  gap: 8px;
}

.messaging-thread-row {
  display: grid;
  gap: 4px;
  width: 100%;
  border: 1px solid #e2e8f0;
  border-left: 3px solid transparent;
  border-radius: 4px;
  background: #f8fafc;
  color: #0f172a;
  cursor: pointer;
  padding: 10px 12px;
  text-align: left;
}

.messaging-thread-row span,
.messaging-thread-row small {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.messaging-thread-row.is-active,
.messaging-thread-row:hover {
  border-left-color: #0f766e;
  background: #eef7f6;
}

.messaging-conversation-preview {
  display: grid;
  gap: 14px;
  min-height: 160px;
}

body[data-current-page="staff-ops"].client-facing-hub .task-management-grid {
  grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.1fr) !important;
  gap: 24px !important;
}

body[data-current-page="staff-ops"].client-facing-hub .project-ops-command,
body[data-current-page="staff-ops"].client-facing-hub .premium-task-board,
body[data-current-page="staff-ops"].client-facing-hub .premium-task-form,
body[data-current-page="staff-ops"].client-facing-hub .item {
  border-radius: 4px !important;
  box-shadow: none !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace__header {
  align-items: center !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding-bottom: 18px !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-subtabs {
  position: sticky;
  top: calc(var(--topbar-height, 44px) + 10px);
  z-index: 9;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  padding: 4px;
}

body[data-current-page="operator-console"].client-facing-hub .operator-subtab {
  border-radius: 4px !important;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  body.client-facing-hub .topbar {
    grid-template-columns: 1fr !important;
  }

  body.client-facing-hub .topbar__command-core,
  body.client-facing-hub .topbar__menus,
  body.client-facing-hub .topbar__quick-actions {
    grid-column: 1 !important;
  }

  body.client-facing-hub .topbar__menus {
    grid-template-columns: repeat(3, minmax(90px, 1fr)) !important;
  }

  .messaging-command-shell {
    grid-template-columns: 1fr;
  }
}

/* Final topbar correction: keep the six menus visible without squeezing labels. */
body.client-facing-hub .topbar {
  grid-template-columns: minmax(540px, 1fr) auto !important;
}

body.client-facing-hub .topbar__command-core {
  display: none !important;
}

body.client-facing-hub .topbar__menus {
  grid-column: 1 !important;
  grid-template-columns: repeat(6, minmax(86px, 1fr)) !important;
}

body.client-facing-hub .topbar__quick-actions {
  grid-column: 2 !important;
}

body.client-facing-hub .topbar-inline-control span {
  display: none !important;
}

body.client-facing-hub #lock-timeout-select {
  width: 82px !important;
}

body.client-facing-hub .topbar__menus .command-menu summary {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: center !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.045em !important;
}

@media (max-width: 1180px) {
  body.client-facing-hub .topbar {
    grid-template-columns: 1fr !important;
  }

  body.client-facing-hub .topbar__menus,
  body.client-facing-hub .topbar__quick-actions {
    grid-column: 1 !important;
  }
}

/* Final command-console simplification: one workbench per module, fewer duplicate shells. */
body.client-facing-hub #clinic-workspace-shell,
body.client-facing-hub .clinic-workspace-shell {
  display: none !important;
}

body.client-facing-hub .panel__ai-strip:empty,
body.client-facing-hub .dayboard-ai-strip:empty {
  display: none !important;
}

body.client-facing-hub .panel--module-claims,
body.client-facing-hub .panel--module-denials,
body.client-facing-hub .panel--module-credentialing,
body.client-facing-hub .panel--module-ops,
body.client-facing-hub .panel--module-operator,
body.client-facing-hub .panel--module-integrations,
body.client-facing-hub .panel--module-messages {
  padding: 24px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

body.client-facing-hub .panel--module-claims > .panel__header,
body.client-facing-hub .panel--module-denials > .panel__header,
body.client-facing-hub .panel--module-credentialing > .panel__header,
body.client-facing-hub .panel--module-ops > .panel__header,
body.client-facing-hub .panel--module-operator > .panel__header,
body.client-facing-hub .panel--module-integrations > .panel__header,
body.client-facing-hub .panel--module-messages > .panel__header {
  margin: 0 0 18px !important;
  /* padding-left clears the absolute 4px accent bar (::before at left:0) so the
     eyebrow + title never sit under it. Was `0 0 14px` which zeroed the left
     gutter and let the navy bar clip the first characters of every module head. */
  padding: 0 0 14px 1rem !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

body.client-facing-hub .panel--module-claims > .summary-text,
body.client-facing-hub .panel--module-denials > .summary-text,
body.client-facing-hub .panel--module-ops > .summary-text,
body.client-facing-hub .panel--module-messages > .summary-text {
  max-width: 920px;
  margin: 0 0 18px !important;
  color: #475569 !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
}

body.client-facing-hub .revenue-workspace-window {
  display: none !important;
}

body[data-current-page="claims"].client-facing-hub .module-three-up,
body[data-current-page="denials"].client-facing-hub .module-three-up {
  gap: 20px !important;
  margin: 22px 0 !important;
}

body[data-current-page="claims"].client-facing-hub .claims-workspace-grid,
body[data-current-page="denials"].client-facing-hub .denials-workspace-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.78fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

body[data-current-page="claims"].client-facing-hub .claims-workspace-pane,
body[data-current-page="denials"].client-facing-hub .denials-workspace-pane {
  min-width: 0;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  padding: 20px !important;
  box-shadow: none !important;
}

body[data-current-page="claims"].client-facing-hub .claims-workspace-pane--inspector,
body[data-current-page="denials"].client-facing-hub .denials-workspace-pane--inspector {
  position: sticky;
  top: calc(var(--topbar-height, 50px) + 16px);
}

body[data-current-page="staff-ops"].client-facing-hub #task-center-summary {
  display: none !important;
}

body[data-current-page="staff-ops"].client-facing-hub #module-work-queue > .summary-text {
  max-width: 980px !important;
  margin: 0 0 20px !important;
  color: #475569 !important;
  font-size: 0.92rem !important;
}

body[data-current-page="staff-ops"].client-facing-hub .premium-workspace-command,
body[data-current-page="claims"].client-facing-hub .premium-workspace-command,
body[data-current-page="credentialing"].client-facing-hub .premium-workspace-command,
body[data-current-page="operator-console"].client-facing-hub .premium-workspace-command {
  margin-bottom: 32px !important;
  padding: 24px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

body[data-current-page="staff-ops"].client-facing-hub .premium-command-header,
body[data-current-page="claims"].client-facing-hub .premium-command-header,
body[data-current-page="credentialing"].client-facing-hub .premium-command-header {
  align-items: start !important;
  gap: 24px !important;
  margin-bottom: 18px !important;
}

body[data-current-page="staff-ops"].client-facing-hub .premium-command-header h3,
body[data-current-page="claims"].client-facing-hub .premium-command-header h3,
body[data-current-page="credentialing"].client-facing-hub .premium-command-header h3,
body[data-current-page="operator-console"].client-facing-hub .premium-command-header h3 {
  font-size: 1.55rem !important;
  line-height: 1.08 !important;
}

body.client-facing-hub .premium-action-row--primary,
.project-command-primary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

body.client-facing-hub .premium-action-row--primary .action-button,
body.client-facing-hub .premium-action-row--primary .ghost-button,
.project-command-primary-actions .action-button,
.project-command-primary-actions .ghost-button {
  min-height: 38px !important;
  padding: 0 16px !important;
  border-radius: 4px !important;
  font-size: 0.78rem !important;
}

.task-command-workbench {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
  gap: 24px;
  margin: 20px 0 22px;
}

.task-project-list-panel,
.task-project-detail-panel {
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #ffffff;
  padding: 20px;
}

.task-command-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.task-command-section-title strong {
  color: #0f172a;
  font-size: 0.86rem;
  letter-spacing: 0;
}

.task-project-list,
.task-project-task-list {
  display: grid;
  gap: 8px;
}

.task-project-row,
.task-project-task-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  border: 1px solid #e2e8f0;
  border-left: 3px solid transparent;
  border-radius: 4px;
  background: #f8fafc;
  color: #0f172a;
  cursor: pointer;
  padding: 12px 14px;
  text-align: left;
}

.task-project-row:hover,
.task-project-row.is-active,
.task-project-task-row:hover {
  border-left-color: #0f766e;
  background: #f0fdfa;
}

.task-project-row span,
.task-project-task-row span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.task-project-row strong,
.task-project-task-row strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-project-row em,
.task-project-task-row em {
  color: #64748b;
  font-size: 0.74rem;
  font-style: normal;
}

.task-project-row b,
.task-project-task-row b {
  color: #334155;
  font-size: 0.78rem;
  white-space: nowrap;
}

.task-project-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.task-project-detail-grid article {
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #f8fafc;
  padding: 12px;
}

.task-project-detail-grid span {
  display: block;
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.task-project-detail-grid strong {
  display: block;
  margin-top: 5px;
  color: #0f172a;
  font-size: 0.95rem;
}

body[data-current-page="staff-ops"].client-facing-hub .task-ops-heatmap {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 0 20px !important;
}

body[data-current-page="staff-ops"].client-facing-hub .project-ops-command__grid {
  display: none !important;
}

body[data-current-page="staff-ops"].client-facing-hub .task-management-grid {
  margin-top: 32px !important;
  padding-top: 32px !important;
  border-top: 1px solid #e2e8f0 !important;
}

body[data-current-page="staff-ops"].client-facing-hub .task-management-grid--compact {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body[data-current-page="staff-ops"].client-facing-hub #module-work-queue .module-two-up {
  display: none !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-filterbar {
  display: grid !important;
  grid-template-columns: minmax(190px, 0.7fr) minmax(220px, 0.8fr) minmax(280px, 1fr) auto auto !important;
  gap: 14px !important;
  padding: 16px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-quick-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
  margin: 16px 0 22px !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-quick-actions .ghost-button {
  border-radius: 4px !important;
  min-height: 36px !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace__body {
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.72fr) !important;
  gap: 24px !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-pane,
body[data-current-page="operator-console"].client-facing-hub .operator-inspector {
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

body[data-current-page="operator-console"].client-facing-hub #operator-console-alerts-list {
  display: none !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace__main > .operator-pane:first-child {
  display: none !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-kpi-strip {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 18px 0 !important;
}

/* Final SaaS flow pass: client scope, fewer duplicate module assist blocks, cleaner project console. */
body.client-facing-hub .module-client-scope-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 24px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #0f766e;
  border-radius: 4px;
  background: #f8fafc;
}

body.client-facing-hub .module-client-scope-strip div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

body.client-facing-hub .module-client-scope-strip p,
body.client-facing-hub .module-client-scope-strip label {
  margin: 0;
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.client-facing-hub .module-client-scope-strip strong {
  color: #0f172a;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1;
}

body.client-facing-hub .module-client-scope-strip span,
body.client-facing-hub .module-client-scope-strip__locked {
  color: #475569;
  font-size: 0.82rem;
  line-height: 1.35;
}

body.client-facing-hub .module-client-scope-strip select {
  min-width: 240px;
  min-height: 38px;
  margin-top: 6px;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #ffffff;
  color: #0f172a;
  font-weight: 700;
}

body[data-current-page="claims"].client-facing-hub #module-claims > .panel__ai-strip,
body[data-current-page="credentialing"].client-facing-hub #module-credentialing > .panel__ai-strip,
body[data-current-page="staff-ops"].client-facing-hub #module-work-queue > .panel__ai-strip,
body[data-current-page="messaging"].client-facing-hub #module-messaging > .panel__ai-strip,
body[data-current-page="universal-connectors"].client-facing-hub #module-integrations > .panel__ai-strip {
  display: none !important;
}

body[data-current-page="staff-ops"].client-facing-hub #module-work-queue > .summary-text {
  display: none !important;
}

body[data-current-page="staff-ops"].client-facing-hub .task-management-grid {
  display: none !important;
}

body[data-current-page="staff-ops"].client-facing-hub .task-management-grid.is-open {
  display: grid !important;
}

body[data-current-page="staff-ops"].client-facing-hub .premium-task-board {
  margin-top: 32px !important;
}

body[data-current-page="staff-ops"].client-facing-hub .project-ops-command {
  margin-bottom: 0 !important;
}

body[data-current-page="staff-ops"].client-facing-hub .task-command-workbench {
  margin-bottom: 0;
}

body[data-current-page="messaging"].client-facing-hub #module-messaging > .summary-text,
body[data-current-page="messaging"].client-facing-hub #messaging-summary,
body[data-current-page="messaging"].client-facing-hub #staff-messages-list,
body[data-current-page="messaging"].client-facing-hub #patient-messages-list {
  display: none !important;
}

body[data-current-page="messaging"].client-facing-hub #module-messaging .module-two-up {
  display: none !important;
}

body[data-current-page="messaging"].client-facing-hub #module-messaging .module-two-up.is-open {
  display: grid !important;
  margin-top: 24px !important;
}

@media (max-width: 920px) {
  body.client-facing-hub .module-client-scope-strip {
    align-items: stretch;
    flex-direction: column;
  }

  body.client-facing-hub .module-client-scope-strip select {
    width: 100%;
    min-width: 0;
  }
}

body[data-current-page="operator-console"].client-facing-hub .operator-kpi {
  padding: 16px !important;
  border-radius: 4px !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 3px solid #0f766e !important;
  box-shadow: none !important;
}

@media (max-width: 1180px) {
  .task-command-workbench,
  body[data-current-page="claims"].client-facing-hub .claims-workspace-grid,
  body[data-current-page="denials"].client-facing-hub .denials-workspace-grid,
  body[data-current-page="operator-console"].client-facing-hub .operator-workspace__body {
    grid-template-columns: 1fr !important;
  }

  .task-project-detail-grid,
  body[data-current-page="staff-ops"].client-facing-hub .task-ops-heatmap,
  body[data-current-page="staff-ops"].client-facing-hub .task-management-grid--compact,
  body[data-current-page="operator-console"].client-facing-hub .operator-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ============================================================
   PREMIUM REFINEMENT — PHASE 1: VISUAL SYSTEM FOUNDATION
   v20260518-premium-p1
   Additive only. Reuses existing tokens + the dormant
   --premium-* palette. Goal: keep the dense enterprise
   structure but move from flat pale panels to layered,
   depth-aware command surfaces with a sharper type hierarchy.
   No behavior change. Fully reversible (git baseline 4ce43ff).
   ============================================================ */
:root {
  /* elevation scale (the old --shadow was nearly invisible) */
  --elev-1: 0 1px 2px rgba(15, 32, 44, 0.06), 0 1px 3px rgba(15, 32, 44, 0.08);
  --elev-2: 0 2px 4px rgba(15, 32, 44, 0.07), 0 6px 16px rgba(15, 32, 44, 0.10);
  --elev-3: 0 8px 24px rgba(15, 32, 44, 0.14), 0 2px 6px rgba(15, 32, 44, 0.08);
  --ring-focus: 0 0 0 3px rgba(29, 95, 149, 0.28);
  /* premium radii — still tight/enterprise, just less raw */
  --r-card: 10px;
  --r-control: 7px;
  /* semantic surface tints derived from the dormant palette */
  --tint-revenue: rgba(20, 116, 95, 0.10);
  --tint-denial: rgba(181, 66, 77, 0.10);
  --tint-cred: rgba(166, 109, 18, 0.10);
  --tint-compliance: rgba(110, 86, 163, 0.10);
  --tint-clinical: rgba(8, 127, 131, 0.10);
  --hairline: rgba(15, 53, 87, 0.12);
}

/* Layered base — the single flat pale fill becomes a soft field */
body .app-frame {
  background:
    radial-gradient(1200px 520px at 78% -8%, rgba(29, 95, 149, 0.06), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-strong) 100%);
}

/* --- DELIBERATE RETHEME OF THE FLAT-COMPACT "prod" SURFACE LAYER ---
   The prod theme enumerates its surface selectors as
   `body[data-current-page="X"].client-facing-hub .surface`
   (specificity 0,0,3,1) and forces border-radius:4px / box-shadow:none.
   This section mirrors that EXACT pattern with a value-agnostic
   `[data-current-page]` attribute (same 0,0,3,1 specificity, applies
   to every page, later in source) so depth/rounding win
   deterministically WITHOUT a scattered !important escalation tower.
   Token-driven via the --prod-* surface tokens added above. */
body[data-current-page].client-facing-hub .panel,
body[data-current-page].client-facing-hub .metric-card,
body[data-current-page].client-facing-hub .operator-kpi,
body[data-current-page].client-facing-hub .operator-console-card,
body[data-current-page].client-facing-hub .operator-practice-card,
body[data-current-page].client-facing-hub .operator-practice-panel,
body[data-current-page].client-facing-hub .operator-portfolio-strip__item,
body[data-current-page].client-facing-hub .operator-inspector,
body[data-current-page].client-facing-hub .operator-inspector__summary,
body[data-current-page].client-facing-hub .operator-inspector__list,
body[data-current-page].client-facing-hub .operator-alert,
body[data-current-page].client-facing-hub #operator-console-table-shell {
  border-radius: var(--prod-radius) !important;
  box-shadow: var(--prod-elev) !important;
  transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}
body[data-current-page].client-facing-hub .panel:hover,
body[data-current-page].client-facing-hub .metric-card:hover,
body[data-current-page].client-facing-hub .operator-kpi:hover,
body[data-current-page].client-facing-hub .operator-console-card:hover,
body[data-current-page].client-facing-hub .operator-practice-card:hover {
  box-shadow: var(--prod-elev-hover) !important;
  transform: translateY(-2px);
}
body[data-current-page].client-facing-hub .operator-filterbar {
  border-radius: var(--prod-radius) !important;
}
body[data-current-page].client-facing-hub .panel__header {
  border-bottom: 1px solid var(--prod-border) !important;
}

/* Chrome: topbar + command surfaces gain quiet definition.
   Base prod rules are body.client-facing-hub .x (0,0,2,1); the
   [data-current-page] variant (0,0,3,1) wins generically. */
body[data-current-page].client-facing-hub .topbar {
  border-radius: var(--prod-radius) !important;
  box-shadow: var(--prod-elev) !important;
}
body[data-current-page].client-facing-hub .topbar__menus,
body[data-current-page].client-facing-hub .command-menu__panel {
  border-radius: var(--prod-radius-sm) !important;
}
body[data-current-page].client-facing-hub .command-menu__panel {
  box-shadow: var(--prod-elev-hover) !important;
}
body[data-current-page].client-facing-hub .sidebar {
  border-right: 1px solid var(--prod-border) !important;
}

/* Sharper type hierarchy (color + tracking only — density preserved) */
body h1, body h2, body h3,
body .panel__title,
body .panel__eyebrow {
  color: var(--premium-graphite);
}
body h1, body h2 { letter-spacing: -0.012em; }
body .panel__eyebrow,
body table th {
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--muted);
}

/* Primary action gets weight + a real focus ring */
body .action-button {
  border-radius: var(--r-control);
  box-shadow: var(--elev-1);
  transition: box-shadow 0.16s ease, transform 0.16s ease, background 0.16s ease;
}
body .action-button:hover {
  box-shadow: var(--elev-2);
  transform: translateY(-1px);
}
body .action-button:focus-visible,
body .ghost-button:focus-visible {
  outline: none;
  box-shadow: var(--ring-focus);
}
body .ghost-button { border-radius: var(--r-control); }
/* ===== END PHASE 1 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 2: TRUE SVG CHART LAYER
   v20260518-premium-p2
   Upgrades the donut from a CSS conic approximation to an
   accurate stroke-dasharray SVG donut (segment fidelity +
   hover + staggered draw-in). Scoped to .premium-donut--svg
   so the conic path is untouched elsewhere. Reversible.
   ============================================================ */
.premium-donut.premium-donut--svg {
  background: none !important;
  animation: none !important;
  display: grid;
  place-items: center;
  position: relative;
}
.premium-donut.premium-donut--svg .premium-donut__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: scale(0.94);
  opacity: 0;
  animation: premiumDonutSvgIn 560ms cubic-bezier(0.2, 0.75, 0.25, 1) forwards;
}
.premium-donut.premium-donut--svg .premium-donut__center {
  position: relative;
  z-index: 1;
}
.premium-donut__seg {
  opacity: 0;
  transform-origin: 50% 50%;
  animation: premiumDonutSegIn 460ms ease forwards;
  animation-delay: var(--seg-delay, 0s);
  transition: stroke-width 0.16s ease;
}
.premium-donut__seg:hover {
  stroke-width: 15;
}
@keyframes premiumDonutSvgIn {
  to { transform: scale(1); opacity: 1; }
}
@keyframes premiumDonutSegIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .premium-donut.premium-donut--svg .premium-donut__svg,
  .premium-donut__seg {
    animation-duration: 1ms !important;
  }
}
/* ===== END PHASE 2 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 3: BUTTON HIERARCHY & STATE
   v20260518-premium-p3
   April 29 audit: "too many buttons look equally important"
   and "buttons without feedback feel broken". This tiers the
   visual weight (primary vs secondary/ghost) and gives
   disabled / coming-soon controls an unmistakable state so
   they read as intentionally inactive, not broken.
   Scoped to explicit classes/attrs only (no bare `button`).
   ============================================================ */
body[data-current-page].client-facing-hub .ghost-button {
  background: transparent !important;
  border: 1px solid var(--prod-border) !important;
  color: var(--prod-muted) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: color 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}
body[data-current-page].client-facing-hub .ghost-button:hover {
  color: var(--prod-ink) !important;
  border-color: var(--prod-navy) !important;
  background: rgba(15, 53, 87, 0.05) !important;
}
/* Primary stays the single clear emphasis */
body[data-current-page].client-facing-hub .action-button {
  font-weight: 700 !important;
}

/* Disabled / coming-soon: unmistakably inactive, never "broken" */
body button[disabled],
body [aria-disabled="true"],
body [data-coming-soon],
body .is-coming-soon {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  filter: grayscale(0.35);
}
body [data-coming-soon],
body .is-coming-soon {
  position: relative;
}
body [data-coming-soon]::after,
body .is-coming-soon::after {
  content: "SOON";
  position: absolute;
  top: -0.5em;
  right: -0.4em;
  font-size: 0.55rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 0.1rem 0.32rem;
  border-radius: 999px;
  background: var(--prod-navy, #0f3557);
  color: #fff;
  pointer-events: none;
}
body button[disabled]:hover,
body [aria-disabled="true"]:hover {
  box-shadow: var(--ring-focus) !important;
}
/* ===== END PHASE 3 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 5: MOTION & STATE POLISH
   v20260518-premium-p5
   Tasteful entrance/hover motion, premium scrollbars, and a
   global prefers-reduced-motion guard covering every animation
   introduced in Phases 1-5. Additive, reversible.
   ============================================================ */
@keyframes premiumPanelIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@keyframes premiumModalIn {
  from { opacity: 0; transform: translateY(14px) scale(0.985); }
  to { opacity: 1; transform: none; }
}

body[data-current-page].client-facing-hub .panel,
body[data-current-page].client-facing-hub .premium-chart-card,
body[data-current-page].client-facing-hub .metric-card {
  animation: premiumPanelIn 360ms cubic-bezier(0.2, 0.7, 0.25, 1) both;
}
.session-modal:not(.hidden) .session-modal__card {
  animation: premiumModalIn 320ms cubic-bezier(0.2, 0.7, 0.25, 1) both;
}

/* Interactive consistency: smooth, never abrupt */
body .action-button,
body .ghost-button,
body .chart-legend-row,
body .premium-chart-card {
  transition: background 0.16s ease, color 0.16s ease,
    border-color 0.16s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

/* Premium scrollbars for the dense worklists */
body[data-current-page].client-facing-hub *::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
body[data-current-page].client-facing-hub *::-webkit-scrollbar-thumb {
  background: rgba(15, 53, 87, 0.22);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
body[data-current-page].client-facing-hub *::-webkit-scrollbar-thumb:hover {
  background: rgba(15, 53, 87, 0.38);
  background-clip: padding-box;
}

/* Empty-state cards read intentional, not broken */
body .empty-state,
body [class*="empty"],
body .is-empty {
  color: var(--prod-muted, #5f7085);
}

/* GLOBAL reduced-motion guard — covers every premium animation */
@media (prefers-reduced-motion: reduce) {
  body[data-current-page].client-facing-hub .panel,
  body[data-current-page].client-facing-hub .premium-chart-card,
  body[data-current-page].client-facing-hub .metric-card,
  .session-modal:not(.hidden) .session-modal__card,
  .premium-donut.premium-donut--svg .premium-donut__svg,
  .premium-donut__seg {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}
/* ===== END PHASE 5 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 6: CRITICAL BUG SWEEP
   v20260518-premium-p6
   Fixes from the deep audit:
   1) Zero-height grid containers in operator console:
      sub-grids inherited display:grid without templates, so
      their children collapsed. Force max-content rows and
      vertical block flow on the leaf containers.
   2) Operator chrome cue: body[data-role=operator] is set by
      app.js on auth so CSS can adapt without fighting the
      shared client-facing-hub class.
   3) The 7 capped modules (claims, denials, credentialing,
      reporting, staff-ops, integrations, operator-console)
      had their max-height clip removed above; this section
      makes sure their inner workspaces actually expand to
      use that newly-freed space.
   ============================================================ */

/* 1. Operator console — kill the collapsing grid pattern */
body.client-facing-hub #module-operator-console .operator-workspace,
body.client-facing-hub #module-operator-console section[id^="operator-console-"],
body.client-facing-hub #module-operator-console div[id^="operator-console-"] {
  grid-auto-rows: max-content !important;
  align-content: start !important;
  min-height: 0;
}

/* Leaf containers (cards inside the grid sub-grids) must lay out as block
   so their content takes natural height instead of collapsing under a
   parent grid with no template rows. */
body.client-facing-hub #module-operator-console section[id^="operator-console-"] > *,
body.client-facing-hub #module-operator-console div[id^="operator-console-"] > * {
  display: block !important;
  min-height: 0;
}

/* Cards inside operator console get a small consistent gap when stacked */
body.client-facing-hub #module-operator-console .operator-console-card + .operator-console-card {
  margin-top: 0.45rem !important;
}

/* 2. Operator role cue — chrome adapts when the signed-in user is AAP */
body[data-role="operator"] .topbar {
  --section-accent: #1e6fbf;
}
body[data-role="operator"] .module-link.is-active {
  border-left: 3px solid var(--section-accent, #1e6fbf) !important;
}
body[data-role="operator"] .panel--module-operator > .panel__header::before {
  content: "AAP OPERATOR";
  display: inline-block;
  margin-right: 0.4rem;
  padding: 0.05rem 0.36rem;
  font-size: 0.55rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #fff;
  background: var(--section-accent, #1e6fbf);
  border-radius: 999px;
  vertical-align: 0.18em;
}

/* 3. Newly uncapped modules: let their workspaces actually breathe */
body[data-current-page="claims"].client-facing-hub #module-claims,
body[data-current-page="denials"].client-facing-hub #module-denials,
body[data-current-page="credentialing"].client-facing-hub #module-credentialing,
body[data-current-page="reporting"].client-facing-hub #module-reporting,
body[data-current-page="staff-ops"].client-facing-hub #module-work-queue,
body[data-current-page="integrations"].client-facing-hub #module-integrations {
  display: block !important;
  min-height: auto !important;
}

/* 4. Auto-lock countdown banner (shown by app.js 2 min before lock) */
.session-lock-warning {
  position: fixed;
  top: 56px;
  right: 24px;
  z-index: 80;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.9rem;
  background: linear-gradient(135deg, #fff8e1, #ffecb3);
  border: 1px solid #e6a800;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(15, 53, 87, 0.18);
  font-size: 0.85rem;
  color: #4a3a00;
  animation: aap-ring-pulse 1.6s ease-in-out infinite;
}
.session-lock-warning__time {
  font-weight: 700;
  color: #6b4a00;
}
.session-lock-warning__action {
  background: #e6a800;
  color: #fff;
  border: 0;
  padding: 0.28rem 0.66rem;
  border-radius: 6px;
  font-weight: 700;
  cursor: pointer;
}
.session-lock-warning__action:hover {
  background: #c79100;
}
/* ===== END PHASE 6 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 7: RENDER PIPELINE REPAIR
   v20260518-premium-p7
   Styles for the two renderer wireups that closed the
   remaining empty-container gaps after Phase 6:
   - credentialing-readiness-matrix
   - integration-command-center
   ============================================================ */

/* Credentialing readiness matrix */
.readiness-matrix {
  background: linear-gradient(180deg, #fdfefe 0%, #f7fafc 100%);
  border: 1px solid var(--prod-border, #d8e3ec);
  border-radius: 10px;
  padding: 1rem 1.1rem;
  box-shadow: var(--prod-shadow, 0 2px 8px rgba(15, 53, 87, 0.08));
}
.readiness-matrix__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.6rem;
}
.readiness-matrix__header h3 {
  margin: 0;
  font-size: 1rem;
}
.readiness-matrix__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}
.readiness-matrix__table thead th {
  text-align: left;
  padding: 0.32rem 0.46rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prod-muted, #5f7085);
  border-bottom: 1px solid var(--prod-border);
}
.readiness-cell {
  padding: 0.42rem 0.46rem;
  border-bottom: 1px solid rgba(15, 53, 87, 0.06);
  vertical-align: middle;
}
.readiness-cell--name strong {
  display: block;
  font-size: 0.85rem;
  color: var(--prod-ink, #0f3557);
}
.readiness-cell__meta {
  margin: 0;
  font-size: 0.7rem;
  color: var(--prod-muted, #5f7085);
}
.readiness-pill {
  display: inline-block;
  padding: 0.16rem 0.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  border-radius: 999px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.readiness-pill--success,
.readiness-pill--active,
.readiness-pill--ready,
.readiness-pill--accepted { background: #e6f5e6; color: #1b5e20; }
.readiness-pill--warning,
.readiness-pill--pending,
.readiness-pill--review { background: #fff3e0; color: #8a5400; }
.readiness-pill--critical,
.readiness-pill--blocked,
.readiness-pill--expired { background: #ffe0e0; color: #8c1d1d; }
.readiness-pill--info,
.readiness-pill--unknown { background: #e8eef4; color: #0f3557; }
.readiness-row:hover { background: rgba(15, 53, 87, 0.03); }
.readiness-bar {
  width: 90px;
  height: 6px;
  background: #e8eef4;
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 0.18rem;
}
.readiness-bar__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--prod-navy, #1e6fbf) 0%, #4d92cc 100%);
  border-radius: 999px;
  transition: width 0.4s ease;
}

/* Integration command center */
.integration-command-center {
  background: linear-gradient(180deg, #fdfefe 0%, #f7fafc 100%);
  border: 1px solid var(--prod-border, #d8e3ec);
  border-radius: 10px;
  padding: 1rem 1.1rem;
  box-shadow: var(--prod-shadow, 0 2px 8px rgba(15, 53, 87, 0.08));
}
.integration-command-center__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 0.6rem;
}
.integration-command-center__header h3 {
  margin: 0;
  font-size: 1rem;
}
.integration-command-center__health {
  display: flex;
  gap: 0.36rem;
  flex-wrap: wrap;
}
.health-pill {
  padding: 0.18rem 0.6rem;
  font-size: 0.72rem;
  font-weight: 700;
  border-radius: 999px;
}
.health-pill--success { background: #e6f5e6; color: #1b5e20; }
.health-pill--warning { background: #fff3e0; color: #8a5400; }
.health-pill--critical { background: #ffe0e0; color: #8c1d1d; }
.integration-command-center__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.6rem;
  margin: 0.5rem 0 0.7rem;
}
.integration-command-card {
  padding: 0.6rem 0.7rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 8px;
}
.integration-command-card__value {
  display: block;
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--prod-ink, #0f3557);
  line-height: 1.1;
  margin: 0.18rem 0 0.18rem;
}
.connector-category-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.32rem;
}
.connector-category {
  display: flex;
  justify-content: space-between;
  padding: 0.32rem 0.55rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.8rem;
}
.connector-category__count {
  font-weight: 700;
  color: var(--prod-navy);
}
/* ===== END PHASE 7 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 8: BUILT-OUT MODULES
   v20260518-premium-p8
   Three previously-blank modules now have real content:
   - Action Assist (copilot): AI brief, priorities, alerts
   - Growth Command: intake funnel, marketing, staffing
   - Market Health: peer benchmarks, comparisons
   ============================================================ */

/* ── Shared ── */
.module-summary {
  margin: 0 0 0.6rem;
  padding: 0.5rem 0.7rem;
  background: linear-gradient(135deg, rgba(15,53,87,0.04), rgba(15,53,87,0));
  border-left: 3px solid var(--prod-navy, #1e6fbf);
  border-radius: 6px;
  font-size: 0.88rem;
  color: var(--prod-ink, #0f3557);
  line-height: 1.45;
}

/* ── Action Assist (copilot) ── */
.copilot-summary {
  background: linear-gradient(180deg, #fdfefe 0%, #f7fafc 100%);
  border: 1px solid var(--prod-border, #d8e3ec);
  border-radius: 10px;
  padding: 0.9rem 1.1rem;
  margin-bottom: 0.8rem;
}
.copilot-summary__head {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}
.copilot-summary__head h3 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--prod-ink);
  line-height: 1.4;
}
.copilot-summary__line {
  margin: 0.3rem 0 0;
  font-size: 0.82rem;
  color: var(--prod-muted, #5f7085);
  line-height: 1.5;
}
.copilot-priorities {
  margin-bottom: 0.8rem;
}
.copilot-priority-list {
  list-style: none;
  padding: 0;
  margin: 0.4rem 0 0;
  display: grid;
  gap: 0.35rem;
}
.copilot-priority {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.5rem 0.7rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  font-size: 0.85rem;
}
.copilot-priority__rank {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  background: var(--prod-navy, #1e6fbf);
  color: #fff;
  font-weight: 800;
  font-size: 0.72rem;
  border-radius: 50%;
}
.copilot-action-list,
.copilot-alert-list {
  list-style: none;
  padding: 0;
  margin: 0.3rem 0 0;
  display: grid;
  gap: 0.35rem;
}
.copilot-action {
  display: flex;
  gap: 0.5rem;
  padding: 0.42rem 0.6rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.82rem;
}
.copilot-action__bullet {
  color: var(--prod-navy, #1e6fbf);
  font-weight: 700;
}
.copilot-alert {
  padding: 0.55rem 0.7rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-left-width: 3px;
  border-radius: 6px;
  font-size: 0.82rem;
}
.copilot-alert--critical { border-left-color: #c62828; }
.copilot-alert--warning,
.copilot-alert--high { border-left-color: #ef6c00; }
.copilot-alert--info,
.copilot-alert--low { border-left-color: var(--prod-navy, #1e6fbf); }
.copilot-alert__head {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  margin-bottom: 0.18rem;
}
.copilot-alert__sev {
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.08rem 0.36rem;
  border-radius: 999px;
  background: rgba(15,53,87,0.08);
  color: var(--prod-ink);
}
.copilot-alert--critical .copilot-alert__sev { background: #ffe0e0; color: #8c1d1d; }
.copilot-alert--warning .copilot-alert__sev,
.copilot-alert--high .copilot-alert__sev { background: #fff3e0; color: #8a5400; }
.copilot-alert__title {
  font-size: 0.88rem;
  color: var(--prod-ink);
}
.copilot-alert__body {
  margin: 0;
  color: var(--prod-muted);
  line-height: 1.45;
}
.copilot-alert__rec {
  margin: 0.32rem 0 0;
  font-size: 0.78rem;
  color: var(--prod-navy);
}

/* ── Growth Command ── */
.growth-funnel-list {
  list-style: none;
  padding: 0;
  margin: 0.4rem 0 0;
  display: grid;
  gap: 0.32rem;
}
.growth-funnel-stage {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
.growth-funnel-stage__bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0.7rem;
  background: linear-gradient(90deg, var(--prod-navy, #1e6fbf) 0%, #4d92cc 100%);
  border-radius: 6px;
  color: #fff;
  font-size: 0.82rem;
  min-width: 80px;
  transition: width 0.4s ease;
}
.growth-funnel-stage__label { font-weight: 600; }
.growth-funnel-stage__count {
  font-weight: 800;
  margin-left: 0.5rem;
  font-variant-numeric: tabular-nums;
}
.growth-funnel-stage__conv {
  font-size: 0.78rem;
  color: var(--prod-muted);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
  min-width: 42px;
  text-align: right;
}
.growth-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 0.5rem;
  margin: 0.4rem 0 0;
}
.growth-metric-card {
  padding: 0.55rem 0.7rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 8px;
}
.growth-metric-card__value {
  display: block;
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--prod-ink);
  margin-top: 0.18rem;
  font-variant-numeric: tabular-nums;
}
.growth-staffing-list {
  list-style: none;
  padding: 0;
  margin: 0.3rem 0 0;
  display: grid;
  gap: 0.3rem;
}
.growth-staffing-item {
  padding: 0.4rem 0.6rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-left: 3px solid var(--prod-navy);
  border-radius: 6px;
  font-size: 0.82rem;
}

/* ── Market Health ── */
.market-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.5rem;
  margin-bottom: 0.7rem;
}
.market-kpi-card {
  padding: 0.6rem 0.75rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-top: 3px solid var(--prod-border);
  border-radius: 8px;
}
.market-kpi-card--success { border-top-color: #2e7d32; }
.market-kpi-card--warning { border-top-color: #ef6c00; }
.market-kpi-card--critical { border-top-color: #c62828; }
.market-kpi-card__value {
  display: block;
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--prod-ink);
  margin: 0.2rem 0 0.2rem;
  font-variant-numeric: tabular-nums;
}
.market-kpi-card__band {
  margin: 0;
  font-size: 0.72rem;
  color: var(--prod-muted);
}
.market-comp-list {
  list-style: none;
  padding: 0;
  margin: 0.4rem 0 0;
  display: grid;
  gap: 0.32rem;
}
.market-comp-item {
  padding: 0.5rem 0.7rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 8px;
}
.market-comp-item__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
}
.market-comp-item__metric { font-weight: 600; color: var(--prod-ink); }
.market-comp-item__delta {
  font-size: 0.78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  padding: 0.08rem 0.42rem;
  border-radius: 999px;
}
.market-comp-item__delta--up,
.market-comp-item__delta--positive,
.market-comp-item__delta--better { background: #e6f5e6; color: #2e7d32; }
.market-comp-item__delta--down,
.market-comp-item__delta--negative,
.market-comp-item__delta--worse { background: #ffe0e0; color: #c62828; }
.market-comp-item__delta--neutral { background: #f0f4f8; color: var(--prod-muted); }
.market-comp-item__note {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  color: var(--prod-muted);
}
/* ===== END PHASE 8 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 9: REAL-TIME LAYER
   v20260518-premium-p9
   Live notification bell in topbar, slide-in notification panel,
   panel pulse when the corresponding module receives an event.
   ============================================================ */
.realtime-bell {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-left: 0.5rem;
  background: rgba(15, 53, 87, 0.04);
  border: 1px solid var(--prod-border, #d8e3ec);
  border-radius: 8px;
  color: var(--prod-ink, #0f3557);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.12s ease;
}
.realtime-bell:hover { background: rgba(15, 53, 87, 0.09); }
.realtime-bell:active { transform: scale(0.96); }
.realtime-bell__badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 16px;
  height: 16px;
  padding: 0 0.25rem;
  background: #c62828;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
  border-radius: 999px;
  border: 1.5px solid #fff;
}
.realtime-bell__dot {
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 6px;
  height: 6px;
  background: #c62828;
  border-radius: 50%;
  border: 1.5px solid #fff;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.realtime-bell--connected .realtime-bell__dot {
  opacity: 1;
  background: #2e7d32;
}

.realtime-panel {
  position: fixed;
  top: 52px;
  right: 16px;
  z-index: 90;
  width: 340px;
  max-height: 70vh;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 10px;
  box-shadow: 0 12px 36px rgba(15, 53, 87, 0.22);
  animation: aap-panel-slide 0.18s ease both;
}
@keyframes aap-panel-slide {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.realtime-panel__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.6rem 0.8rem;
  border-bottom: 1px solid var(--prod-border);
}
.realtime-panel__head strong {
  font-size: 0.92rem;
  color: var(--prod-ink);
}
.realtime-panel__clear {
  font-size: 0.72rem;
  padding: 0.22rem 0.6rem;
}
.realtime-panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.realtime-panel__empty {
  padding: 1rem 0.8rem;
  text-align: center;
  color: var(--prod-muted);
  font-size: 0.85rem;
}
.realtime-notification {
  padding: 0.55rem 0.8rem;
  border-bottom: 1px solid rgba(15, 53, 87, 0.06);
  border-left: 3px solid var(--prod-border);
}
.realtime-notification--critical { border-left-color: #c62828; }
.realtime-notification--warning,
.realtime-notification--high { border-left-color: #ef6c00; }
.realtime-notification--success { border-left-color: #2e7d32; }
.realtime-notification--info { border-left-color: var(--prod-navy, #1e6fbf); }
.realtime-notification__head {
  display: flex;
  gap: 0.4rem;
  align-items: baseline;
  margin-bottom: 0.18rem;
}
.realtime-notification__sev {
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.05rem 0.3rem;
  background: rgba(15, 53, 87, 0.08);
  border-radius: 999px;
  color: var(--prod-ink);
}
.realtime-notification__title {
  font-size: 0.85rem;
  color: var(--prod-ink);
  flex: 1;
  min-width: 0;
}
.realtime-notification__when {
  font-size: 0.7rem;
  color: var(--prod-muted);
  font-variant-numeric: tabular-nums;
}
.realtime-notification__body {
  margin: 0;
  font-size: 0.78rem;
  color: var(--prod-muted);
  line-height: 1.42;
}

/* Pulse a panel that just received a live update */
@keyframes aap-realtime-pulse {
  0%   { box-shadow: var(--prod-shadow, 0 2px 8px rgba(15,53,87,0.08)); }
  35%  { box-shadow: 0 0 0 4px rgba(15, 53, 87, 0.22), 0 4px 16px rgba(15, 53, 87, 0.20); }
  100% { box-shadow: var(--prod-shadow, 0 2px 8px rgba(15,53,87,0.08)); }
}
.realtime-pulse {
  animation: aap-realtime-pulse 1.6s ease-in-out 1 !important;
}
@media (prefers-reduced-motion: reduce) {
  .realtime-panel,
  .realtime-pulse { animation: none !important; }
}
/* ===== END PHASE 9 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 10: ANIMATED SVG CHART LAYER
   v20260518-premium-p10
   Styles supporting window.aapChart: tooltip, count-up, chart
   card wrappers. Charts themselves are inline SVG with no CSS
   dependencies beyond a few colour vars, so they work in any
   surrounding panel.
   ============================================================ */
.aap-chart {
  display: block;
  overflow: visible;
}
.aap-chart [data-aap-tip] { cursor: pointer; transition: opacity 0.15s ease; }
.aap-chart [data-aap-tip]:hover { opacity: 0.82; }

.aap-chart-tooltip {
  position: fixed;
  pointer-events: none;
  z-index: 9999;
  padding: 6px 10px;
  background: rgba(15, 53, 87, 0.94);
  color: #fff;
  font-size: 11px;
  line-height: 1.4;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(15, 53, 87, 0.3);
  opacity: 0;
  transition: opacity 0.14s ease;
  max-width: 220px;
}
.aap-chart-tooltip strong { color: #fff; }

.aap-countup {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* Wrapper that scales a chart inside any card */
.aap-chart-card {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.6rem 0.75rem;
  background: #fff;
  border: 1px solid var(--prod-border, #d8e3ec);
  border-radius: 10px;
}
.aap-chart-card__title {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--prod-muted, #5f7085);
}
.aap-chart-card__value {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--prod-ink, #0f3557);
  font-variant-numeric: tabular-nums;
}
/* Growth funnel conversions list (sits beside the SVG bar chart) */
.growth-funnel-conversions {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.3rem;
}
.growth-funnel-conversions li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.32rem 0.55rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.78rem;
}
.growth-funnel-conversions strong {
  color: var(--prod-navy, #1e6fbf);
  font-variant-numeric: tabular-nums;
}
/* ===== END PHASE 10 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 12: FINAL PREMIUM POLISH
   v20260518-premium-p12
   Command palette, keyboard shortcut overlay, page transitions,
   skeleton loaders, micro-interaction polish.
   ============================================================ */

/* ── Command palette ── */
.aap-palette {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: start center;
  padding-top: 12vh;
}
.aap-palette__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 53, 87, 0.42);
  backdrop-filter: blur(3px);
  animation: aap-fade-in 0.15s ease both;
}
.aap-palette__sheet {
  position: relative;
  width: min(620px, calc(100vw - 32px));
  max-height: 70vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(15, 53, 87, 0.32);
  overflow: hidden;
  animation: aap-palette-in 0.18s cubic-bezier(0.2, 0.7, 0.25, 1) both;
}
@keyframes aap-palette-in {
  from { opacity: 0; transform: translateY(-12px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes aap-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.aap-palette__searchbox {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid var(--prod-border);
  color: var(--prod-muted);
}
.aap-palette__input {
  flex: 1;
  border: 0;
  background: transparent;
  font-size: 0.96rem;
  color: var(--prod-ink);
  outline: none;
}
.aap-palette__kbd,
.aap-shortcut-help kbd {
  display: inline-block;
  padding: 0.08rem 0.4rem;
  font-size: 0.7rem;
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  background: #f0f4f8;
  border: 1px solid var(--prod-border);
  border-radius: 4px;
  color: var(--prod-ink);
}
.aap-palette__results {
  list-style: none;
  margin: 0;
  padding: 0.3rem;
  overflow-y: auto;
  flex: 1;
}
.aap-palette__result {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.5rem 0.7rem;
  border-radius: 8px;
  cursor: pointer;
}
.aap-palette__result.is-active {
  background: rgba(15, 53, 87, 0.07);
}
.aap-palette__result-kind {
  flex-shrink: 0;
  padding: 0.12rem 0.5rem;
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 999px;
  background: #f0f4f8;
  color: var(--prod-muted);
}
.aap-palette__result-kind--page { background: #e3edf6; color: #0f3557; }
.aap-palette__result-kind--action { background: #fff3e0; color: #8a5400; }
.aap-palette__result-text { display: flex; flex-direction: column; min-width: 0; }
.aap-palette__result-text strong { font-size: 0.88rem; color: var(--prod-ink); }
.aap-palette__result-text small { font-size: 0.74rem; color: var(--prod-muted); }
.aap-palette__hint {
  display: flex;
  gap: 1rem;
  padding: 0.45rem 0.9rem;
  background: #fafbfc;
  border-top: 1px solid var(--prod-border);
  font-size: 0.7rem;
  color: var(--prod-muted);
}
.aap-palette__hint kbd {
  display: inline-block;
  padding: 0.05rem 0.32rem;
  font-size: 0.65rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 3px;
  margin: 0 0.16rem;
}
.aap-palette__empty {
  padding: 1rem;
  text-align: center;
  color: var(--prod-muted);
  font-size: 0.85rem;
}

/* ── Keyboard shortcut help overlay ── */
.aap-shortcut-help {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
}
.aap-shortcut-help__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 53, 87, 0.42);
  backdrop-filter: blur(3px);
  animation: aap-fade-in 0.15s ease both;
}
.aap-shortcut-help__sheet {
  position: relative;
  width: min(420px, calc(100vw - 32px));
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 12px;
  padding: 1.2rem 1.4rem;
  box-shadow: 0 24px 60px rgba(15, 53, 87, 0.32);
  animation: aap-palette-in 0.18s cubic-bezier(0.2, 0.7, 0.25, 1) both;
}
.aap-shortcut-help__sheet h3 {
  margin: 0 0 0.7rem;
  font-size: 1rem;
}
.aap-shortcut-help__table {
  width: 100%;
  font-size: 0.85rem;
  border-collapse: collapse;
}
.aap-shortcut-help__table td {
  padding: 0.32rem 0.4rem;
  vertical-align: top;
}
.aap-shortcut-help__table td:first-child {
  white-space: nowrap;
  color: var(--prod-muted);
}
.aap-shortcut-help__close {
  margin-top: 0.7rem;
  width: 100%;
}

/* ── Skeleton loaders ── */
.aap-skeleton {
  display: block;
  position: relative;
  background: linear-gradient(
    90deg,
    rgba(15, 53, 87, 0.05) 0%,
    rgba(15, 53, 87, 0.10) 50%,
    rgba(15, 53, 87, 0.05) 100%
  );
  background-size: 200% 100%;
  border-radius: 6px;
  animation: aap-skeleton-shimmer 1.4s ease-in-out infinite;
}
@keyframes aap-skeleton-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.aap-skeleton--line { height: 14px; margin: 6px 0; }
.aap-skeleton--header { height: 22px; width: 60%; }
.aap-skeleton--card { height: 80px; }

/* ── Page transition (subtle fade-in on module switch) ── */
@keyframes aap-page-enter {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.page-entering {
  animation: aap-page-enter 0.28s ease both;
}

/* ── Micro-interactions ── */
button:not([disabled]):not([aria-disabled="true"]),
.action-button:not([disabled]),
.ghost-button:not([disabled]) {
  transition: transform 0.08s ease, box-shadow 0.15s ease, background 0.15s ease;
}
button:not([disabled]):active,
.action-button:not([disabled]):active,
.ghost-button:not([disabled]):active {
  transform: scale(0.975);
}

/* Table row hover lift */
table tr {
  transition: background 0.12s ease, box-shadow 0.12s ease;
}
table tbody tr:hover {
  background: rgba(15, 53, 87, 0.025);
}

/* Reduced-motion overrides */
@media (prefers-reduced-motion: reduce) {
  .aap-palette__sheet,
  .aap-palette__backdrop,
  .aap-shortcut-help__sheet,
  .aap-shortcut-help__backdrop,
  .page-entering,
  .aap-skeleton {
    animation: none !important;
  }
}
/* ===== END PHASE 12 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 13: NAVIGATION IA
   v20260518-premium-p13
   New topbar (context + identity only), restructured sidebar
   with icons + per-module badges + collapse mode.
   ============================================================ */

/* ── New topbar layout ── */
.topbar--p13 {
  display: grid !important;
  grid-template-columns: minmax(260px, 360px) 1fr minmax(220px, auto);
  align-items: center;
  gap: 0.7rem;
  padding: 0.34rem 0.7rem !important;
}
.topbar--p13 .topbar__left {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}
.topbar--p13 .topbar__context {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
  overflow: hidden;
  color: var(--prod-ink);
  font-size: 0.85rem;
}
.topbar--p13 .topbar__context[hidden] { display: none; }
.topbar--p13 .topbar__right {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
}
.topbar--p13 .topbar__workspace-label {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--prod-muted);
  padding-right: 0.3rem;
  border-right: 1px solid var(--prod-border);
  margin-right: 0.2rem;
}
.topbar--p13 .topbar__clinic-switcher {
  display: inline-flex;
  align-items: center;
  gap: 0.36rem;
  background: rgba(15,53,87,0.04);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  padding: 0.32rem 0.55rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--prod-ink);
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}
.topbar--p13 .topbar__clinic-switcher:hover { background: rgba(15,53,87,0.08); }
.topbar--p13 .topbar__search {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex: 1;
  min-width: 0;
  max-width: 320px;
  padding: 0.36rem 0.65rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  color: var(--prod-muted);
  font-size: 0.82rem;
  cursor: pointer;
  text-align: left;
}
.topbar--p13 .topbar__search:hover { border-color: var(--prod-navy); }
.topbar--p13 .topbar__search span { flex: 1; }
.topbar--p13 .topbar__search kbd {
  font-size: 0.66rem;
  padding: 0.04rem 0.32rem;
  background: #f0f4f8;
  border: 1px solid var(--prod-border);
  border-radius: 4px;
  color: var(--prod-ink);
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
}
.topbar--p13 .topbar__icon-button {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  background: rgba(15,53,87,0.04);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  color: var(--prod-ink);
  cursor: pointer;
  transition: background 0.15s ease;
}
.topbar--p13 .topbar__icon-button:hover { background: rgba(15,53,87,0.10); }
.topbar--p13 .topbar__icon-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 16px;
  height: 16px;
  padding: 0 0.26rem;
  background: #c62828;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
  border-radius: 999px;
  border: 1.5px solid #fff;
}
.topbar--p13 .topbar__user-menu {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(15,53,87,0.04);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  padding: 0.22rem 0.55rem 0.22rem 0.32rem;
  cursor: pointer;
  font-size: 0.85rem;
  color: var(--prod-ink);
  max-width: 180px;
}
.topbar--p13 .topbar__user-menu:hover { background: rgba(15,53,87,0.10); }
.topbar--p13 .topbar__user-avatar {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  background: var(--prod-navy);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  border-radius: 50%;
  letter-spacing: 0;
}
.topbar--p13 .topbar__user-name {
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100px;
}
.topbar__user-menu-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 200;
  min-width: 240px;
  padding: 0.45rem 0;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 10px;
  box-shadow: 0 14px 36px rgba(15,53,87,0.22);
  animation: aap-panel-slide 0.16s ease both;
}
.topbar__user-menu-panel button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0.45rem 0.9rem;
  background: transparent;
  border: 0;
  font-size: 0.85rem;
  color: var(--prod-ink);
  cursor: pointer;
}
.topbar__user-menu-panel button:hover { background: rgba(15,53,87,0.06); }
.topbar__user-menu-panel .topbar__menu-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  padding: 0.4rem 0.9rem;
  font-size: 0.78rem;
  color: var(--prod-muted);
}
.topbar__user-menu-panel select {
  font-size: 0.78rem;
  padding: 0.1rem 0.32rem;
  border: 1px solid var(--prod-border);
  border-radius: 5px;
  background: #fff;
}
.topbar__menu-divider {
  margin: 0.32rem 0;
  border: 0;
  border-top: 1px solid var(--prod-border);
}
.topbar__menu-danger { color: #c62828 !important; }

/* ── Sidebar: icons, badges, collapse ── */
.sidebar__nav--p13 {
  position: relative;
}
.sidebar__collapse-toggle {
  position: absolute;
  top: -4px;
  right: 0;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  color: var(--prod-muted);
  cursor: pointer;
}
.sidebar__collapse-toggle:hover { color: var(--prod-ink); border-color: var(--prod-navy); }
.sidebar--collapsed .sidebar__collapse-toggle svg { transform: rotate(180deg); }
.sidebar__nav--p13 .module-link {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  position: relative;
}
.sidebar__nav--p13 .module-link__icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: var(--prod-muted);
  transition: color 0.15s ease;
}
.sidebar__nav--p13 .module-link:hover .module-link__icon,
.sidebar__nav--p13 .module-link.is-active .module-link__icon { color: var(--prod-navy); }
.sidebar__nav--p13 .module-link__label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar__nav--p13 .module-link__badge {
  flex-shrink: 0;
  display: inline-block;
  min-width: 18px;
  padding: 0 0.32rem;
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
  background: #c62828;
  color: #fff;
  border-radius: 999px;
}
.sidebar__nav--p13 .module-link__badge[hidden] { display: none; }
.sidebar__nav--p13 details summary {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  cursor: pointer;
  padding: 0.36rem 0.5rem;
}
.sidebar__nav--p13 details summary .module-link__icon { color: var(--prod-muted); }

/* Collapsed mode: icons only, labels hidden, sidebar narrows */
.sidebar--collapsed {
  width: 56px !important;
  min-width: 56px !important;
}
.sidebar--collapsed .sidebar__pulse-card,
.sidebar--collapsed .sidebar__footnote,
.sidebar--collapsed .sidebar__nav-title,
.sidebar--collapsed .module-link__label,
.sidebar--collapsed details summary .module-link__label,
.sidebar--collapsed .sidebar__nav--p13 details > div {
  display: none !important;
}
.sidebar--collapsed .sidebar__nav--p13 .module-link {
  justify-content: center;
  padding: 0.6rem 0.4rem;
}
.sidebar--collapsed .sidebar__nav--p13 .module-link__badge {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 50%;
  font-size: 0;
  line-height: 0;
}
.sidebar--collapsed .module-link__icon { width: 20px; height: 20px; }
.sidebar--collapsed .sidebar__nav-block + .sidebar__nav-block,
.sidebar--collapsed details.sidebar__more-tools {
  border-top: 1px solid var(--prod-border);
  margin-top: 0.4rem;
  padding-top: 0.4rem;
}
/* ===== END PHASE 13 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 14: UNIFIED INBOX
   v20260518-premium-p14
   Tabs + list + slide-over detail. EHR-style In Basket.
   ============================================================ */
.panel--module-inbox { padding: 0.7rem !important; }
.inbox-header-actions { display: flex; gap: 0.4rem; }
.inbox-tabs {
  display: flex;
  gap: 0.32rem;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--prod-border);
  padding: 0 0 0.4rem;
  margin-bottom: 0.5rem;
}
.inbox-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.36rem;
  padding: 0.36rem 0.7rem;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--prod-muted);
  cursor: pointer;
  transition: color 0.12s ease, border-color 0.12s ease;
}
.inbox-tab:hover { color: var(--prod-ink); }
.inbox-tab.is-active {
  color: var(--prod-navy);
  border-bottom-color: var(--prod-navy);
}
.inbox-tab__count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  padding: 0 0.36rem;
  font-size: 0.66rem;
  font-weight: 800;
  background: rgba(15,53,87,0.10);
  color: var(--prod-ink);
  border-radius: 999px;
}
.inbox-tab.is-active .inbox-tab__count { background: var(--prod-navy); color: #fff; }

.inbox-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 0.7rem;
  align-items: start;
}
@media (max-width: 760px) {
  .inbox-shell { grid-template-columns: 1fr; }
}
.inbox-list {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
  max-height: 70vh;
  overflow-y: auto;
  padding-right: 0.25rem;
}
.inbox-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.55rem;
  align-items: start;
  padding: 0.55rem 0.7rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-left: 3px solid var(--prod-border);
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}
.inbox-row:hover { background: rgba(15,53,87,0.03); }
.inbox-row.is-active { background: rgba(15,53,87,0.08); border-color: var(--prod-navy); }
.inbox-row--unread { border-left-color: var(--prod-navy); }
.inbox-row--critical { border-left-color: #c62828; }
.inbox-row--warning { border-left-color: #ef6c00; }
.inbox-row--info { border-left-color: var(--prod-navy); }
.inbox-row__kind {
  flex-shrink: 0;
  padding: 0.1rem 0.46rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 999px;
  background: rgba(15,53,87,0.08);
  color: var(--prod-ink);
  height: fit-content;
}
.inbox-row__kind--message { background: #e3edf6; color: #0f3557; }
.inbox-row__kind--task { background: #e6f5e6; color: #1b5e20; }
.inbox-row__kind--alert { background: #ffe0e0; color: #8c1d1d; }
.inbox-row__body { min-width: 0; }
.inbox-row__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.4rem;
}
.inbox-row__title {
  font-size: 0.88rem;
  color: var(--prod-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inbox-row__when {
  flex-shrink: 0;
  font-size: 0.72rem;
  color: var(--prod-muted);
  font-variant-numeric: tabular-nums;
}
.inbox-row__preview {
  margin: 0.18rem 0 0;
  font-size: 0.78rem;
  color: var(--prod-muted);
  line-height: 1.4;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.inbox-row__who {
  margin: 0.2rem 0 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prod-ink);
}
.inbox-row__actions {
  display: flex;
  gap: 0.25rem;
  flex-shrink: 0;
  align-self: center;
}
.inbox-row__actions .ghost-button {
  padding: 0.18rem 0.42rem !important;
  font-size: 0.9rem;
  line-height: 1;
}

.inbox-detail {
  position: sticky;
  top: 0.5rem;
  padding: 0.8rem 0.9rem;
  background: linear-gradient(180deg, #fdfefe 0%, #f7fafc 100%);
  border: 1px solid var(--prod-border);
  border-radius: 10px;
  min-height: 200px;
}
.inbox-detail__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.4rem;
}
.inbox-detail__when {
  font-size: 0.72rem;
  color: var(--prod-muted);
  font-variant-numeric: tabular-nums;
}
.inbox-detail__title {
  margin: 0 0 0.18rem;
  font-size: 1rem;
  color: var(--prod-ink);
}
.inbox-detail__who {
  margin: 0 0 0.7rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prod-ink);
}
.inbox-detail__body {
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--prod-ink);
  white-space: pre-wrap;
  margin-bottom: 0.9rem;
}
.inbox-detail__actions {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}
/* ===== END PHASE 14 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 15: MESSAGES THREE-PANE
   v20260518-premium-p15
   Folder rail · thread list · conversation pane.
   ============================================================ */
.msg-shell {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) minmax(0, 1.4fr);
  gap: 0.5rem;
  margin-top: 0.7rem;
  min-height: 480px;
  border: 1px solid var(--prod-border);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
@media (max-width: 900px) {
  .msg-shell { grid-template-columns: 140px 1fr; }
  .msg-conversation { display: none !important; }
}
.msg-folders {
  display: flex;
  flex-direction: column;
  background: #f7fafc;
  border-right: 1px solid var(--prod-border);
  padding: 0.5rem 0.4rem;
  gap: 0.18rem;
}
.msg-folder {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.42rem 0.55rem;
  background: transparent;
  border: 0;
  border-radius: 6px;
  font-size: 0.85rem;
  color: var(--prod-ink);
  cursor: pointer;
  text-align: left;
}
.msg-folder:hover { background: rgba(15, 53, 87, 0.06); }
.msg-folder.is-active { background: var(--prod-navy); color: #fff; }
.msg-folder.is-active .msg-folder__count { background: rgba(255, 255, 255, 0.25); color: #fff; }
.msg-folder__count {
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.06rem 0.42rem;
  border-radius: 999px;
  background: rgba(15, 53, 87, 0.1);
  color: var(--prod-muted);
  font-variant-numeric: tabular-nums;
}

.msg-list {
  border-right: 1px solid var(--prod-border);
  overflow-y: auto;
  max-height: 65vh;
}
.msg-thread {
  display: flex;
  gap: 0.5rem;
  padding: 0.55rem 0.7rem;
  width: 100%;
  border: 0;
  background: transparent;
  border-bottom: 1px solid rgba(15, 53, 87, 0.05);
  cursor: pointer;
  text-align: left;
}
.msg-thread:hover { background: rgba(15, 53, 87, 0.03); }
.msg-thread.is-active { background: rgba(15, 53, 87, 0.08); }
.msg-thread.is-unread { background: #fafdfe; font-weight: 600; }
.msg-thread.is-unread.is-active { background: rgba(15, 53, 87, 0.08); }
.msg-thread__channel {
  flex-shrink: 0;
  align-self: flex-start;
  padding: 0.12rem 0.42rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 999px;
  background: rgba(15, 53, 87, 0.08);
  color: var(--prod-ink);
}
.msg-thread__channel--patient { background: #e6f5e6; color: #1b5e20; }
.msg-thread__channel--staff { background: #e3edf6; color: #0f3557; }
.msg-thread__body { min-width: 0; flex: 1; }
.msg-thread__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.4rem;
}
.msg-thread__subject {
  font-size: 0.85rem;
  color: var(--prod-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: inherit;
}
.msg-thread__when {
  font-size: 0.7rem;
  color: var(--prod-muted);
  flex-shrink: 0;
}
.msg-thread__snippet {
  margin: 0.18rem 0 0;
  font-size: 0.78rem;
  color: var(--prod-muted);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-weight: 400;
}
.msg-thread__owner {
  margin: 0.18rem 0 0;
  font-size: 0.7rem;
  color: var(--prod-muted);
  font-weight: 500;
}

.msg-conversation {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.msg-conv-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid var(--prod-border);
  background: linear-gradient(180deg, #fdfefe 0%, #f7fafc 100%);
}
.msg-conv-head h3 { margin: 0; font-size: 0.95rem; }
.msg-conv-entries {
  flex: 1;
  overflow-y: auto;
  padding: 0.7rem 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  max-height: 50vh;
}
.msg-entry {
  padding: 0.55rem 0.7rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  max-width: 78%;
}
.msg-entry--outgoing,
.msg-entry--provider,
.msg-entry--staff {
  align-self: flex-end;
  background: rgba(15, 53, 87, 0.06);
  border-color: rgba(15, 53, 87, 0.18);
}
.msg-entry__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.4rem;
  margin-bottom: 0.2rem;
}
.msg-entry__head strong {
  font-size: 0.78rem;
  color: var(--prod-ink);
}
.msg-entry__when {
  font-size: 0.66rem;
  color: var(--prod-muted);
}
.msg-entry__body {
  font-size: 0.84rem;
  line-height: 1.45;
  color: var(--prod-ink);
  white-space: pre-wrap;
}
.msg-conv-reply {
  display: flex;
  gap: 0.42rem;
  padding: 0.7rem 0.9rem;
  border-top: 1px solid var(--prod-border);
  background: #fff;
}
.msg-conv-reply textarea {
  flex: 1;
  resize: vertical;
  padding: 0.4rem 0.55rem;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.85rem;
}
.msg-drawer {
  margin-top: 0.7rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  padding: 0.5rem 0.7rem;
}
.msg-drawer > summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--prod-ink);
  padding: 0.3rem 0;
}
.msg-drawer[open] > summary { border-bottom: 1px solid var(--prod-border); margin-bottom: 0.5rem; }

/* ===== TRUE INSTANT MESSENGER REFINEMENT ===== */
.messenger-list-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.45rem; padding: 0.55rem; border-bottom: 1px solid var(--prod-border); background: #fff; position: sticky; top: 0; z-index: 2; }
.messenger-list-toolbar input { min-width: 0; border: 1px solid var(--prod-border); border-radius: 6px; padding: 0.42rem 0.55rem; font-size: 0.84rem; }
.messenger-quick-actions { display: flex; flex-wrap: wrap; gap: 0.35rem; padding: 0.45rem 0.55rem; border-bottom: 1px solid rgba(15,53,87,0.08); background: #f7fafc; }
.messenger-quick-actions button,
.messenger-compose-types button { border: 1px solid var(--prod-border); background: #fff; color: var(--prod-ink); border-radius: 6px; padding: 0.32rem 0.48rem; font-size: 0.76rem; cursor: pointer; }
.messenger-compose-types button.is-active { background: var(--prod-navy); border-color: var(--prod-navy); color: #fff; }
.messenger-compose-panel { margin: 0.55rem; padding: 0.65rem; border: 1px solid rgba(15,53,87,0.18); border-radius: 8px; background: #fdfefe; box-shadow: 0 10px 24px rgba(15,53,87,0.08); }
.messenger-compose-form,
.messenger-compose-form label { display: grid; gap: 0.4rem; }
.messenger-compose-form__head,
.messenger-compose-form__actions,
.messenger-compose-types { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; flex-wrap: wrap; }
.messenger-compose-form input,
.messenger-compose-form textarea { width: 100%; min-width: 0; border: 1px solid var(--prod-border); border-radius: 6px; padding: 0.45rem 0.55rem; font: inherit; }
.messenger-main-grid { min-height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) 240px; }
.messenger-stream { display: flex; min-width: 0; min-height: 0; flex-direction: column; }
.messenger-presence-row { display: flex; align-items: center; gap: 0.45rem; padding: 0.45rem 0.9rem; border-bottom: 1px solid rgba(15,53,87,0.08); color: var(--prod-muted); font-size: 0.78rem; background: #fff; }
.messenger-context { border-left: 1px solid var(--prod-border); background: #f8fafb; padding: 0.85rem; overflow-y: auto; }
.messenger-context h4 { margin: 0 0 0.45rem; color: var(--prod-ink); font-size: 0.92rem; }
.messenger-context p,
.messenger-context dd { color: var(--prod-muted); font-size: 0.8rem; line-height: 1.4; }
.messenger-context dl { display: grid; gap: 0.55rem; margin: 0.65rem 0; }
.messenger-context dt { color: var(--prod-ink); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; }
.messenger-context dd { margin: 0.14rem 0 0; }
.messenger-typing { min-height: 1.4rem; padding: 0 0.9rem 0.2rem; color: var(--prod-muted); font-size: 0.76rem; }
.msg-entry--pending { opacity: 0.72; }
.msg-entry--failed { border-color: #c62828; background: #fff7f7; }
#module-messaging .panel__header { gap: 0.6rem; align-items: flex-start; }
#module-messaging .panel__header h2 { overflow-wrap: anywhere; }
#module-messaging .panel__header-actions { flex-wrap: wrap; justify-content: flex-end; min-width: 0; }
@media (max-width: 900px) {
  .msg-shell { grid-template-columns: 1fr; min-height: 72vh; }
  .msg-folders { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--prod-border); }
  .msg-list { max-height: 34vh; border-right: 0; }
  .msg-conversation { display: flex !important; min-height: 52vh; }
  .messenger-main-grid { grid-template-columns: 1fr; }
  .messenger-context { border-left: 0; border-top: 1px solid var(--prod-border); }
  .msg-conv-head,
  .msg-conv-reply { align-items: stretch; flex-direction: column; }
  .msg-entry { max-width: 100%; }
  #module-messaging .panel__header { display: grid; grid-template-columns: 1fr; }
  #module-messaging .panel__header h2 { font-size: 1rem; line-height: 1.25; }
  #module-messaging .panel__header-actions,
  #module-messaging .panel__header-actions .action-button { width: 100%; }
}
/* ===== END TRUE INSTANT MESSENGER REFINEMENT ===== */
/* ===== END PHASE 15 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 16: TASKS WORKSPACE
   v20260518-premium-p16
   Toolbar + view toggle (List · Kanban · Calendar) + slide-over.
   Replaces the 7000px scroll with a single focused workspace.
   ============================================================ */
.tasks-workspace {
  margin: 0.5rem 0;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--prod-border);
  border-radius: 10px;
  background: #fff;
}
.tasks-toolbar {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 0.55rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid var(--prod-border);
}
.tasks-toolbar__views {
  display: inline-flex;
  background: rgba(15, 53, 87, 0.05);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  padding: 0.18rem;
  gap: 0.18rem;
}
.tasks-view-btn {
  background: transparent;
  border: 0;
  padding: 0.32rem 0.7rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--prod-muted);
  border-radius: 6px;
  cursor: pointer;
}
.tasks-view-btn.is-active { background: #fff; color: var(--prod-ink); box-shadow: 0 1px 3px rgba(15, 53, 87, 0.12); }
.tasks-toolbar__filters { display: flex; gap: 0.4rem; flex-wrap: wrap; flex: 1; }
.tasks-toolbar__search {
  flex: 1;
  min-width: 160px;
  padding: 0.36rem 0.6rem;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.85rem;
}
.tasks-toolbar__select {
  padding: 0.36rem 0.55rem;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.82rem;
  background: #fff;
}

/* List view */
.tasks-list-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.tasks-list-table thead th {
  text-align: left;
  padding: 0.42rem 0.55rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prod-muted);
  border-bottom: 1px solid var(--prod-border);
}
.tasks-list-row { cursor: pointer; }
.tasks-list-row td {
  padding: 0.48rem 0.55rem;
  border-bottom: 1px solid rgba(15, 53, 87, 0.06);
  vertical-align: top;
}
.tasks-list-row td strong { color: var(--prod-ink); font-size: 0.86rem; }
.tasks-list-row:hover { background: rgba(15, 53, 87, 0.03); }
.task-status-pill,
.task-priority-pill {
  display: inline-block;
  padding: 0.14rem 0.5rem;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border-radius: 999px;
}
.task-status-pill--backlog { background: #f0f4f8; color: var(--prod-muted); }
.task-status-pill--ready { background: #e3edf6; color: #0f3557; }
.task-status-pill--in_progress { background: #fff3e0; color: #8a5400; }
.task-status-pill--blocked,
.task-status-pill--waiting_on_client,
.task-status-pill--waiting_on_vendor { background: #ffe0e0; color: #8c1d1d; }
.task-status-pill--completed { background: #e6f5e6; color: #1b5e20; }
.task-priority-pill--critical { background: #ffe0e0; color: #8c1d1d; }
.task-priority-pill--high { background: #fff3e0; color: #8a5400; }
.task-priority-pill--medium { background: #f0f4f8; color: var(--prod-muted); }
.task-priority-pill--low { background: #e6f5e6; color: #1b5e20; }
.task-due-overdue { color: #c62828; font-weight: 700; }

/* Kanban view */
.kanban-board {
  display: grid;
  grid-template-columns: repeat(7, minmax(180px, 1fr));
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.4rem;
}
.kanban-col {
  background: rgba(15, 53, 87, 0.03);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  padding: 0.4rem;
  min-width: 180px;
}
.kanban-col__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.36rem;
  padding: 0 0.2rem 0.32rem;
  border-bottom: 1px solid var(--prod-border);
}
.kanban-col__head strong { font-size: 0.82rem; }
.kanban-col__count { font-size: 0.7rem; font-weight: 800; padding: 0.06rem 0.42rem; background: rgba(15, 53, 87, 0.1); border-radius: 999px; color: var(--prod-ink); }
.kanban-col__cards { display: flex; flex-direction: column; gap: 0.32rem; max-height: 60vh; overflow-y: auto; }
.kanban-col__empty { text-align: center; color: var(--prod-muted); font-size: 0.78rem; }
.kanban-card {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0.5rem 0.6rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-left: 3px solid var(--prod-border);
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.82rem;
}
.kanban-card:hover { background: rgba(15, 53, 87, 0.04); }
.kanban-card--critical { border-left-color: #c62828; }
.kanban-card--high { border-left-color: #ef6c00; }
.kanban-card--medium { border-left-color: var(--prod-navy); }
.kanban-card--low { border-left-color: #2e7d32; }

/* Calendar view */
.task-calendar { background: #fff; padding: 0.5rem; }
.task-calendar__head { margin-bottom: 0.45rem; font-size: 0.95rem; color: var(--prod-ink); }
.task-calendar__weekheader,
.task-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}
.task-calendar__weekheader {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--prod-muted);
  text-align: center;
  margin-bottom: 4px;
}
.cal-cell {
  min-height: 78px;
  padding: 0.32rem;
  background: rgba(15, 53, 87, 0.02);
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.74rem;
}
.cal-cell--empty { background: transparent; border-color: transparent; }
.cal-cell--today { background: rgba(15, 53, 87, 0.08); border-color: var(--prod-navy); }
.cal-cell__num { font-weight: 700; color: var(--prod-ink); margin-bottom: 0.18rem; }
.cal-task {
  display: block;
  width: 100%;
  background: var(--prod-navy);
  color: #fff;
  padding: 0.12rem 0.36rem;
  margin-bottom: 0.18rem;
  border: 0;
  border-radius: 4px;
  font-size: 0.7rem;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}
.cal-more { margin: 0; font-size: 0.66rem; color: var(--prod-muted); }

/* Task detail drawer (slide-over from right) */
.task-detail-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(420px, 90vw);
  height: 100vh;
  background: #fff;
  border-left: 1px solid var(--prod-border);
  box-shadow: -8px 0 24px rgba(15, 53, 87, 0.18);
  padding: 1rem 1.2rem;
  z-index: 900;
  transform: translateX(100%);
  transition: transform 0.22s cubic-bezier(0.2, 0.7, 0.25, 1);
  overflow-y: auto;
}
.task-detail-drawer.is-open { transform: translateX(0); }
.task-detail-drawer__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.6rem;
}
.task-detail-drawer__head > div { display: flex; gap: 0.3rem; flex-wrap: wrap; }
.task-detail-drawer__title { margin: 0 0 0.7rem; font-size: 1.05rem; color: var(--prod-ink); }
.task-detail-drawer__meta {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 0.3rem 0.6rem;
  font-size: 0.82rem;
  margin-bottom: 0.8rem;
}
.task-detail-drawer__meta dt { color: var(--prod-muted); font-weight: 600; }
.task-detail-drawer__meta dd { margin: 0; color: var(--prod-ink); }
.task-detail-drawer__desc {
  padding: 0.55rem 0.7rem;
  background: rgba(15, 53, 87, 0.04);
  border-radius: 6px;
  font-size: 0.85rem;
  line-height: 1.5;
  margin-bottom: 0.7rem;
  white-space: pre-wrap;
}
.task-detail-drawer__actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }

/* Legacy drawer wrapping the old massive project-management content */
.tasks-legacy-drawer {
  margin-top: 0.7rem;
  background: rgba(15, 53, 87, 0.03);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  padding: 0.55rem 0.75rem;
}
.tasks-legacy-drawer > summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--prod-muted);
  padding: 0.32rem 0;
}
.tasks-legacy-drawer[open] > summary {
  color: var(--prod-ink);
  border-bottom: 1px solid var(--prod-border);
  margin-bottom: 0.7rem;
  padding-bottom: 0.42rem;
}

/* The task-management-grid was being hidden globally by an existing CSS
   rule (line ~14953); we need it visible inside the legacy drawer. */
.tasks-legacy-drawer .task-management-grid[aria-label="Project and task creation"] {
  display: grid !important;
}
@media (prefers-reduced-motion: reduce) {
  .task-detail-drawer { transition: none; }
}
/* ===== END PHASE 16 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 17: SUBJECT CONTEXT BAR
   v20260518-premium-p17
   Storyboard-style band that fills the center slot of the
   Phase 13 topbar when the user opens a patient/claim/project.
   ============================================================ */
.topbar__context {
  background: linear-gradient(135deg, rgba(15, 53, 87, 0.06), rgba(15, 53, 87, 0));
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  padding: 0.32rem 0.6rem;
  flex-wrap: wrap;
}
.ctx-kind {
  flex-shrink: 0;
  padding: 0.1rem 0.42rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--prod-navy);
  color: #fff;
  border-radius: 999px;
}
.ctx-kind--patient { background: #2e7d32; }
.ctx-kind--claim { background: var(--prod-navy); }
.ctx-kind--project { background: #ef6c00; }
.ctx-kind--clinic { background: #5f7085; }
.ctx-label {
  font-size: 0.9rem;
  color: var(--prod-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}
.ctx-sublabel {
  font-size: 0.78rem;
  color: var(--prod-muted);
  white-space: nowrap;
}
.ctx-meta {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
  padding: 0.08rem 0.4rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 5px;
  font-size: 0.72rem;
}
.ctx-meta__label {
  color: var(--prod-muted);
  font-weight: 600;
}
.ctx-meta__value {
  color: var(--prod-ink);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.ctx-clear {
  margin-left: auto;
  background: transparent;
  border: 0;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  color: var(--prod-muted);
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 0.78rem;
}
.ctx-clear:hover {
  background: rgba(15, 53, 87, 0.08);
  color: var(--prod-ink);
}
@media (max-width: 1200px) {
  /* On narrower screens, drop the meta chips first, then the sublabel. */
  .topbar__context .ctx-meta { display: none; }
}
@media (max-width: 900px) {
  .topbar__context .ctx-sublabel { display: none; }
}
/* ===== END PHASE 17 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 18: SAVED VIEWS · MENTIONS · RECENTS · QUICK-ADD
   v20260518-premium-p18
   Final feature layer.
   ============================================================ */

/* Recents panel (topbar dropdown) */
.aap-recents-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 200;
  width: 280px;
  max-height: 360px;
  overflow-y: auto;
  padding: 0.4rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 10px;
  box-shadow: 0 14px 36px rgba(15, 53, 87, 0.22);
}
.recents-item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.4rem 0.55rem;
  background: transparent;
  border: 0;
  border-radius: 6px;
  text-align: left;
  cursor: pointer;
  font-size: 0.85rem;
}
.recents-item:hover { background: rgba(15, 53, 87, 0.06); }
.recents-item__kind {
  flex-shrink: 0;
  padding: 0.1rem 0.42rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 999px;
  background: rgba(15, 53, 87, 0.08);
  color: var(--prod-ink);
}
.recents-item__kind--patient { background: #e6f5e6; color: #1b5e20; }
.recents-item__kind--claim { background: #e3edf6; color: #0f3557; }
.recents-item__kind--project { background: #fff3e0; color: #8a5400; }
.recents-item__kind--clinic { background: #f0f4f8; color: var(--prod-muted); }
.recents-item__kind--task { background: #e0f2f1; color: #00695c; }
.recents-item__label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--prod-ink);
}

/* Saved views block in sidebar */
.saved-views-list {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  margin-bottom: 0.4rem;
}
.saved-views-empty {
  font-size: 0.74rem;
  color: var(--prod-muted);
  margin: 0.2rem 0.5rem 0.4rem;
  line-height: 1.4;
}
.saved-view-row {
  display: flex;
  gap: 0.2rem;
  align-items: stretch;
}
.saved-view-row__open {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.4rem;
  padding: 0.36rem 0.5rem;
  background: rgba(15, 53, 87, 0.04);
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.8rem;
  cursor: pointer;
  text-align: left;
}
.saved-view-row__open:hover { background: rgba(15, 53, 87, 0.10); }
.saved-view-row__name { font-weight: 600; color: var(--prod-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.saved-view-row__page { font-size: 0.66rem; color: var(--prod-muted); }
.saved-view-row .ghost-button { padding: 0.18rem 0.42rem !important; font-size: 0.78rem; }
.saved-views-add {
  width: 100%;
  font-size: 0.78rem !important;
  padding: 0.36rem 0.55rem !important;
}
.sidebar--collapsed #aap-saved-views-block { display: none; }

/* @-mentions highlight (used by aapHighlightMentions) */
.aap-mention {
  background: rgba(15, 53, 87, 0.10);
  color: var(--prod-navy);
  font-weight: 700;
  padding: 0.04rem 0.32rem;
  border-radius: 999px;
}

/* Quick-add overlay */
.aap-quick-add {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: start center;
  padding-top: 16vh;
}
.aap-quick-add__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 53, 87, 0.42);
  backdrop-filter: blur(3px);
  animation: aap-fade-in 0.15s ease both;
}
.aap-quick-add__sheet {
  position: relative;
  width: min(520px, calc(100vw - 32px));
  padding: 1.1rem 1.3rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(15, 53, 87, 0.32);
  animation: aap-palette-in 0.18s cubic-bezier(0.2, 0.7, 0.25, 1) both;
}
.aap-quick-add__sheet h3 { margin: 0 0 0.7rem; font-size: 1rem; }
.aap-quick-add__row { margin-bottom: 0.55rem; }
.aap-quick-add__row label { display: block; font-size: 0.78rem; font-weight: 600; color: var(--prod-muted); }
.aap-quick-add__row input,
.aap-quick-add__row select,
.aap-quick-add__row textarea {
  width: 100%;
  margin-top: 0.18rem;
  padding: 0.4rem 0.55rem;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.85rem;
}
.aap-quick-add__actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.7rem;
}
/* ===== END PHASE 18 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 19: HEADINGS, FLOW, COLOR
   v20260518-premium-p19
   Address visible issues from real use:
   - Duplicate "Scope" cards under each module → slim switcher
     only for AAP operators who can switch clinics.
   - + New task / + New project moved to top of tasks toolbar.
   - Project-first callout when no projects exist.
   - Per-module accent color so every page has a clear identity.
   ============================================================ */

/* ── Slim scope switcher (replaces the chatty 3-line scope card) ── */
.module-client-scope-strip--slim {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  margin: 0.4rem 0 0.5rem;
  padding: 0.32rem 0.6rem;
  background: rgba(15, 53, 87, 0.04);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  font-size: 0.78rem;
  width: max-content;
  max-width: 100%;
}
.module-client-scope-strip__label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--prod-muted);
}
.module-client-scope-strip__control select {
  padding: 0.22rem 0.42rem;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.82rem;
  background: #fff;
  color: var(--prod-ink);
  cursor: pointer;
}

/* ── Tasks toolbar: primary CTAs at the top ── */
.tasks-toolbar {
  display: grid;
  grid-template-areas:
    "primary primary"
    "views   filters";
  grid-template-columns: auto 1fr;
  gap: 0.55rem;
}
@media (max-width: 760px) {
  .tasks-toolbar {
    grid-template-areas:
      "primary"
      "views"
      "filters";
    grid-template-columns: 1fr;
  }
}
.tasks-toolbar__primary {
  grid-area: primary;
  display: flex;
  gap: 0.45rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid var(--prod-border);
}
.tasks-toolbar__primary-cta {
  font-size: 0.85rem !important;
  font-weight: 700;
}
.tasks-toolbar__views { grid-area: views; }
.tasks-toolbar__filters { grid-area: filters; }

/* ── Project-first callout ── */
.tasks-flow-callout {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0.5rem 0 0.65rem;
  padding: 0.7rem 0.9rem;
  background: linear-gradient(135deg, #fff8e1 0%, #fff3c4 100%);
  border: 1px solid #e6a800;
  border-radius: 10px;
}
.tasks-flow-callout__icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  background: #e6a800;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
  border-radius: 50%;
  font-style: normal;
  font-family: Georgia, serif;
}
.tasks-flow-callout__body { flex: 1; min-width: 0; }
.tasks-flow-callout__body strong {
  display: block;
  font-size: 0.92rem;
  color: #4a3a00;
  margin-bottom: 0.18rem;
}
.tasks-flow-callout__body p {
  margin: 0;
  font-size: 0.8rem;
  color: #6b4a00;
  line-height: 1.45;
}

/* ============================================================
   PER-MODULE ACCENT COLOR SYSTEM
   Each module panel gets its own --module-accent CSS variable
   that drives a coloured ribbon on the panel header, the
   active sidebar indicator, and other accent moments.
   ============================================================ */

/* Define module accent palette */
#module-dashboard,
.panel--module-overview { --module-accent: #1e6fbf; --module-accent-soft: rgba(30,111,191,0.10); }
#module-inbox,
.panel--module-inbox { --module-accent: #00897b; --module-accent-soft: rgba(0,137,123,0.10); }
#module-claims,
.panel--module-claims { --module-accent: #1565c0; --module-accent-soft: rgba(21,101,192,0.10); }
#module-denials,
.panel--module-denials { --module-accent: #c62828; --module-accent-soft: rgba(198,40,40,0.10); }
#module-credentialing,
.panel--module-credentialing { --module-accent: #2e7d32; --module-accent-soft: rgba(46,125,50,0.10); }

.credentialing-legacy-hidden {
  display: none !important;
}

.credentialing-command-center {
  display: grid;
  gap: 0.85rem;
}

.credentialing-command-center__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(31, 41, 55, 0.1);
  border-radius: 8px;
  padding: 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.credentialing-command-center__header .summary-text {
  margin: 0.25rem 0 0;
  max-width: 48rem;
}

.credentialing-ai-assist {
  width: min(22rem, 100%);
  border: 1px solid rgba(31, 41, 55, 0.12);
  border-radius: 8px;
  background: #ffffff;
  color: #1f2937;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}

.credentialing-ai-assist summary {
  cursor: pointer;
  padding: 0.72rem 0.9rem;
  font-weight: 800;
}

.credentialing-ai-assist > div {
  border-top: 1px solid rgba(31, 41, 55, 0.08);
  padding: 0.75rem 0.9rem;
}

.credentialing-ai-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.5rem;
}

.credentialing-ai-actions span {
  border: 1px solid rgba(36, 98, 235, 0.18);
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  background: #eef4ff;
  color: #1e3a8a;
  font-size: 0.72rem;
  font-weight: 800;
}

.credentialing-mode-tabs {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  overflow-x: auto;
  padding: 0.2rem;
  border: 1px solid rgba(31, 41, 55, 0.1);
  border-radius: 8px;
  background: #f7f9fc;
}

.credentialing-mode-tab {
  min-height: 2.45rem;
  border: 0;
  border-radius: 6px;
  padding: 0 0.8rem;
  background: transparent;
  color: #475569;
  font-weight: 800;
  white-space: nowrap;
}

.credentialing-mode-tab.is-active {
  background: #172033;
  color: #ffffff;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.16);
}

.credentialing-workbench {
  display: grid;
  grid-template-columns: minmax(18rem, 0.82fr) minmax(0, 1.65fr);
  min-height: 34rem;
  border: 1px solid rgba(31, 41, 55, 0.12);
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
}

.credentialing-workbench__list {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  border-right: 1px solid rgba(31, 41, 55, 0.1);
  background: #f8fafc;
}

.credentialing-list-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 8rem;
  gap: 0.5rem;
  padding: 0.75rem;
  border-bottom: 1px solid rgba(31, 41, 55, 0.08);
}

.credentialing-list-toolbar input,
.credentialing-list-toolbar select {
  min-width: 0;
  height: 2.35rem;
  border: 1px solid rgba(31, 41, 55, 0.14);
  border-radius: 6px;
  padding: 0 0.65rem;
  background: #ffffff;
  color: #172033;
}

.credentialing-primary-list {
  overflow: auto;
  padding: 0.45rem;
}

.credentialing-list-item {
  display: grid;
  grid-template-columns: 3.6rem minmax(0, 1fr);
  width: 100%;
  gap: 0.65rem;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 0.72rem;
  background: transparent;
  color: #172033;
  text-align: left;
}

.credentialing-list-item:hover,
.credentialing-list-item.is-active {
  border-color: rgba(36, 98, 235, 0.28);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.credentialing-list-item__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  border-radius: 999px;
  background: #e2e8f0;
  color: #334155;
  font-size: 0.74rem;
  font-weight: 900;
}

.credentialing-list-item__badge--high,
.credentialing-list-item__badge--urgent,
.credentialing-list-item__badge--critical {
  background: #fee2e2;
  color: #991b1b;
}

.credentialing-list-item__badge--medium {
  background: #fef3c7;
  color: #92400e;
}

.credentialing-list-item__badge--low {
  background: #dcfce7;
  color: #166534;
}

.credentialing-list-item__body {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.credentialing-list-item__body strong,
.credentialing-list-item__body em {
  overflow: hidden;
  text-overflow: ellipsis;
}

.credentialing-list-item__body strong {
  color: #111827;
  font-size: 0.87rem;
}

.credentialing-list-item__body em {
  color: #64748b;
  font-size: 0.74rem;
  font-style: normal;
  line-height: 1.35;
}

.credentialing-workbench__detail {
  min-width: 0;
  overflow: auto;
  background: #ffffff;
}

.credentialing-selected-detail {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}

.credentialing-detail-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.credentialing-detail-header h3 {
  margin: 0.1rem 0 0.18rem;
  color: #111827;
  font-size: 1.25rem;
}

.credentialing-detail-header p {
  margin: 0;
  color: #64748b;
  line-height: 1.45;
}

.credentialing-readiness-score {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 0.42rem 0.7rem;
  background: #eef4ff;
  color: #1e3a8a;
  font-weight: 900;
}

.credentialing-next-action {
  display: grid;
  gap: 0.25rem;
  border: 1px solid rgba(36, 98, 235, 0.18);
  border-radius: 8px;
  padding: 0.85rem;
  background: #f8fbff;
}

.credentialing-next-action strong {
  color: #172033;
}

.credentialing-next-action span {
  color: #475569;
}

.credentialing-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.credentialing-lifecycle {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(4.8rem, 1fr));
  gap: 0.45rem;
  min-width: 0;
}

.credentialing-lifecycle-step {
  min-height: 4.7rem;
  border: 1px solid rgba(31, 41, 55, 0.1);
  border-top: 4px solid #94a3b8;
  border-radius: 8px;
  padding: 0.58rem;
  background: #ffffff;
}

.credentialing-lifecycle-step strong,
.credentialing-lifecycle-step span {
  display: block;
}

.credentialing-lifecycle-step strong {
  color: #111827;
  font-size: 0.78rem;
}

.credentialing-lifecycle-step span {
  margin-top: 0.2rem;
  color: #64748b;
  font-size: 0.7rem;
  line-height: 1.35;
}

.credentialing-lifecycle-step--complete { border-top-color: #16a34a; }
.credentialing-lifecycle-step--blocking { border-top-color: #dc2626; }
.credentialing-lifecycle-step--needs-review,
.credentialing-lifecycle-step--needs-follow-up,
.credentialing-lifecycle-step--restricted,
.credentialing-lifecycle-step--needs-info { border-top-color: #d97706; }

.credentialing-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.credentialing-detail-grid section {
  min-width: 0;
  border: 1px solid rgba(31, 41, 55, 0.1);
  border-radius: 8px;
  padding: 0.85rem;
  background: #ffffff;
}

.credentialing-detail-grid h4 {
  margin: 0 0 0.55rem;
  color: #172033;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.credentialing-mini-row,
.credentialing-payer-cell {
  display: grid;
  gap: 0.15rem;
  border-top: 1px solid rgba(31, 41, 55, 0.08);
  padding: 0.52rem 0;
}

.credentialing-mini-row:first-of-type,
.credentialing-payer-cell:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.credentialing-mini-row strong,
.credentialing-payer-cell strong {
  color: #111827;
  font-size: 0.8rem;
}

.credentialing-mini-row span,
.credentialing-payer-cell span {
  color: #64748b;
  font-size: 0.72rem;
  line-height: 1.35;
}

.credentialing-payer-cell {
  border-left: 4px solid #94a3b8;
  padding-left: 0.55rem;
}

.credentialing-payer-cell--active { border-left-color: #16a34a; }
.credentialing-payer-cell--at_risk { border-left-color: #dc2626; }
.credentialing-payer-cell--pending_payer,
.credentialing-payer-cell--submitted,
.credentialing-payer-cell--needs_info,
.credentialing-payer-cell--effective_date_needed { border-left-color: #d97706; }

.credentialing-intake-drawer {
  border: 1px solid rgba(31, 41, 55, 0.1);
  border-radius: 8px;
  background: #ffffff;
}

.credentialing-intake-drawer summary {
  cursor: pointer;
  padding: 0.8rem 1rem;
  color: #172033;
  font-weight: 900;
}

.credentialing-intake-drawer form,
.credentialing-intake-drawer .draft-box {
  margin: 0 1rem 1rem;
}

@media (max-width: 1100px) {
  .credentialing-lifecycle {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .credentialing-command-center__header,
  .credentialing-detail-header {
    display: grid;
  }

  .credentialing-workbench {
    grid-template-columns: 1fr;
  }

  .credentialing-workbench__list {
    border-right: 0;
    border-bottom: 1px solid rgba(31, 41, 55, 0.1);
    max-height: 24rem;
  }

  .credentialing-list-toolbar,
  .credentialing-detail-grid,
  .credentialing-lifecycle {
    grid-template-columns: 1fr;
  }

  .credentialing-mode-tab {
    min-width: 9.5rem;
  }
}
#module-work-queue,
.panel--module-ops { --module-accent: #ef6c00; --module-accent-soft: rgba(239,108,0,0.10); }
#module-messaging,
.panel--module-messages { --module-accent: #6a1b9a; --module-accent-soft: rgba(106,27,154,0.10); }
.panel--module-reports,
[id^="module-reporting"] { --module-accent: #283593; --module-accent-soft: rgba(40,53,147,0.10); }
#module-copilot,
.panel--module-copilot { --module-accent: #ff8f00; --module-accent-soft: rgba(255,143,0,0.10); }
#module-growth-command,
.panel--module-growth { --module-accent: #ad1457; --module-accent-soft: rgba(173,20,87,0.10); }
#module-market-health,
.panel--module-market { --module-accent: #00838f; --module-accent-soft: rgba(0,131,143,0.10); }
#module-automation,
.panel--module-automation { --module-accent: #5e35b1; --module-accent-soft: rgba(94,53,177,0.10); }
.panel--module-compliance { --module-accent: #455a64; --module-accent-soft: rgba(69,90,100,0.10); }
.panel--module-integrations { --module-accent: #0277bd; --module-accent-soft: rgba(2,119,189,0.10); }
#module-operator-console,
.panel--module-operator { --module-accent: #b8860b; --module-accent-soft: rgba(184,134,11,0.10); }

/* Apply the accent: ribbon at top of every module panel header */
body.client-facing-hub .panel[class*="panel--module-"] > .panel__header {
  position: relative;
  padding-left: 1rem;
}
body.client-facing-hub .panel[class*="panel--module-"] > .panel__header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18rem;
  bottom: 0.18rem;
  width: 4px;
  border-radius: 4px;
  background: var(--module-accent, var(--prod-navy));
}
body.client-facing-hub .panel[class*="panel--module-"] > .panel__header .panel__eyebrow {
  color: var(--module-accent, var(--prod-navy)) !important;
  font-weight: 800;
  letter-spacing: 0.06em;
}

/* Apply the accent to sidebar nav: active module + hover gets its own color */
.sidebar__nav--p13 .module-link--overview { --module-accent: #1e6fbf; }
.sidebar__nav--p13 .module-link--inbox { --module-accent: #00897b; }
.sidebar__nav--p13 .module-link--claims { --module-accent: #1565c0; }
.sidebar__nav--p13 .module-link--denials { --module-accent: #c62828; }
.sidebar__nav--p13 .module-link--credentialing { --module-accent: #2e7d32; }
.sidebar__nav--p13 .module-link--ops { --module-accent: #ef6c00; }
.sidebar__nav--p13 .module-link--messaging { --module-accent: #6a1b9a; }
.sidebar__nav--p13 .module-link--reports { --module-accent: #283593; }
.sidebar__nav--p13 .module-link--automation { --module-accent: #5e35b1; }
.sidebar__nav--p13 .module-link--compliance { --module-accent: #455a64; }
.sidebar__nav--p13 .module-link--operator { --module-accent: #b8860b; }

.sidebar__nav--p13 .module-link:hover .module-link__icon { color: var(--module-accent, var(--prod-navy)); }
.sidebar__nav--p13 .module-link.is-active {
  background: var(--module-accent-soft, rgba(15,53,87,0.08));
  border-left: 3px solid var(--module-accent, var(--prod-navy));
  padding-left: 0.5rem;
}
.sidebar__nav--p13 .module-link.is-active .module-link__icon {
  color: var(--module-accent, var(--prod-navy));
}
.sidebar__nav--p13 .module-link.is-active .module-link__label {
  font-weight: 700;
  color: var(--module-accent, var(--prod-navy));
}

/* Use the accent on key elements WITHIN the active page */
body.client-facing-hub .panel[class*="panel--module-"] .panel__eyebrow {
  color: var(--module-accent, var(--prod-navy));
}
body.client-facing-hub .panel[class*="panel--module-"] .action-button:not([disabled]) {
  background: var(--module-accent, var(--prod-navy)) !important;
  border-color: var(--module-accent, var(--prod-navy)) !important;
}
body.client-facing-hub .panel[class*="panel--module-"] .ghost-button:not([disabled]):hover {
  border-color: var(--module-accent, var(--prod-navy)) !important;
  color: var(--module-accent, var(--prod-navy)) !important;
}

/* Inbox tab indicator picks up the accent (inbox-specific) */
#module-inbox .inbox-tab.is-active {
  border-bottom-color: var(--module-accent);
  color: var(--module-accent);
}
#module-inbox .inbox-tab.is-active .inbox-tab__count { background: var(--module-accent); }
#module-messaging .msg-folder.is-active { background: var(--module-accent); }
#module-work-queue .tasks-view-btn.is-active { color: var(--module-accent); }
#module-work-queue .tasks-toolbar__primary-cta.action-button {
  background: var(--module-accent) !important;
  border-color: var(--module-accent) !important;
}
/* ===== END PHASE 19 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 20: CLINIC SWITCHER + TASK TREE
   v20260518-premium-p20
   - Sidebar clinic switcher dropdown (replaces "Client account").
   - Task page CTAs at page top, project-tree task hierarchy.
   - Scope strip removed entirely; CSS hides any leftover.
   ============================================================ */

/* Kill any remaining scope strips — sidebar handles all clinic switching now */
.module-client-scope-strip { display: none !important; }

/* ── Sidebar clinic switcher ── */
.sidebar__client-brand {
  position: relative;
  padding: 0;
}
.sidebar__clinic-switch {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.55rem 0.7rem;
  background: rgba(15, 53, 87, 0.04);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  transition: background 0.12s ease, border-color 0.12s ease;
}
.sidebar__clinic-switch:hover {
  background: rgba(15, 53, 87, 0.09);
  border-color: var(--prod-navy);
}
.sidebar__clinic-switch[aria-expanded="true"] {
  background: rgba(15, 53, 87, 0.09);
  border-color: var(--prod-navy);
}
.sidebar__clinic-switch-text {
  flex: 1;
  min-width: 0;
}
.sidebar__clinic-switch-label {
  margin: 0 0 0.18rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prod-muted);
}
.sidebar__clinic-switch-name {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0a2a4f;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar__clinic-switch-location {
  margin: 0.14rem 0 0;
  font-size: 0.72rem;
  color: var(--prod-muted);
  font-weight: 500;
}
.sidebar__clinic-switch-caret {
  flex-shrink: 0;
  color: var(--prod-muted);
  transition: transform 0.15s ease;
}
.sidebar__clinic-switch[aria-expanded="true"] .sidebar__clinic-switch-caret { transform: rotate(180deg); }

.sidebar__clinic-switch-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 60;
  max-height: 60vh;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 10px;
  box-shadow: 0 14px 36px rgba(15, 53, 87, 0.22);
  animation: aap-panel-slide 0.16s ease both;
}
.sidebar__clinic-menu-section {
  padding: 0.45rem 0.4rem;
}
.sidebar__clinic-menu-section + .sidebar__clinic-menu-section {
  border-top: 1px solid var(--prod-border);
}
.sidebar__clinic-menu-label {
  margin: 0 0.45rem 0.32rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prod-muted);
}
.sidebar__clinic-menu-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.42rem 0.55rem;
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.85rem;
  color: var(--prod-ink);
  text-align: left;
}
.sidebar__clinic-menu-item:hover { background: rgba(15, 53, 87, 0.06); }
.sidebar__clinic-menu-item.is-active {
  background: rgba(15, 53, 87, 0.10);
  font-weight: 700;
}
.sidebar__clinic-menu-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar__clinic-menu-meta {
  font-size: 0.7rem;
  color: var(--prod-muted);
  font-weight: 500;
}
.sidebar__clinic-menu-check {
  color: var(--prod-navy);
  font-weight: 800;
  font-size: 0.9rem;
}
.sidebar__clinic-menu-empty {
  margin: 0 0.45rem;
  padding: 0.4rem 0;
  font-size: 0.75rem;
  color: var(--prod-muted);
  line-height: 1.45;
}
.sidebar__clinic-menu-footer {
  padding: 0.42rem 0.45rem;
  border-top: 1px solid var(--prod-border);
  background: #f7fafc;
  border-radius: 0 0 10px 10px;
}
.sidebar__clinic-menu-action {
  width: 100%;
  background: transparent;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  padding: 0.36rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prod-ink);
  cursor: pointer;
}
.sidebar__clinic-menu-action:hover {
  background: rgba(15, 53, 87, 0.06);
  border-color: var(--prod-navy);
}

.sidebar__client-brand-label,
.sidebar__eyebrow { display: none; }

.sidebar--collapsed .sidebar__clinic-switch-text,
.sidebar--collapsed .sidebar__clinic-switch-caret { display: none; }
.sidebar--collapsed .sidebar__clinic-switch { padding: 0.5rem; justify-content: center; }
.sidebar--collapsed .sidebar__client-brand::before {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  margin: 0 auto;
  background: var(--prod-navy);
  border-radius: 50%;
}

/* ── Tasks: top-of-page CTAs ── */
.tasks-page-actions {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.8rem 1rem;
  margin: -0.7rem -0.7rem 0.55rem;
  background: linear-gradient(135deg, #fff8ec, #fff3d4);
  border-bottom: 2px solid #f4a236;
  border-radius: 10px 10px 0 0;
  flex-wrap: wrap;
}
.tasks-page-actions__cta {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  padding: 0.5rem 1rem !important;
}
.tasks-page-actions__cta--primary {
  background: #ef6c00 !important;
  border-color: #ef6c00 !important;
  color: #fff !important;
}
.tasks-page-actions__cta:not(.tasks-page-actions__cta--primary) {
  background: #fff !important;
  border: 1px solid #f4a236 !important;
  color: #8a5400 !important;
}
.tasks-page-actions__hint {
  margin: 0;
  flex: 1;
  min-width: 200px;
  font-size: 0.82rem;
  color: #6b4a00;
  font-style: italic;
}

/* ── Project tree view ── */
.project-tree {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.project-branch {
  background: #fff;
  border: 1px solid var(--prod-border);
  border-left: 4px solid var(--module-accent, var(--prod-navy));
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.12s ease;
}
.project-branch:hover { box-shadow: 0 2px 8px rgba(15, 53, 87, 0.08); }
.project-branch--standalone { border-left-color: #5f7085; }
.project-branch__header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.7rem;
  align-items: center;
  width: 100%;
  padding: 0.6rem 0.85rem;
  background: linear-gradient(180deg, #fdfefe 0%, #f7fafc 100%);
  border: 0;
  cursor: pointer;
  text-align: left;
}
.project-branch__header:hover { background: rgba(15, 53, 87, 0.04); }
.project-branch__chevron {
  display: inline-block;
  color: var(--module-accent, var(--prod-navy));
  font-size: 0.9rem;
  font-weight: 700;
  transition: transform 0.15s ease;
}
.project-branch.is-open .project-branch__chevron { transform: rotate(90deg); }
.project-branch__title { min-width: 0; }
.project-branch__title strong {
  display: block;
  font-size: 0.95rem;
  color: var(--prod-ink);
  margin-bottom: 0.18rem;
}
.project-branch__meta {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  font-size: 0.74rem;
  color: var(--prod-muted);
}
.project-branch__tag {
  display: inline-block;
  padding: 0.06rem 0.42rem;
  background: rgba(15, 53, 87, 0.08);
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.62rem;
}
.project-branch__stats {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-shrink: 0;
}
.project-branch__count {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--prod-ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.project-branch__overdue {
  display: inline-block;
  padding: 0.12rem 0.42rem;
  background: #ffe0e0;
  color: #8c1d1d;
  font-size: 0.7rem;
  font-weight: 700;
  border-radius: 999px;
}
.project-branch__progress {
  width: 80px;
  height: 5px;
  background: #e8eef4;
  border-radius: 999px;
  overflow: hidden;
}
.project-branch__progress-fill {
  height: 100%;
  background: var(--module-accent, var(--prod-navy));
  transition: width 0.4s ease;
}
.project-branch__tasks {
  padding: 0.32rem 0.5rem 0.5rem 1.7rem;
  background: #fcfdfd;
  border-top: 1px solid var(--prod-border);
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
}
.project-branch__empty {
  margin: 0.5rem 0;
  font-size: 0.82rem;
  color: var(--prod-muted);
}
.project-branch__empty .ghost-button {
  margin-left: 0.4rem;
  padding: 0.18rem 0.6rem !important;
  font-size: 0.78rem !important;
}
.project-task-row {
  display: grid;
  grid-template-columns: 20px minmax(0, 2fr) minmax(0, 1fr) auto auto auto;
  gap: 0.55rem;
  align-items: center;
  padding: 0.42rem 0.55rem;
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  text-align: left;
  font-size: 0.82rem;
}
.project-task-row:hover { background: rgba(15, 53, 87, 0.04); }
.project-task-row__branch {
  color: var(--prod-muted);
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 0.74rem;
}
.project-task-row__title {
  color: var(--prod-ink);
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.project-task-row__owner {
  color: var(--prod-muted);
  font-size: 0.78rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* ===== END PHASE 20 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 21: TOPBAR REFINEMENT
   v20260518-premium-p21
   Smaller ATTENTION/status badge, restructured right side
   of topbar (Owner Tools menu + static user name +
   notification bell + settings cog).
   ============================================================ */

/* 1. Shrink the sidebar pulse/status badge ("ATTENTION", "Live", etc.) */
.sidebar__pulse-card__badge,
.client-facing-hub .sidebar__pulse-card__badge {
  padding: 0.08rem 0.36rem !important;
  font-size: 0.58rem !important;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.2;
  border-radius: 999px;
  min-width: 0;
}

/* 2. Topbar layout: new right-side ordering
      Inbox → Owner Tools → User Name → Notification bell → Settings cog */
.topbar--p13 .topbar__right {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
}

/* Owner Tools dropdown */
.topbar__owner-tools { position: relative; }
.topbar__owner-tools-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.36rem;
  padding: 0.32rem 0.6rem;
  background: linear-gradient(135deg, rgba(184,134,11,0.10), rgba(184,134,11,0.04));
  border: 1px solid #d4a93c;
  border-radius: 8px;
  color: #6b4a00;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}
.topbar__owner-tools-trigger:hover {
  background: linear-gradient(135deg, rgba(184,134,11,0.18), rgba(184,134,11,0.08));
  border-color: #b8860b;
}
.topbar__owner-tools-trigger[aria-expanded="true"] {
  background: linear-gradient(135deg, rgba(184,134,11,0.20), rgba(184,134,11,0.12));
  border-color: #b8860b;
}
.topbar__owner-tools-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 200;
  min-width: 220px;
  padding: 0.4rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 10px;
  box-shadow: 0 14px 36px rgba(15,53,87,0.22);
  animation: aap-panel-slide 0.16s ease both;
}
.topbar__owner-tools-menu button {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.5rem 0.7rem;
  background: transparent;
  border: 0;
  border-radius: 6px;
  font-size: 0.85rem;
  color: var(--prod-ink);
  cursor: pointer;
  text-align: left;
}
.topbar__owner-tools-menu button:hover {
  background: rgba(184,134,11,0.08);
}
.ot-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Static user name display (no chevron, no dropdown) */
.topbar__user-static {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.18rem 0.55rem 0.18rem 0.32rem;
  color: var(--prod-ink);
  font-size: 0.85rem;
}
.topbar__user-static .topbar__user-avatar {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  background: var(--prod-navy);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  border-radius: 50%;
}
.topbar__user-static .topbar__user-name {
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 140px;
  user-select: text;
}

/* Settings cog (replaces user dropdown chevron) */
.topbar__icon-button--quiet {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--prod-muted);
}
.topbar__icon-button--quiet:hover {
  background: rgba(15,53,87,0.06) !important;
  color: var(--prod-ink);
}

/* Visibility: data-owner-only is hidden by default, shown for operators */
[data-owner-only="true"][hidden] { display: none !important; }
body[data-role="operator"] #topbar-owner-tools[data-owner-only="true"] { display: inline-block; }
body[data-role="operator"] #topbar-owner-tools[data-owner-only="true"][hidden] {
  /* Show — the inline `hidden` attribute will be removed by JS. */
}

/* Topbar reorder: place realtime bell + settings cog after the static name.
   The realtime bell is inserted dynamically by Phase 9 right before the
   #topbar-settings-cog — but we use grid order to enforce the visual sequence. */
.topbar--p13 .topbar__right {
  display: flex;
}
.topbar--p13 .topbar__right > * { order: 10; }
.topbar--p13 #topbar-inbox-bell { order: 1; }
.topbar--p13 #topbar-owner-tools { order: 2; }
.topbar--p13 .topbar__user-static { order: 3; }
.topbar--p13 #realtime-bell { order: 4; }
.topbar--p13 #topbar-settings-cog { order: 5; }
/* ===== END PHASE 21 ===== */

/* ===== PHASE 22: Fancy Centered Buttons + Icons Far Right ===== */

/* PHASE 30: TWO-ROW topbar.
   Row 1: left zone (workspace + clinic + search) | right zone (identity + icons)
   Row 2: full-width centered Owner Tools (the fancy buttons live ONLY here).
   This is the layout the user asked for: "buttons centered below the menus,
   spaced out and aesthetic" — Owner Tools is no longer in the sidebar. */
body.client-facing-hub .topbar.topbar--p13,
.topbar--p13 {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  grid-template-areas:
    "left right"
    "actions actions" !important;
  grid-auto-flow: row !important;
  column-gap: 0.85rem !important;
  row-gap: 0.55rem !important;
  align-items: center !important;
  min-height: 5.6rem !important;
  padding: 0.5rem 0.95rem 0.55rem !important;
}
.topbar--p13 > .topbar__left { grid-area: left !important; justify-self: start !important; }
.topbar--p13 > .topbar__right { grid-area: right !important; justify-self: end !important; }
.topbar--p13 > .topbar__center-zone,
.topbar--p13 > .topbar__context { grid-area: actions !important; width: 100% !important; }
/* Any direct children that aren't part of the 3-zone schema (legacy menus,
   workspace-menu-fallback, the realtime bell when it got injected as a topbar
   direct child) get parked out of the way so they can't claim a column.
   PHASE 22 redo: the earlier `body.client-facing-hub .topbar__menus { display: grid !important }`
   rule (line ~776) has specificity 0-3-1, so we must match or beat it here. */
body.client-facing-hub .topbar.topbar--p13 > .topbar__menus,
body.client-facing-hub .topbar.topbar--p13 > .workspace-menu-fallback,
.topbar--p13 > .topbar__menus,
.topbar--p13 > .workspace-menu-fallback {
  display: none !important;
  grid-area: unset !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}
.topbar--p13 > #realtime-bell {
  /* Bell should live inside topbar__right; if it's stranded as a direct child,
     this rule visually moves it there until JS relocates it. */
  grid-column: 3 / 4 !important;
  grid-area: right !important;
  justify-self: end !important;
}
.topbar__center-zone {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  overflow: visible;
}
/* When subject context bar is active it fills the center zone */
.topbar__center-zone .topbar__context {
  flex: 1;
  justify-content: center;
}
/* Center action buttons container — wider, spaced, aesthetic */
.topbar__center-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  width: 100%;
}
.topbar__action-group {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: nowrap;
  justify-content: center;
}
/* Slightly larger touch target + more breathing room on every fancy button */
.topbar__fancy-btn {
  padding: 0.32rem 0.8rem 0.32rem 0.62rem !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.01em;
  box-shadow: 0 1px 2px rgba(15, 53, 87, 0.04);
}
.topbar__fancy-btn:hover {
  box-shadow: 0 2px 6px rgba(15, 53, 87, 0.12);
  transform: translateY(-1px);
}
.topbar__fancy-btn:active { transform: translateY(0); }
.topbar__fancy-btn .tfb-dot {
  width: 8px !important;
  height: 8px !important;
}

/* Right cluster — tight, icons only, far right.
   Explicit flex order so the visual sequence is locked:
   [User name+avatar] [Inbox] [Notification bell] [Lock] [Settings cog]
   Anything else (hidden legacy buttons, panels, login-btn when authed) sits past order 100. */
.topbar--p13 > .topbar__right {
  display: flex !important;
  align-items: center !important;
  gap: 0.34rem !important;
  justify-self: end !important;
}
.topbar--p13 > .topbar__right > * { order: 100; }
.topbar--p13 > .topbar__right > #topbar-user-area    { order: 1 !important; margin-right: 0.22rem; }
.topbar--p13 > .topbar__right > #topbar-login-btn    { order: 1 !important; }
.topbar--p13 > .topbar__right > #topbar-inbox-bell   { order: 2 !important; }
.topbar--p13 > .topbar__right > #realtime-bell       { order: 3 !important; }
.topbar--p13 > .topbar__right > #topbar-lock-btn     { order: 4 !important; }
.topbar--p13 > .topbar__right > #topbar-recents-btn  { order: 5 !important; }
.topbar--p13 > .topbar__right > #topbar-settings-cog { order: 6 !important; }
/* Hidden helper panels and stubs never claim space, but pin them past visible order. */
.topbar--p13 > .topbar__right > .topbar__user-menu-panel,
.topbar--p13 > .topbar__right > .notification-center-panel,
.topbar--p13 > .topbar__right > .aap-recents-panel { order: 200; }
/* Phase 21 stub leftovers — empty wrapper divs / buttons must not take inline space. */
.topbar--p13 > .topbar__right > #topbar-owner-tools,
.topbar--p13 > .topbar__right > #topbar-owner-tools-trigger,
.topbar--p13 > .topbar__right > #topbar-owner-tools-menu,
.topbar--p13 > .topbar__right > #topbar-user-menu,
.topbar--p13 > .topbar__right > #notification-bell,
.topbar--p13 > .topbar__right > #notification-badge,
.topbar--p13 > .topbar__right > #open-current-help,
.topbar--p13 > .topbar__right > #refresh-data,
.topbar--p13 > .topbar__right > #reset-filters { display: none !important; }

/* 2. Fancy pill action buttons */
.topbar__fancy-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.36rem;
  padding: 0.26rem 0.65rem 0.26rem 0.48rem;
  border-radius: 999px;
  border: 1.5px solid transparent;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.14s ease;
  position: relative;
}
.topbar__fancy-btn .tfb-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  transition: transform 0.14s ease;
}
.topbar__fancy-btn:hover .tfb-dot { transform: scale(1.4); }
/* Active page highlight */
.topbar__fancy-btn[data-active="true"] {
  box-shadow: 0 0 0 3px rgba(var(--tfb-rgb), 0.18);
}

/* Color variants */
.topbar__fancy-btn--orange {
  background: linear-gradient(135deg, rgba(255,143,0,0.10) 0%, rgba(255,143,0,0.04) 100%);
  border-color: rgba(255,143,0,0.40);
  color: #7a3800;
  --tfb-rgb: 255,143,0;
}
.topbar__fancy-btn--orange .tfb-dot { background: #ff8f00; }
.topbar__fancy-btn--orange:hover { background: linear-gradient(135deg, rgba(255,143,0,0.20) 0%, rgba(255,143,0,0.10) 100%); border-color: #ff8f00; }

.topbar__fancy-btn--pink {
  background: linear-gradient(135deg, rgba(173,20,87,0.10) 0%, rgba(173,20,87,0.04) 100%);
  border-color: rgba(173,20,87,0.35);
  color: #6a0030;
  --tfb-rgb: 173,20,87;
}
.topbar__fancy-btn--pink .tfb-dot { background: #ad1457; }
.topbar__fancy-btn--pink:hover { background: linear-gradient(135deg, rgba(173,20,87,0.18) 0%, rgba(173,20,87,0.08) 100%); border-color: #ad1457; }

.topbar__fancy-btn--teal {
  background: linear-gradient(135deg, rgba(0,131,143,0.10) 0%, rgba(0,131,143,0.04) 100%);
  border-color: rgba(0,131,143,0.35);
  color: #004a52;
  --tfb-rgb: 0,131,143;
}
.topbar__fancy-btn--teal .tfb-dot { background: #00838f; }
.topbar__fancy-btn--teal:hover { background: linear-gradient(135deg, rgba(0,131,143,0.18) 0%, rgba(0,131,143,0.08) 100%); border-color: #00838f; }

.topbar__fancy-btn--purple {
  background: linear-gradient(135deg, rgba(94,53,177,0.10) 0%, rgba(94,53,177,0.04) 100%);
  border-color: rgba(94,53,177,0.35);
  color: #2e0a6e;
  --tfb-rgb: 94,53,177;
}
.topbar__fancy-btn--purple .tfb-dot { background: #5e35b1; }
.topbar__fancy-btn--purple:hover { background: linear-gradient(135deg, rgba(94,53,177,0.18) 0%, rgba(94,53,177,0.08) 100%); border-color: #5e35b1; }

.topbar__fancy-btn--gold {
  background: linear-gradient(135deg, rgba(184,134,11,0.12) 0%, rgba(184,134,11,0.05) 100%);
  border-color: rgba(184,134,11,0.45);
  color: #5a3a00;
  --tfb-rgb: 184,134,11;
}
.topbar__fancy-btn--gold .tfb-dot { background: #b8860b; }
.topbar__fancy-btn--gold:hover { background: linear-gradient(135deg, rgba(184,134,11,0.22) 0%, rgba(184,134,11,0.12) 100%); border-color: #b8860b; }

.topbar__fancy-btn--navy {
  background: linear-gradient(135deg, rgba(15,53,87,0.10) 0%, rgba(15,53,87,0.04) 100%);
  border-color: rgba(15,53,87,0.30);
  color: #0f3557;
  --tfb-rgb: 15,53,87;
}
.topbar__fancy-btn--navy .tfb-dot { background: #0f3557; }
.topbar__fancy-btn--navy:hover { background: linear-gradient(135deg, rgba(15,53,87,0.18) 0%, rgba(15,53,87,0.10) 100%); border-color: #0f3557; }

.topbar__fancy-btn--blue {
  background: linear-gradient(135deg, rgba(21,101,192,0.10) 0%, rgba(21,101,192,0.04) 100%);
  border-color: rgba(21,101,192,0.30);
  color: #0a3d7a;
  --tfb-rgb: 21,101,192;
}
.topbar__fancy-btn--blue .tfb-dot { background: #1565c0; }
.topbar__fancy-btn--blue:hover { background: linear-gradient(135deg, rgba(21,101,192,0.18) 0%, rgba(21,101,192,0.10) 100%); border-color: #1565c0; }

.topbar__fancy-btn--green {
  background: linear-gradient(135deg, rgba(46,125,50,0.10) 0%, rgba(46,125,50,0.04) 100%);
  border-color: rgba(46,125,50,0.30);
  color: #0f4212;
  --tfb-rgb: 46,125,50;
}
.topbar__fancy-btn--green .tfb-dot { background: #2e7d32; }
.topbar__fancy-btn--green:hover { background: linear-gradient(135deg, rgba(46,125,50,0.18) 0%, rgba(46,125,50,0.10) 100%); border-color: #2e7d32; }

.topbar__fancy-btn--indigo {
  background: linear-gradient(135deg, rgba(74,20,140,0.10) 0%, rgba(74,20,140,0.04) 100%);
  border-color: rgba(74,20,140,0.30);
  color: #2c0057;
  --tfb-rgb: 74,20,140;
}
.topbar__fancy-btn--indigo .tfb-dot { background: #4a148c; }
.topbar__fancy-btn--indigo:hover { background: linear-gradient(135deg, rgba(74,20,140,0.18) 0%, rgba(74,20,140,0.10) 100%); border-color: #4a148c; }

/* 3. Right zone: user identity + icon-only buttons, far right */
.topbar--p13 .topbar__right {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  flex-shrink: 0;
}
/* Reorder: user-area → login-btn → inbox → realtime → settings cog */
.topbar--p13 .topbar__right > * { order: 10; }
.topbar--p13 #topbar-user-area        { order: 1; }
.topbar--p13 .topbar__login-btn       { order: 2; }
.topbar--p13 #topbar-inbox-bell       { order: 3; }
.topbar--p13 #realtime-bell           { order: 4; }
.topbar--p13 #topbar-settings-cog     { order: 5; }
.topbar--p13 #topbar-user-menu-panel  { order: 6; }

/* 4. Login button in topbar */
.topbar__login-btn {
  display: none; /* shown by JS when not authenticated */
  align-items: center;
  gap: 0.36rem;
  padding: 0.3rem 0.75rem;
  background: var(--prod-navy, #0f3557);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.14s ease;
  white-space: nowrap;
}
.topbar__login-btn:hover { background: #1a4d78; }
/* When explicitly shown */
.topbar__login-btn.is-visible { display: inline-flex; }
/* Hide user-static when login btn is shown */
.topbar__login-btn.is-visible ~ #topbar-user-area,
body:not([data-current-page]) #topbar-user-area { opacity: 0.4; pointer-events: none; }

/* ===== END PHASE 22 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 23: ACTION CTAs ON AI/GROWTH/MARKET
   v20260519-fancy-p23
   The 3 previously read-only modules now have real action buttons:
   - Action Assist: Acknowledge & open · Convert to task · Dismiss · Feedback
   - Growth: per-stage Investigate / + Rule + staffing Project / Credentialing
   - Market Health: "Close the gap →" per off-band KPI
   ============================================================ */

/* ── AI / Copilot action CTAs ── */
.copilot-action {
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  gap: 0.45rem;
  align-items: center;
}
.copilot-action__ctas {
  display: flex;
  gap: 0.3rem;
}
.copilot-alert__actions {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
  margin-top: 0.45rem;
  padding-top: 0.4rem;
  border-top: 1px dashed var(--prod-border);
}
.copilot-cta {
  padding: 0.22rem 0.55rem !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
}
.copilot-cta--primary {
  background: var(--prod-navy) !important;
  border-color: var(--prod-navy) !important;
  color: #fff !important;
}
.copilot-cta--feedback {
  font-size: 0.85rem !important;
  padding: 0.18rem 0.42rem !important;
  margin-left: auto;
}

/* ── Growth funnel conversion row CTAs ── */
.growth-funnel-conv-row {
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.42rem 0.55rem !important;
}
.growth-funnel-conv-row__pct {
  font-variant-numeric: tabular-nums;
  color: var(--prod-navy);
  min-width: 3.2rem;
  text-align: right;
}
.growth-funnel-conv-row__ctas {
  display: flex;
  gap: 0.3rem;
}
.growth-cta {
  padding: 0.22rem 0.6rem !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  white-space: nowrap;
}

.growth-staffing-item {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 0.5rem;
  align-items: center;
}
.growth-staffing-item__ctas {
  display: flex;
  gap: 0.3rem;
}

/* ── Market Health "Close the gap" CTA on KPI card ── */
.market-kpi-card__cta {
  margin-top: 0.5rem;
  width: 100%;
  padding: 0.32rem 0.6rem !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, rgba(198,40,40,0.10) 0%, rgba(198,40,40,0.04) 100%) !important;
  border: 1px solid #c62828 !important;
  color: #8c1d1d !important;
  border-radius: 6px;
}
.market-kpi-card--warning .market-kpi-card__cta {
  background: linear-gradient(135deg, rgba(239,108,0,0.10) 0%, rgba(239,108,0,0.04) 100%) !important;
  border-color: #ef6c00 !important;
  color: #8a5400 !important;
}
.market-kpi-card__cta:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
/* ===== END PHASE 23 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 24: GROWTH × RCM INTERTWINING
   v20260519-fancy-p24
   - Funnel stage shows $ at risk per drop-off
   - Funnel summary line shows total at-risk + avg first claim
   - Staffing section gets a credentialing-readiness chip
   - Market Health KPIs always get a "Drill into this metric" CTA
   ============================================================ */
.growth-funnel-summary-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin: 0.4rem 0 0.5rem;
  padding: 0.55rem 0.7rem;
  background: linear-gradient(135deg, rgba(198,40,40,0.06), rgba(198,40,40,0.02));
  border-left: 3px solid #c62828;
  border-radius: 6px;
  font-size: 0.84rem;
  color: var(--prod-ink);
}
.growth-funnel-summary-line strong { color: #8c1d1d; font-weight: 800; }
.growth-funnel-summary-line__meta {
  font-size: 0.74rem;
  color: var(--prod-muted);
}

.growth-funnel-conv-row {
  grid-template-columns: 1fr auto auto auto !important;
}
.growth-funnel-conv-row__loss {
  font-size: 0.78rem;
  font-weight: 700;
  color: #8c1d1d;
  background: rgba(198,40,40,0.08);
  padding: 0.1rem 0.42rem;
  border-radius: 4px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.growth-funnel-conv-row__gain {
  font-size: 0.78rem;
  font-weight: 700;
  color: #1b5e20;
  background: rgba(46,125,50,0.08);
  padding: 0.1rem 0.42rem;
  border-radius: 4px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.growth-staffing-cred-chip {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
  margin: 0.4rem 0 0.6rem;
  padding: 0.5rem 0.7rem;
  background: linear-gradient(135deg, rgba(46,125,50,0.06), rgba(46,125,50,0.02));
  border-left: 3px solid #2e7d32;
  border-radius: 6px;
  font-size: 0.84rem;
}
.growth-staffing-cred-chip strong {
  font-variant-numeric: tabular-nums;
  color: #1b5e20;
  font-weight: 800;
}
.growth-staffing-cred-chip span:not([class]) {
  color: var(--prod-muted);
  font-size: 0.78rem;
}
.growth-staffing-cred-chip .growth-cta {
  margin-left: auto;
}

/* Market Health: info-tone "Drill into this metric" CTA (different color from Close-the-gap) */
.market-kpi-card__cta--info {
  background: linear-gradient(135deg, rgba(15,53,87,0.06), rgba(15,53,87,0.02)) !important;
  border: 1px solid var(--prod-border) !important;
  color: var(--prod-navy) !important;
}
.market-kpi-card__cta--info:hover {
  background: linear-gradient(135deg, rgba(15,53,87,0.10), rgba(15,53,87,0.04)) !important;
  border-color: var(--prod-navy) !important;
}
/* ===== END PHASE 24 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 25: SKELETON LOADERS + EMPTY STATES + DUP CLEANUP
   v20260519-fancy-p25
   - First-load skeleton shimmer on the major panels (only first paint)
   - Premium empty-state component with SVG icon + clear next-step CTA
   - Stricter hiding of legacy duplicate DOM stubs everywhere
   ============================================================ */

/* 1. First-paint skeleton shimmer. Active only when app-loading is set AND
   we haven't rendered yet. Avoids clobbering existing content on refresh. */
body.app-loading:not([data-ever-rendered]) .panel--wide,
body.app-loading:not([data-ever-rendered]) .panel--module-claims,
body.app-loading:not([data-ever-rendered]) .panel--module-credentialing,
body.app-loading:not([data-ever-rendered]) .panel--module-ops,
body.app-loading:not([data-ever-rendered]) .panel--module-messages,
body.app-loading:not([data-ever-rendered]) #module-inbox,
body.app-loading:not([data-ever-rendered]) #module-copilot,
body.app-loading:not([data-ever-rendered]) #module-growth-command,
body.app-loading:not([data-ever-rendered]) #module-market-health {
  position: relative;
  min-height: 320px;
  overflow: hidden;
}
body.app-loading:not([data-ever-rendered]) .panel--wide::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0%, rgba(15,53,87,0.06) 50%, transparent 100%) 0 0 / 200% 100%,
    repeating-linear-gradient(
      0deg,
      transparent 0 36px,
      rgba(15,53,87,0.04) 36px 60px,
      transparent 60px 90px,
      rgba(15,53,87,0.04) 90px 108px,
      transparent 108px 156px,
      rgba(15,53,87,0.04) 156px 216px
    );
  animation: aap-skeleton-pan 1.4s linear infinite;
  pointer-events: none;
  border-radius: inherit;
}
@keyframes aap-skeleton-pan {
  0%   { background-position: -50% 0, 0 0; }
  100% { background-position: 150% 0, 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.app-loading:not([data-ever-rendered]) .panel--wide::after { animation: none; }
}

/* 2. Premium empty-state component */
.aap-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.5rem;
  padding: 1.6rem 1rem;
  color: var(--prod-muted);
}
.aap-empty-state__icon {
  color: var(--module-accent, var(--prod-navy));
  opacity: 0.55;
  margin-bottom: 0.2rem;
}
.aap-empty-state__title {
  font-size: 1.02rem;
  color: var(--prod-ink);
  font-weight: 700;
}
.aap-empty-state__body {
  margin: 0;
  max-width: 38ch;
  font-size: 0.86rem;
  line-height: 1.5;
}
.aap-empty-state__cta {
  margin-top: 0.4rem;
  padding: 0.42rem 1rem !important;
  font-size: 0.86rem !important;
}

/* 3. Stricter duplicate cleanup — make sure legacy stubs are 100% invisible */
.notification-bell-wrap[hidden],
#notification-bell[hidden],
#notification-badge[hidden],
#notification-center-panel[hidden],
#open-current-help[hidden],
#refresh-data[hidden],
#reset-filters[hidden],
#topbar-user-menu[hidden],
#topbar-owner-tools[hidden],
#topbar-owner-tools-trigger[hidden],
#topbar-owner-tools-menu[hidden] {
  display: none !important;
  visibility: hidden !important;
}

/* Dashboard: tighten the overlapping panel layout — the two shells were both
   rendering at full height. Stack with proper spacing. */
body[data-current-page="dashboard"] #premium-client-command + .clinic-workspace-shell,
body[data-current-page="dashboard"] .clinic-workspace-shell + #premium-client-command {
  margin-top: 0.6rem;
}
/* ===== END PHASE 25 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 26: MOBILE BREAKPOINT + SECTION NAV
   v20260519-fancy-p26
   - Topbar collapses gracefully below 960px (hide center, keep
     clinic chip + 1 hamburger that opens sidebar, keep icon row)
   - Sidebar becomes a drawer below 760px
   - Tall modules (Automation, Reporting, Compliance) get a sticky
     intra-module section nav
   ============================================================ */

/* ── Mobile / tablet topbar ── */
@media (max-width: 960px) {
  .topbar--p13 {
    grid-template-columns: auto 1fr auto !important;
    grid-template-areas: "left center right" !important;
    gap: 0.3rem !important;
    padding: 0.32rem 0.5rem !important;
  }
  /* Hide center action buttons on small screens — Owner Tools accessible
     via mobile nav drawer (the sidebar is still present as a drawer). */
  .topbar--p13 .topbar__center-actions { display: none !important; }
  /* Hide search button label, keep just the icon */
  .topbar--p13 .topbar__search span { display: none; }
  .topbar--p13 .topbar__search kbd { display: none; }
  .topbar--p13 .topbar__search {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    padding: 0;
    justify-content: center;
  }
  /* Truncate clinic switcher hard */
  .topbar--p13 .topbar__clinic-switcher { max-width: 130px; }
  /* User avatar only, hide name */
  .topbar--p13 .topbar__user-static .topbar__user-name { display: none; }
}

@media (max-width: 760px) {
  /* Hide workspace label (just keep the chip) */
  .topbar--p13 .topbar__workspace-label { display: none !important; }
  /* Sidebar slides off-canvas */
  .app-frame .sidebar {
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 90;
    width: 280px !important;
    transform: translateX(-100%);
    transition: transform 0.22s ease;
    box-shadow: 4px 0 18px rgba(15, 53, 87, 0.18);
    background: #fff;
  }
  body[data-sidebar-open="1"] .app-frame .sidebar { transform: translateX(0); }
  body[data-sidebar-open="1"]::after {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(15, 53, 87, 0.42);
    z-index: 80;
  }
}

/* Mobile hamburger button — only visible below 760px */
.topbar__hamburger {
  display: none;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  background: rgba(15,53,87,0.04);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  cursor: pointer;
  color: var(--prod-ink);
}
.topbar__hamburger:hover { background: rgba(15,53,87,0.08); }
@media (max-width: 760px) {
  .topbar__hamburger { display: inline-flex; }
}

/* ── Sticky intra-module section nav (Phase 26 for tall modules) ── */
.module-section-nav {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  gap: 0.36rem;
  flex-wrap: wrap;
  padding: 0.4rem 0.7rem;
  margin: 0.4rem 0 0.7rem;
  background: linear-gradient(180deg, #fdfefe 0%, #f7fafc 100%);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  backdrop-filter: blur(6px);
}
.module-section-nav__btn {
  padding: 0.32rem 0.7rem;
  background: transparent;
  border: 0;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prod-muted);
  cursor: pointer;
  white-space: nowrap;
}
.module-section-nav__btn:hover { background: rgba(15,53,87,0.06); color: var(--prod-ink); }
.module-section-nav__btn.is-active {
  background: var(--module-accent, var(--prod-navy));
  color: #fff;
}
/* ===== END PHASE 26 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 27: OPERATOR SCALE
   v20260519-fancy-p27
   - Clinic-switcher search input for 8+ clinic portfolios
   - Capped render with "+N more, refine search" guard
   - Scrollable clinic list with sticky search at the top
   - Portfolio scope chip planned on dashboard (placeholder; the
     clinic switcher remains the primary scope control)
   ============================================================ */
.sidebar__clinic-menu-search {
  position: sticky;
  top: 0;
  z-index: 2;
  width: 100%;
  margin: 0 0 0.3rem;
  padding: 0.42rem 0.55rem;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.84rem;
  background: #fff;
  box-sizing: border-box;
}
.sidebar__clinic-menu-search:focus {
  outline: none;
  border-color: var(--prod-navy);
  box-shadow: 0 0 0 3px rgba(15, 53, 87, 0.10);
}
.sidebar__clinic-menu-list {
  max-height: 340px;
  overflow-y: auto;
  padding-right: 2px;
}
.sidebar__clinic-menu-list::-webkit-scrollbar { width: 6px; }
.sidebar__clinic-menu-list::-webkit-scrollbar-thumb {
  background: rgba(15,53,87,0.2);
  border-radius: 3px;
}
.sidebar__clinic-menu-more {
  margin: 0.45rem 0.5rem 0;
  padding: 0.3rem 0;
  font-size: 0.72rem;
  text-align: center;
  color: var(--prod-muted);
  border-top: 1px dashed var(--prod-border);
}
/* ===== END PHASE 27 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 28: ACCOUNT & PLAN PAGE
   v20260519-fancy-p28
   New /account route with three panes:
   - Plan & seats (subscription tier + seat usage + BAA status)
   - Audit log (filterable table + CSV export)
   - Security (auto-lock, policies, break-glass, vendor reviews)
   ============================================================ */
.panel--module-account { --module-accent: #455a64; --module-accent-soft: rgba(69,90,100,0.10); }

.account-tabs {
  display: flex;
  gap: 0.4rem;
  border-bottom: 1px solid var(--prod-border);
  margin: 0.6rem 0 1rem;
}
.account-tab {
  padding: 0.5rem 1rem;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--prod-muted);
  cursor: pointer;
}
.account-tab:hover { color: var(--prod-ink); }
.account-tab.is-active { color: var(--module-accent); border-bottom-color: var(--module-accent); }

.account-plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.7rem;
  margin-bottom: 1rem;
}
.account-plan-card {
  padding: 0.9rem 1rem;
  background: linear-gradient(180deg, #fdfefe 0%, #f7fafc 100%);
  border: 1px solid var(--prod-border);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  box-shadow: 0 1px 2px rgba(15,53,87,0.04);
}
.account-plan-card--tier { border-left: 3px solid var(--module-accent); }
.account-plan-card--seats { border-left: 3px solid var(--prod-navy); }
.account-plan-card--baa { border-left: 3px solid #2e7d32; }
.account-plan-card--workspace { border-left: 3px solid #b8860b; }
.account-plan-card__value {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--prod-ink);
  font-variant-numeric: tabular-nums;
}
.account-plan-card__note { margin: 0; font-size: 0.78rem; color: var(--prod-muted); line-height: 1.45; }
.account-plan-card .action-button,
.account-plan-card .ghost-button { margin-top: auto; padding: 0.32rem 0.7rem !important; font-size: 0.8rem !important; }

.account-seat-bar {
  width: 100%;
  height: 8px;
  background: #e8eef4;
  border-radius: 999px;
  overflow: hidden;
}
.account-seat-bar__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--prod-navy), #4d92cc);
  border-radius: 999px;
  transition: width 0.4s ease;
}

.account-seats-card { margin: 0.6rem 0; }
.account-seats-card h3 { margin: 0 0 0.5rem; font-size: 0.95rem; }
.account-user-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.3rem; }
.account-user-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.6rem;
  align-items: center;
  padding: 0.5rem 0.7rem;
  background: #fff;
  border: 1px solid var(--prod-border);
  border-radius: 8px;
}
.account-user-avatar {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  background: var(--prod-navy);
  color: #fff;
  font-weight: 700;
  border-radius: 50%;
  font-size: 0.85rem;
}
.account-user-info strong { font-size: 0.88rem; color: var(--prod-ink); }
.account-user-info .item__meta { margin: 0.18rem 0 0; }
.account-user-badge {
  padding: 0.12rem 0.5rem;
  font-size: 0.66rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: #e6f5e6;
  color: #1b5e20;
  border-radius: 999px;
}

/* Audit pane */
.account-audit-filters {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  margin-bottom: 0.6rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--prod-border);
}
.account-audit-filters input,
.account-audit-filters select {
  padding: 0.36rem 0.55rem;
  border: 1px solid var(--prod-border);
  border-radius: 6px;
  font-size: 0.84rem;
}
.account-audit-filters input { flex: 1; min-width: 180px; }
.account-audit-meta { font-size: 0.78rem; color: var(--prod-muted); margin: 0 0 0.4rem; }
.account-audit-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}
.account-audit-table thead th {
  text-align: left;
  padding: 0.42rem 0.55rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prod-muted);
  border-bottom: 1px solid var(--prod-border);
}
.account-audit-row td {
  padding: 0.4rem 0.55rem;
  border-bottom: 1px solid rgba(15, 53, 87, 0.05);
  vertical-align: top;
}
.account-audit-row:hover { background: rgba(15, 53, 87, 0.03); }
.account-audit-cell-when {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 0.76rem;
  color: var(--prod-muted);
  white-space: nowrap;
}
.account-audit-action-pill {
  display: inline-block;
  padding: 0.12rem 0.5rem;
  font-size: 0.66rem;
  font-weight: 700;
  background: rgba(15, 53, 87, 0.08);
  border-radius: 999px;
  color: var(--prod-ink);
  white-space: nowrap;
}
.account-audit-eid {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 0.72rem;
  color: var(--prod-muted);
}
.account-audit-cell-detail {
  max-width: 32rem;
  color: var(--prod-ink);
}
.account-audit-more {
  margin: 0.5rem 0 0;
  font-size: 0.74rem;
  color: var(--prod-muted);
  text-align: center;
}

/* Security pane grid */
.account-security-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.6rem;
}
.account-security-card {
  padding: 0.7rem 0.85rem;
  background: linear-gradient(180deg, #fdfefe 0%, #f7fafc 100%);
  border: 1px solid var(--prod-border);
  border-radius: 8px;
}
.account-security-card strong {
  display: block;
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--prod-ink);
  margin: 0.18rem 0 0.18rem;
  font-variant-numeric: tabular-nums;
}
.account-security-card .item__meta { margin: 0; }
/* ===== END PHASE 28 ===== */

/* ============================================================
   PREMIUM REFINEMENT — PHASE 30: TWO-ROW TOPBAR
   v20260519-fancy-p30
   Owner Tools moved out of the sidebar into a dedicated second row of
   the topbar — centered, full-width, spaced out and aesthetic.
   Row 1: left zone (workspace + clinic + search) | right zone (identity + icons)
   Row 2: 5 Owner Tools buttons centered, with breathing room
   ============================================================ */

/* The actions zone lives on row 2 and gets the full topbar width */
.topbar--p13 > .topbar__center-zone {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  overflow: visible !important;
  padding: 0.15rem 0 0.05rem !important;
  border-top: 1px solid rgba(15, 53, 87, 0.06) !important;
}
.topbar__center-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.9rem !important;
  width: 100% !important;
}
.topbar__action-group {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.7rem 0.9rem !important;
  width: 100% !important;
}

/* Premium pill — larger touch target, more breathing room, subtle lift */
.topbar__fancy-btn {
  padding: 0.42rem 0.95rem 0.42rem 0.78rem !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.012em !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 2px rgba(15, 53, 87, 0.05) !important;
  white-space: nowrap !important;
  transition: transform 140ms ease, box-shadow 140ms ease !important;
}
.topbar__fancy-btn:hover {
  box-shadow: 0 4px 10px rgba(15, 53, 87, 0.14) !important;
  transform: translateY(-1px);
}
.topbar__fancy-btn:active { transform: translateY(0); }

/* Sub-1100 viewports: slightly tighter spacing, still all 5 pills */
@media (max-width: 1100px) {
  .topbar__fancy-btn {
    padding: 0.36rem 0.78rem 0.36rem 0.62rem !important;
    font-size: 0.76rem !important;
  }
  .topbar__action-group { gap: 0.5rem 0.7rem !important; }
}
/* Below 760 the mobile drawer takes over (rules earlier in file) */
/* ===== END PHASE 30 ===== */

/* ============================================================
   PHASE 31: failsafe topbar visibility
   v20260519-fancy-p31
   - Owner Tools row 2 visible by DEFAULT in HTML (no JS required)
   - Topbar clinic-switcher dropdown ("Demo Health") removed
   - Clinic role still hides operator-only buttons via body class
   ============================================================ */
body[data-role="clinic"] #topbar-operator-btns,
body[data-role="clinic"] #topbar-center-actions {
  display: none !important;
}
/* Hard hide the topbar clinic switcher even if rules later try to show it */
#topbar-clinic-switcher { display: none !important; }
/* ===== END PHASE 31 ===== */

/* ===== PHASE 44: sidebar brand lockup — logo + "AdvanceAPractice Command Suite" name =====
   Must come LAST to win the cascade over all earlier brand-logo max-width overrides.        */
.sidebar__brand-lockup {
  display: flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  padding: 0.18rem 0.25rem 0.18rem 0 !important;
  transition: background 0.15s !important;
}
.sidebar__brand-lockup:hover,
.sidebar__brand-lockup:focus-visible {
  background: rgba(255,255,255,0.07) !important;
  outline: none !important;
}
/* Lock the logo to a compact size so the name fits beside it */
.sidebar__brand-logo {
  max-width: 3rem !important;
  width: auto !important;
  flex-shrink: 0 !important;
  display: block !important;
}
/* Brand name text next to the logo — use currentColor to work on any theme bg */
.sidebar__brand-name {
  font-size: 0.68rem !important;
  line-height: 1.2 !important;
  color: currentColor !important;
  opacity: 0.72 !important;
  white-space: normal !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.sidebar__brand-name strong {
  display: block !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  color: currentColor !important;
  opacity: 1 !important;
  letter-spacing: -0.01em !important;
}
/* ===== END PHASE 44 ===== */

/* ============================================================
   PHASE 45: Task contrast fixes, Workflow page, Splash polish
   ============================================================ */

/* --- Task/Project contrast improvements --- */
/* Status pills — WCAG AA on their backgrounds */
.task-status-pill--backlog         { background: #e8edf2; color: #2d3f52; }
.task-status-pill--ready           { background: #daeaf8; color: #0b3460; }
.task-status-pill--in_progress     { background: #fff0d0; color: #6b3d00; }
.task-status-pill--waiting_on_client { background: #e8f0fe; color: #1a3a8f; }
.task-status-pill--waiting_on_vendor { background: #fde8e8; color: #7a1010; }
.task-status-pill--blocked         { background: #ffe4e1; color: #7f1d1d; }
.task-status-pill--completed       { background: #d4edda; color: #155724; }

/* Priority pills — stronger contrast */
.task-priority-pill--critical { background: #fde8e8; color: #7a1010; font-weight: 700; }
.task-priority-pill--high     { background: #fff0d0; color: #6b3d00; font-weight: 600; }
.task-priority-pill--medium   { background: #e8edf2; color: #2d3f52; }
.task-priority-pill--low      { background: #d4edda; color: #155724; }

/* Task list rows — improve scannability */
.tasks-list-row td { padding: 0.5rem 0.6rem; vertical-align: middle; }
.tasks-list-row:hover td { background: rgba(15,53,87,0.04); }
.tasks-list-row td strong { font-size: 0.87rem; color: #0d2a44; }

/* Production-ready Tasks + top menu refinement */
body .topbar.topbar--p13 > .topbar__menus > .command-menu:nth-child(1) { order: 1 !important; }
body .topbar.topbar--p13 > .topbar__menus > .command-menu:nth-child(2) { order: 2 !important; }
body .topbar.topbar--p13 > .topbar__menus > .command-menu:nth-child(3) { order: 3 !important; }
body .topbar.topbar--p13 > .topbar__menus > .command-menu:nth-child(4) { order: 4 !important; }
body .topbar.topbar--p13 > .topbar__menus > .command-menu:nth-child(5) { order: 5 !important; }
.topbar__menus > .command-menu:nth-child(2) .command-menu__section:not(.create-menu-production),
.topbar__menus > .command-menu:nth-child(3) .command-menu__section:not(.tools-menu-production),
.topbar__menus > .command-menu:nth-child(4) .command-menu__section:not(.settings-menu-production) {
  display: none !important;
}
.topbar__menus .command-menu button.page-hidden {
  display: block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.tasks-today-shell {
  display: grid;
  gap: 0.9rem;
}
.tasks-today-metrics,
.tasks-workload-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.65rem;
}
.tasks-today-metric,
.tasks-workload-owner {
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  background: #fff;
  padding: 0.75rem;
  min-width: 0;
}
.tasks-today-metric strong,
.tasks-workload-owner strong {
  display: block;
  color: var(--prod-ink);
  font-size: 1.15rem;
  line-height: 1.2;
}
.tasks-today-metric span,
.tasks-workload-owner span,
.tasks-today-card__meta,
.tasks-project-card__meta {
  color: var(--prod-muted);
  font-size: 0.76rem;
}
.tasks-today-buckets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0.75rem;
}
.tasks-today-bucket {
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  background: #f8fafc;
  padding: 0.7rem;
  min-width: 0;
}
.tasks-today-bucket__head {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}
.tasks-today-card,
.tasks-project-card {
  display: grid;
  gap: 0.35rem;
  width: 100%;
  border: 1px solid var(--prod-border);
  border-radius: 8px;
  background: #fff;
  padding: 0.65rem;
  text-align: left;
  color: var(--prod-ink);
  cursor: pointer;
}
.tasks-today-card + .tasks-today-card { margin-top: 0.45rem; }
.tasks-today-card:hover,
.tasks-project-card:hover {
  border-color: rgba(88, 80, 236, 0.45);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}
.tasks-today-card__top,
.tasks-project-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.tasks-today-card__title,
.tasks-project-card__title {
  font-weight: 750;
  color: var(--prod-ink);
  overflow-wrap: anywhere;
}
.tasks-projects-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 0.75rem;
}
.task-detail-drawer__section {
  border-top: 1px solid var(--prod-border);
  margin-top: 0.75rem;
  padding-top: 0.75rem;
}
.task-detail-drawer__section h4 { margin: 0 0 0.45rem; }
.task-detail-drawer__list {
  margin: 0;
  padding-left: 1rem;
  color: var(--prod-ink);
}
@media (max-width: 760px) {
  .tasks-today-buckets,
  .tasks-projects-grid,
  .tasks-workload-strip {
    grid-template-columns: 1fr;
  }
  .tasks-page-actions {
    align-items: stretch;
  }
  .tasks-page-actions__hint {
    width: 100%;
  }
}

/* Project header — bolder hierarchy */
.project-header-row td { background: #f0f5fb; font-weight: 700; font-size: 0.82rem; color: #0b3460; border-top: 2px solid #c5d8ef; padding: 0.5rem 0.6rem; }

/* Task view toggle buttons — clear active state */
.tasks-view-btn { color: #4a6580; font-weight: 600; border-radius: 5px; padding: 0.3rem 0.75rem; }
.tasks-view-btn.is-active { background: #0040D0; color: #fff; box-shadow: 0 1px 4px rgba(0,64,208,0.25); }
.tasks-view-btn:hover:not(.is-active) { background: rgba(0,64,208,0.08); color: #0040D0; }

/* Task overdue — more visible */
.task-due-overdue { color: #b91c1c; font-weight: 700; }

/* Kanban column headers */
.kanban-col__header { background: #e8edf2; color: #0d2a44; font-weight: 700; font-size: 0.8rem; padding: 0.45rem 0.75rem; border-radius: 6px 6px 0 0; border-bottom: 2px solid #c5d8ef; }

/* --- Workflow page styles --- */
/* Stats strip */
.wf-stats-strip { display: flex; gap: 1rem; margin: 1rem 0 1.5rem; flex-wrap: wrap; }
.wf-stat-tile { flex: 1; min-width: 120px; padding: 0.9rem 1.1rem; border-radius: 10px; border: 1px solid rgba(15,53,87,0.1); background: #fff; display: flex; flex-direction: column; gap: 0.25rem; }
.wf-stat-tile__val { font-size: 1.7rem; font-weight: 800; line-height: 1; color: #0d2a44; }
.wf-stat-tile__label { font-size: 0.72rem; color: #4a6580; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }
.wf-stat-tile--active { border-left: 4px solid #0040D0; }
.wf-stat-tile--draft  { border-left: 4px solid #9ca3af; }
.wf-stat-tile--ran    { border-left: 4px solid #059669; }
.wf-stat-tile--error  { border-left: 4px solid #dc2626; }

/* Workflow list toolbar */
.wf-list-toolbar { display: flex; gap: 0.6rem; margin-bottom: 1rem; flex-wrap: wrap; align-items: center; }
.wf-list-section { margin-bottom: 2rem; }

/* Workflow cards */
.wf-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1rem; }
.wf-card { background: #fff; border: 1px solid rgba(15,53,87,0.1); border-radius: 10px; padding: 1rem 1.1rem; transition: box-shadow 0.15s; }
.wf-card:hover { box-shadow: 0 4px 16px rgba(15,53,87,0.10); }
.wf-card__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0.55rem; }
.wf-card__meta { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.wf-card__controls { display: flex; gap: 0.4rem; flex-shrink: 0; }
.wf-card__name { font-size: 0.96rem; font-weight: 700; color: #0d2a44; margin: 0 0 0.3rem; }
.wf-card__desc { font-size: 0.80rem; color: #4a6580; margin: 0 0 0.65rem; line-height: 1.45; }
.wf-card__stats { display: flex; gap: 0.75rem; font-size: 0.75rem; color: #4a6580; flex-wrap: wrap; }
.wf-card__stats strong { color: #0d2a44; }
.wf-card__err { color: #b91c1c; font-weight: 600; }

/* Workflow status badges */
.wf-badge { display: inline-block; padding: 0.18rem 0.55rem; border-radius: 20px; font-size: 0.70rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.wf-badge--active { background: #d1fae5; color: #065f46; }
.wf-badge--draft  { background: #f3f4f6; color: #374151; }
.wf-badge--paused { background: #fef3c7; color: #92400e; }
.wf-badge--error  { background: #fee2e2; color: #991b1b; }

/* Workflow type tags */
.wf-type-tag { display: inline-block; padding: 0.15rem 0.45rem; border-radius: 4px; font-size: 0.68rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
.wf-type-tag--rcm           { background: #dbeafe; color: #1e40af; }
.wf-type-tag--credentialing { background: #ede9fe; color: #5b21b6; }
.wf-type-tag--messaging     { background: #d1fae5; color: #065f46; }
.wf-type-tag--tasks         { background: #fff0d0; color: #6b3d00; }
.wf-type-tag--compliance    { background: #fde8e8; color: #7a1010; }

/* Workflow builder drawer */
.wf-builder { margin-top: 2rem; background: #f8fafd; border: 1px solid rgba(15,53,87,0.12); border-radius: 12px; padding: 1.5rem; }
.wf-builder__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; }
.wf-builder__header h3 { margin: 0; font-size: 1rem; color: #0d2a44; }
.wf-builder__close { background: none; border: none; cursor: pointer; font-size: 1.1rem; color: #6b7280; padding: 0.2rem 0.5rem; border-radius: 4px; }
.wf-builder__close:hover { background: rgba(0,0,0,0.06); }
.wf-builder__form { display: flex; flex-direction: column; gap: 0; }
.wf-builder__section { border-bottom: 1px solid rgba(15,53,87,0.08); padding-bottom: 1rem; margin-bottom: 1rem; display: flex; flex-direction: column; gap: 0.6rem; }
.wf-builder__section-title { font-size: 0.82rem; font-weight: 700; color: #0d2a44; margin: 0 0 0.4rem; text-transform: uppercase; letter-spacing: 0.04em; }
.wf-builder__optional { font-weight: 400; color: #6b7280; text-transform: none; letter-spacing: 0; }
.wf-builder__label { display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.82rem; font-weight: 600; color: #374151; }
.wf-builder__label input,
.wf-builder__label select,
.wf-builder__label textarea { margin-top: 0.2rem; font-size: 0.85rem; padding: 0.45rem 0.6rem; border: 1px solid rgba(15,53,87,0.18); border-radius: 6px; background: #fff; color: #0d2a44; }
.wf-builder__label textarea { resize: vertical; }
.wf-condition-row { display: flex; gap: 0.5rem; align-items: center; margin-bottom: 0.4rem; flex-wrap: wrap; }
.wf-builder__footer { display: flex; justify-content: space-between; align-items: center; padding-top: 0.5rem; flex-wrap: wrap; gap: 0.75rem; }
.wf-builder__toggle-row { display: flex; align-items: center; gap: 0.5rem; font-size: 0.83rem; color: #374151; cursor: pointer; }
.wf-builder__footer-btns { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.wf-builder__footer-btns .wf-builder__delete:not(.hidden) { margin-right: auto; }

/* ===== END PHASE 45 ===== */

/* ===== PHASE 46: Production Polish — Premium Tiles + Empty States + Skeletons + Mobile ===== */

/* ─── Premium Dashboard Tiles ─────────────────────────────────────────────── */
.premium-tiles-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 0.9rem !important;
  padding: 0.9rem 0 0.5rem !important;
}

.premium-tile {
  background: #fff !important;
  border: 1.5px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 1rem 1.1rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
  transition: box-shadow 0.15s ease !important;
}
.premium-tile:hover { box-shadow: 0 3px 12px rgba(0,64,208,0.10) !important; }

.premium-tile--success { border-left: 4px solid #16a34a !important; }
.premium-tile--warning { border-left: 4px solid #d97706 !important; }
.premium-tile--danger  { border-left: 4px solid #dc2626 !important; }
.premium-tile--neutral { border-left: 4px solid #9ca3af !important; }

.premium-tile__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
}

.premium-tile__eyebrow {
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #6b7280 !important;
}

.premium-tile__value {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #111827 !important;
  line-height: 1 !important;
}

.premium-tile__bar-track {
  height: 6px !important;
  background: #f3f4f6 !important;
  border-radius: 99px !important;
  overflow: hidden !important;
}
.premium-tile__bar {
  height: 100% !important;
  border-radius: 99px !important;
  background: #0040D0 !important;
  transition: width 0.4s ease !important;
}
.premium-tile--success .premium-tile__bar { background: #16a34a !important; }
.premium-tile--warning .premium-tile__bar { background: #d97706 !important; }
.premium-tile--danger  .premium-tile__bar { background: #dc2626 !important; }

.premium-tile__sub {
  font-size: 0.78rem !important;
  color: #6b7280 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

.premium-tile__action {
  align-self: flex-start !important;
  font-size: 0.75rem !important;
  padding: 0.2rem 0 !important;
  color: #0040D0 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: none !important;
  background: none !important;
  cursor: pointer !important;
}
.premium-tile__action:hover { text-decoration: underline !important; }

/* ─── Skeleton Loaders ────────────────────────────────────────────────────── */
@keyframes aap-shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}

.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%) !important;
  background-size: 800px 100% !important;
  animation: aap-shimmer 1.4s infinite linear !important;
  border-radius: 6px !important;
  display: block !important;
}
.skeleton--text  { height: 0.85rem; margin-bottom: 0.5rem; }
.skeleton--title { height: 1.2rem; width: 55%; margin-bottom: 0.75rem; }
.skeleton--card  { height: 80px; border-radius: 8px; margin-bottom: 0.75rem; }
.skeleton--stat  { height: 60px; border-radius: 8px; }

/* ─── Empty States ────────────────────────────────────────────────────────── */
.empty-state {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3rem 1.5rem !important;
  text-align: center !important;
  color: #6b7280 !important;
  gap: 0.75rem !important;
}
.empty-state__icon {
  font-size: 2.5rem !important;
  opacity: 0.5 !important;
  line-height: 1 !important;
}
.empty-state__title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #374151 !important;
  margin: 0 !important;
}
.empty-state__sub {
  font-size: 0.84rem !important;
  max-width: 320px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
.empty-state__action {
  margin-top: 0.25rem !important;
}

/* ─── Error States ────────────────────────────────────────────────────────── */
.error-state {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 1rem 1.2rem !important;
  background: #fef2f2 !important;
  border: 1px solid #fca5a5 !important;
  border-radius: 8px !important;
  gap: 0.4rem !important;
  margin: 0.75rem 0 !important;
}
.error-state__title { font-weight: 600; color: #991b1b; font-size: 0.88rem; }
.error-state__msg   { font-size: 0.82rem; color: #7f1d1d; }

/* ─── Toast Notifications ─────────────────────────────────────────────────── */
.aap-toast-container {
  position: fixed !important;
  bottom: 1.5rem !important;
  right: 1.5rem !important;
  z-index: 9990 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  pointer-events: none !important;
}
.aap-toast {
  padding: 0.65rem 1rem !important;
  border-radius: 8px !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  color: #fff !important;
  background: #1f2937 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18) !important;
  pointer-events: auto !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  animation: aap-toast-in 0.2s ease forwards !important;
}
.aap-toast--success { background: #16a34a !important; }
.aap-toast--error   { background: #dc2626 !important; }
.aap-toast--warning { background: #d97706 !important; }
@keyframes aap-toast-in {
  to { opacity: 1; transform: translateY(0); }
}

/* ─── UI Consistency: Table + List defaults ───────────────────────────────── */
.item { padding: 0.85rem 0 !important; border-bottom: 1px solid #f3f4f6 !important; }
.item:last-child { border-bottom: none !important; }
.item__row { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 0.75rem !important; margin-bottom: 0.25rem !important; }
.item__actions { display: flex !important; gap: 0.5rem !important; flex-wrap: wrap !important; margin-top: 0.5rem !important; }
.item__meta { font-size: 0.8rem !important; color: #6b7280 !important; margin: 0.15rem 0 0 !important; }

/* ─── Report action buttons strip ────────────────────────────────────────── */
[data-report-download], [data-report-print] {
  font-size: 0.78rem !important;
  padding: 0.25rem 0.6rem !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 5px !important;
  background: #f9fafb !important;
  color: #374151 !important;
  cursor: pointer !important;
  transition: background 0.12s !important;
}
[data-report-download]:hover { background: #e0f2fe !important; color: #0040D0 !important; }
[data-report-print]:hover    { background: #f0fdf4 !important; color: #16a34a !important; }

/* ─── Workflow card delete button ─────────────────────────────────────────── */
.wf-delete-btn {
  color: #dc2626 !important;
  font-size: 0.78rem !important;
  opacity: 0.7 !important;
  transition: opacity 0.12s !important;
}
.wf-delete-btn:hover { opacity: 1 !important; }

/* ─── Mobile Responsive (<768px) ─────────────────────────────────────────── */
@media (max-width: 767px) {
  /* Sidebar collapses */
  .sidebar { width: 0 !important; overflow: hidden !important; position: fixed !important; z-index: 500 !important; }
  .sidebar.sidebar--open { width: 220px !important; }
  .main-content, .clinic-shell { margin-left: 0 !important; }

  /* Topbar pill row wraps gracefully */
  .topbar__center-zone { flex-wrap: wrap !important; gap: 0.4rem !important; }
  .topbar__center-zone .action-pill { font-size: 0.72rem !important; padding: 0.3rem 0.65rem !important; }

  /* Premium tiles stack */
  .premium-tiles-row { grid-template-columns: 1fr !important; }

  /* Stat rows stack */
  .dayboard-stat-row { flex-direction: column !important; gap: 0.5rem !important; }
  .dayboard-stat { min-width: unset !important; width: 100% !important; }

  /* Workflow cards stack */
  .wf-grid { grid-template-columns: 1fr !important; }

  /* Table overflow */
  .ehr-table-wrapper, [class*="table-wrapper"] { overflow-x: auto !important; }
}

/* ─── Tablet Responsive (768px–1023px) ───────────────────────────────────── */
@media (min-width: 768px) and (max-width: 1023px) {
  .premium-tiles-row { grid-template-columns: repeat(2, 1fr) !important; }
  .wf-grid { grid-template-columns: 1fr !important; }
  .sidebar { width: 180px !important; }
  .topbar__center-zone .action-pill { font-size: 0.74rem !important; }
}

/* ─── Print styles ─────────────────────────────────────────────────────────── */
@media print {
  .sidebar, .topbar, .aap-prepaint, .aap-toast-container,
  [data-page]:not([data-page="reporting"]),
  .item__actions, .ghost-button, .action-button { display: none !important; }
  body, .main-content { margin: 0 !important; padding: 0 !important; }
  .premium-tiles-row { break-inside: avoid; }
}

/* ─── Consistent page header pattern ─────────────────────────────────────── */
.page-eyebrow {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #6b7280 !important;
  margin: 0 0 0.2rem !important;
}
.page-title {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #111827 !important;
  margin: 0 0 0.3rem !important;
  line-height: 1.25 !important;
}
.page-subtitle {
  font-size: 0.84rem !important;
  color: #6b7280 !important;
  margin: 0 0 1rem !important;
  max-width: 620px !important;
  line-height: 1.5 !important;
}

/* ─── Inbox threading stubs ───────────────────────────────────────────────── */
.thread-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.thread-item {
  display: flex !important;
  gap: 0.75rem !important;
  padding: 0.75rem 0.5rem !important;
  border-bottom: 1px solid #f3f4f6 !important;
  cursor: pointer !important;
  border-radius: 6px !important;
  transition: background 0.12s !important;
}
.thread-item:hover { background: #f9fafb !important; }
.thread-item--unread .thread-item__subject { font-weight: 700 !important; }
.thread-item__avatar {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #0040D0 !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}
.thread-item__body { flex: 1 !important; min-width: 0 !important; }
.thread-item__subject { font-size: 0.88rem !important; color: #111827 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.thread-item__preview { font-size: 0.78rem !important; color: #6b7280 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; margin-top: 0.1rem !important; }
.thread-item__meta { font-size: 0.72rem !important; color: #9ca3af !important; white-space: nowrap !important; }
.thread-unread-dot {
  width: 8px !important; height: 8px !important; border-radius: 50% !important;
  background: #0040D0 !important; flex-shrink: 0 !important; margin-top: 0.35rem !important;
}

/* ─── Credentialing timeline ──────────────────────────────────────────────── */
.cred-timeline { display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }
.cred-timeline-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.6rem 0.75rem !important;
  background: #f9fafb !important;
  border-radius: 8px !important;
  border-left: 3px solid #e5e7eb !important;
}
.cred-timeline-item--danger  { border-left-color: #dc2626 !important; background: #fef2f2 !important; }
.cred-timeline-item--warning { border-left-color: #d97706 !important; background: #fffbeb !important; }
.cred-timeline-item--ok      { border-left-color: #16a34a !important; }
.cred-timeline-item__days { font-weight: 700 !important; font-size: 1rem !important; min-width: 40px !important; text-align: center !important; }
.cred-timeline-item--danger .cred-timeline-item__days  { color: #dc2626 !important; }
.cred-timeline-item--warning .cred-timeline-item__days { color: #d97706 !important; }
.cred-timeline-item__info { flex: 1 !important; }
.cred-timeline-item__name  { font-size: 0.88rem !important; font-weight: 600 !important; color: #111827 !important; }
.cred-timeline-item__date  { font-size: 0.76rem !important; color: #6b7280 !important; }

/* ===== END PHASE 46 ===== */

@media (max-width: 900px) {
  #module-messaging .panel__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
  }
  #module-messaging .panel__header > div,
  #module-messaging .panel__header-actions,
  #module-messaging .panel__header-actions .action-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  #module-messaging .panel__header-actions .action-button {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* True Messenger simplification: Slack sidebar + Messenger chat feel */
#module-messaging .panel__ai-strip,
#module-messaging #messaging-summary,
#module-messaging #messaging-command-shell,
#module-messaging .msg-drawer,
#module-messaging #messaging-focus,
#module-messaging .messaging-command-shell {
  display: none !important;
}

#module-messaging.panel {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: #fff !important;
}

#module-messaging .panel__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 58px !important;
  padding: 0.75rem 1rem !important;
  border-bottom: 1px solid #e5e7eb !important;
  background: #ffffff !important;
}

#module-messaging .panel__header .panel__eyebrow {
  display: none !important;
}

#module-messaging .panel__header h2 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

#module-messaging .panel__header h2::before {
  content: "Messenger";
}

#module-messaging .panel__header h2 {
  font-size: 0 !important;
}

#module-messaging .panel__header h2::before {
  font-size: 1.08rem !important;
}

#module-messaging .panel__header .action-button {
  min-height: 36px !important;
  padding: 0.48rem 0.78rem !important;
  border-radius: 999px !important;
  background: #611f69 !important;
  box-shadow: none !important;
}

#module-messaging .msg-shell {
  display: grid !important;
  grid-template-columns: 360px minmax(0, 1fr) !important;
  gap: 0 !important;
  height: min(760px, calc(100vh - 165px)) !important;
  min-height: 560px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

#module-messaging .msg-folders {
  display: none !important;
}

#module-messaging .msg-list {
  max-height: none !important;
  border-right: 1px solid #e5e7eb !important;
  background: #f8fafc !important;
  overflow: hidden !important;
}

.messenger-sidebar-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.9rem 0.95rem 0.55rem;
}

.messenger-sidebar-top strong {
  display: block;
  color: #111827;
  font-size: 1rem;
  line-height: 1.2;
}

.messenger-sidebar-top span {
  display: block;
  margin-top: 0.12rem;
  color: #64748b;
  font-size: 0.78rem;
}

.messenger-new-button,
.messenger-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  cursor: pointer;
}

.messenger-new-button {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #611f69;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 800;
}

#module-messaging .messenger-list-toolbar {
  position: static !important;
  display: block !important;
  padding: 0.35rem 0.85rem 0.55rem !important;
  border: 0 !important;
  background: transparent !important;
}

#module-messaging .messenger-list-toolbar input {
  width: 100% !important;
  height: 38px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #eef2f7 !important;
  color: #111827 !important;
  padding: 0 0.85rem !important;
}

.messenger-filter-row {
  display: flex;
  gap: 0.35rem;
  padding: 0 0.85rem 0.65rem;
}

.messenger-filter-row button {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #64748b;
  padding: 0.28rem 0.62rem;
  font-size: 0.76rem;
  font-weight: 800;
  cursor: pointer;
}

.messenger-filter-row button.is-active {
  background: #e8def8;
  color: #4a154b;
}

.messenger-thread-list {
  height: calc(100% - 132px);
  overflow-y: auto;
  padding: 0.25rem 0.45rem 0.75rem;
}

#module-messaging .msg-thread {
  position: relative;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 0.65rem !important;
  margin: 0.1rem 0 !important;
  padding: 0.62rem 0.65rem !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
}

#module-messaging .msg-thread:hover {
  background: #eef2f7 !important;
}

#module-messaging .msg-thread.is-active {
  background: #e8def8 !important;
}

.messenger-avatar {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #611f69, #1264a3);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0;
}

.messenger-avatar--patient {
  background: linear-gradient(135deg, #0f766e, #14b8a6);
}

.messenger-avatar--large {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
}

#module-messaging .msg-thread__body,
#module-messaging .msg-thread__head,
#module-messaging .msg-thread__snippet {
  display: block !important;
  min-width: 0 !important;
}

#module-messaging .msg-thread__head {
  display: flex !important;
  gap: 0.45rem !important;
}

#module-messaging .msg-thread__subject {
  color: #111827 !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
}

#module-messaging .msg-thread__snippet {
  margin-top: 0.14rem !important;
  color: #64748b !important;
  font-size: 0.78rem !important;
  line-height: 1.25 !important;
}

.messenger-unread-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #1264a3;
}

#module-messaging .msg-conversation {
  display: flex !important;
  min-height: 0 !important;
  background: #ffffff !important;
}

.messenger-main-grid--simple {
  display: block !important;
  height: 100% !important;
  min-height: 0 !important;
}

#module-messaging .messenger-stream {
  height: 100% !important;
}

#module-messaging .msg-conv-head {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  min-height: 66px !important;
  padding: 0.72rem 1rem !important;
  border-bottom: 1px solid #e5e7eb !important;
  background: #fff !important;
}

#module-messaging .msg-conv-head h3 {
  color: #111827 !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
}

#module-messaging .msg-conv-head .item__meta {
  margin: 0.1rem 0 0 !important;
  color: #64748b !important;
  font-size: 0.78rem !important;
}

#module-messaging .msg-conv-head__actions {
  margin-left: auto !important;
}

.messenger-pill-button {
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: #4a154b;
  padding: 0.35rem 0.7rem;
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
}

#module-messaging .messenger-presence-row {
  padding: 0.45rem 1rem !important;
  border-bottom: 0 !important;
  background: #fff !important;
  color: #64748b !important;
}

#module-messaging .msg-conv-entries {
  flex: 1 !important;
  max-height: none !important;
  min-height: 0 !important;
  padding: 1rem 1.1rem !important;
  gap: 0.65rem !important;
  background: #ffffff !important;
}

#module-messaging .msg-entry {
  width: fit-content !important;
  max-width: min(68%, 720px) !important;
  border: 0 !important;
  border-radius: 18px !important;
  padding: 0.58rem 0.78rem !important;
  background: #f1f5f9 !important;
  box-shadow: none !important;
}

#module-messaging .msg-entry--internal,
#module-messaging .msg-entry--staff,
#module-messaging .msg-entry--staff_outbound,
#module-messaging .msg-entry--provider_outbound {
  align-self: flex-end !important;
  background: #611f69 !important;
  color: #fff !important;
}

#module-messaging .msg-entry--internal .msg-entry__head strong,
#module-messaging .msg-entry--internal .msg-entry__when,
#module-messaging .msg-entry--internal .msg-entry__body,
#module-messaging .msg-entry--staff .msg-entry__head strong,
#module-messaging .msg-entry--staff .msg-entry__when,
#module-messaging .msg-entry--staff .msg-entry__body,
#module-messaging .msg-entry--staff_outbound .msg-entry__head strong,
#module-messaging .msg-entry--staff_outbound .msg-entry__when,
#module-messaging .msg-entry--staff_outbound .msg-entry__body {
  color: #fff !important;
}

#module-messaging .msg-entry__head {
  margin-bottom: 0.16rem !important;
}

#module-messaging .msg-entry__head strong {
  color: #111827 !important;
  font-size: 0.72rem !important;
}

#module-messaging .msg-entry__when {
  color: #64748b !important;
}

#module-messaging .msg-entry__body {
  color: #111827 !important;
  font-size: 0.88rem !important;
}

#module-messaging .msg-conv-reply {
  align-items: flex-end !important;
  gap: 0.55rem !important;
  padding: 0.75rem 1rem 1rem !important;
  border-top: 1px solid #e5e7eb !important;
  background: #fff !important;
}

#module-messaging .msg-conv-reply textarea {
  min-height: 44px !important;
  max-height: 140px !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: #eef2f7 !important;
  padding: 0.72rem 0.9rem !important;
  resize: none !important;
}

#module-messaging .msg-conv-reply .action-button {
  min-width: 70px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: #611f69 !important;
}

.messenger-empty-chat,
.messenger-empty-list {
  display: grid;
  place-content: center;
  gap: 0.35rem;
  height: 100%;
  color: #64748b;
  text-align: center;
}

.messenger-empty-chat strong,
.messenger-empty-list strong {
  color: #111827;
  font-size: 1rem;
}

.messenger-empty-chat--small {
  min-height: 260px;
}

.messenger-compose-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(15, 23, 42, 0.34);
}

.messenger-compose-panel {
  position: fixed !important;
  z-index: 9999 !important;
  top: 50% !important;
  left: 50% !important;
  width: min(520px, calc(100vw - 32px)) !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28) !important;
}

.messenger-compose-form {
  padding: 1rem !important;
}

/* Production polish: remove oversized blank command areas and make first viewports useful. */
body[data-current-page="dashboard"] .portfolio-command-panel__body--dense {
  grid-template-columns: minmax(18rem, 1fr) minmax(16rem, 0.8fr) minmax(18rem, 0.9fr) !important;
  align-items: stretch;
}

.portfolio-command-worklist {
  display: grid;
  align-content: start;
  gap: 0.4rem;
  padding: 0.56rem;
  border: 1px solid #c8d9ea;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.86);
}

.portfolio-command-workitem {
  display: grid;
  gap: 0.16rem;
  width: 100%;
  padding: 0.5rem 0.56rem;
  border: 1px solid #d2e0ee;
  border-radius: 8px;
  background: #f8fbff;
  color: #102c47;
  text-align: left;
  cursor: pointer;
}

.portfolio-command-workitem:hover {
  border-color: #1e7bbd;
  box-shadow: 0 10px 24px rgba(22, 86, 145, 0.1);
}

.portfolio-command-workitem strong {
  font-size: 0.78rem;
  line-height: 1.18;
}

.portfolio-command-workitem span {
  color: #526b83;
  font-size: 0.66rem;
  line-height: 1.28;
}

.report-command-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 0.7rem;
}

.report-command-card {
  display: grid;
  gap: 0.18rem;
  min-height: 5.9rem;
  padding: 0.65rem;
  border: 1px solid #c4d5e6;
  border-radius: 10px;
  background: linear-gradient(180deg, #fff, #f7fbff);
  color: #0f2d49;
  text-align: left;
  cursor: pointer;
}

.report-command-card span {
  color: #687d91;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.report-command-card strong {
  font-size: 0.86rem;
  line-height: 1.18;
}

.report-command-card em,
.report-command-card b {
  color: #526b83;
  font-size: 0.68rem;
  font-style: normal;
  line-height: 1.25;
}

#module-messaging .messenger-main-grid--simple {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 260px !important;
  height: 100% !important;
}

.messenger-context--compact {
  display: grid;
  align-content: start;
  gap: 0.7rem;
  min-width: 0;
  padding: 1rem;
  border-left: 1px solid #e5e7eb;
  background: #f8fafc;
}

.messenger-context--compact h4 {
  margin: 0;
  color: #111827;
  font-size: 0.95rem;
}

.messenger-context--compact p {
  margin: 0;
  color: #64748b;
  font-size: 0.76rem;
  line-height: 1.35;
}

.messenger-context__section,
.messenger-context__actions {
  display: grid;
  gap: 0.35rem;
}

.messenger-context__section strong {
  color: #111827;
  font-size: 0.76rem;
}

.messenger-context__section span {
  display: block;
  color: #64748b;
  font-size: 0.72rem;
}

.messenger-empty-chat--channel {
  min-height: 320px;
  max-width: 32rem;
  margin: 0 auto;
  padding: 1.5rem;
}

.messenger-empty-chat--channel .messenger-avatar {
  margin: 0 auto 0.2rem;
}

.messenger-empty-chat__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 0.45rem;
}

@media (max-width: 1100px) {
  body[data-current-page="dashboard"] .portfolio-command-panel__body--dense,
  .report-command-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #module-messaging .messenger-main-grid--simple {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .messenger-context--compact {
    display: none;
  }
}

@media (max-width: 760px) {
  .app-frame .sidebar {
    visibility: hidden;
    pointer-events: none;
  }

  body[data-sidebar-open="1"] .app-frame .sidebar,
  body.sidebar-open .app-frame .sidebar {
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }

  body[data-current-page="dashboard"] .portfolio-command-panel__body--dense,
  .report-command-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-current-page="claims"].client-facing-hub .premium-command-header,
  body[data-current-page="claims"].client-facing-hub .premium-metric-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.55rem !important;
  }

  body[data-current-page="claims"].client-facing-hub .premium-command-header > *,
  body[data-current-page="claims"].client-facing-hub .premium-metric-row > * {
    min-width: 0 !important;
  }

  #module-messaging .msg-shell {
    grid-template-columns: 1fr !important;
    height: calc(100vh - 120px) !important;
    min-height: 520px !important;
  }

  #module-messaging .msg-list {
    max-height: 220px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
  }
}

.messenger-compose-form__head span {
  display: block;
  margin-top: 0.12rem;
  color: #64748b;
  font-size: 0.78rem;
}

.messenger-icon-button {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #eef2f7;
  color: #111827;
}

.messenger-compose-types {
  justify-content: flex-start !important;
}

.messenger-compose-types button {
  border: 0 !important;
  border-radius: 999px !important;
  background: #eef2f7 !important;
}

.messenger-compose-types button.is-active {
  background: #e8def8 !important;
  color: #4a154b !important;
}

@media (max-width: 900px) {
  #module-messaging .msg-shell {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 0 !important;
  }
  #module-messaging .msg-list {
    height: 42vh !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
  }
  #module-messaging .msg-conversation {
    min-height: 58vh !important;
  }
  #module-messaging .msg-entry {
    max-width: 86% !important;
  }
}

/* Operations-only refinement: operator command center and clinic Messenger */
.operator-today-command,
.operator-messenger-embed {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.35fr);
  gap: 0.8rem;
  align-items: stretch;
}

.operator-today-command__main {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.operator-today-card,
.operator-messenger-embed {
  border: 1px solid rgba(15, 75, 92, 0.14);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,252,253,0.96));
  border-radius: 8px;
  padding: 0.85rem;
  box-shadow: 0 12px 30px rgba(18, 38, 63, 0.08);
}

.operator-today-card--priority { border-top: 3px solid #0f7c86; }
.operator-today-card--messenger { border-top: 3px solid #6a1b9a; }

.operator-today-row {
  width: 100%;
  display: grid;
  gap: 0.2rem;
  text-align: left;
  border: 1px solid rgba(15, 75, 92, 0.12);
  background: #fff;
  border-radius: 8px;
  padding: 0.62rem 0.7rem;
  margin-top: 0.5rem;
  color: var(--text-primary, #122033);
}

.operator-today-row:hover,
.operator-today-row:focus-visible {
  border-color: #0f7c86;
  box-shadow: 0 0 0 3px rgba(15,124,134,0.12);
}

.operator-today-row span,
.operator-today-row em {
  font-size: 0.78rem;
  color: var(--text-muted, #64748b);
  font-style: normal;
}

.operator-messenger-embed__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
}

.operator-messenger-embed__list {
  display: grid;
  gap: 0.45rem;
}

body[data-current-page="operator-console"] .operator-subtabs {
  overflow-x: auto;
  scrollbar-width: thin;
}

body[data-current-page="operator-console"] .operator-subtab {
  white-space: nowrap;
}

body[data-current-page="operator-console"] .operator-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

body[data-current-page="operator-console"] #premium-owner-briefing {
  display: none !important;
}

body[data-current-page="operator-console"] #module-operator-console > .panel__header {
  display: none;
}

body[data-current-page="operator-console"] .operator-workspace--today .operator-workspace__body,
body[data-current-page="operator-console"] .operator-workspace--today .operator-workspace__main {
  grid-template-columns: minmax(0, 1fr);
}

body[data-current-page="operator-console"] .operator-workspace--today .operator-workspace__main > .operator-pane:first-child,
body[data-current-page="operator-console"] .operator-workspace--today .operator-inspector {
  display: none;
}

body[data-current-page="operator-console"] .operator-workspace--today .operator-pane__header {
  display: none;
}

body[data-current-page="operator-console"] .operator-workspace--today .operator-workspace__body {
  margin-top: 0.6rem;
  order: 3;
}

body[data-current-page="operator-console"] .operator-workspace--today #operator-quick-actions {
  order: 4;
}

body[data-current-page="operator-console"] #module-operator-console .operator-filterbar[hidden],
body[data-current-page="operator-console"] #operator-console-kpis[hidden] {
  display: none !important;
}

@media (max-width: 760px) {
  body[data-current-page="operator-console"] {
    overflow-x: hidden;
  }

  body[data-current-page="operator-console"] .topbar,
  body[data-current-page="operator-console"] .topbar__command-core,
  body[data-current-page="operator-console"] .topbar__menus,
  body[data-current-page="operator-console"] .main-shell,
  body[data-current-page="operator-console"] .main-content,
  body[data-current-page="operator-console"] #module-operator-console {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  body[data-current-page="operator-console"] .topbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-current-page="operator-console"] .topbar__menus {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.35rem;
    overflow: visible;
  }

  body[data-current-page="operator-console"] .command-menu {
    width: 100%;
    min-width: 0;
  }

  body[data-current-page="operator-console"] .command-menu summary {
    justify-content: center;
    padding: 0.45rem 0.5rem;
    font-size: 0.72rem;
  }

  body[data-current-page="operator-console"] #topbar-operator-btns,
  body[data-current-page="operator-console"] .topbar__fancy-btn,
  body[data-current-page="operator-console"] .operator-workspace__header .summary-text {
    display: none !important;
  }

  .command-menu__panel {
    left: 0.75rem !important;
    right: 0.75rem !important;
    width: auto !important;
    max-width: calc(100vw - 1.5rem) !important;
  }

  body[data-current-page="operator-console"] #module-operator-console { overflow: hidden; }
  body[data-current-page="operator-console"] .operator-workspace {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0.75rem !important;
    overflow: hidden;
    box-sizing: border-box;
  }

  body[data-current-page="operator-console"] .operator-workspace__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.6rem;
  }

  body[data-current-page="operator-console"] .operator-workspace__meta {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  body[data-current-page="operator-console"] .operator-meta-pill {
    max-width: 100%;
    white-space: normal;
  }

  body[data-current-page="operator-console"] .operator-workspace__header,
  body[data-current-page="operator-console"] .operator-workspace__body,
  .operator-today-command,
  .operator-today-command__main,
  .operator-messenger-embed {
    grid-template-columns: 1fr !important;
  }

  body[data-current-page="operator-console"] .operator-filterbar,
  body[data-current-page="operator-console"] .operator-kpi-strip,
  body[data-current-page="operator-console"] .operator-portfolio-strip {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-width: 0;
  }

  body[data-current-page="operator-console"] .operator-filterbar label,
  body[data-current-page="operator-console"] .operator-filterbar input,
  body[data-current-page="operator-console"] .operator-filterbar select,
  body[data-current-page="operator-console"] .operator-kpi,
  body[data-current-page="operator-console"] .operator-table-shell,
  body[data-current-page="operator-console"] .operator-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-current-page="operator-console"] .operator-subtabs {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 0.35rem;
    padding-bottom: 0.25rem;
  }

  body[data-current-page="operator-console"] .operator-subtab {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 7rem;
  }

  body[data-current-page="operator-console"] .operator-quick-actions .ghost-button {
    flex: 1 1 10rem;
  }
}

body[data-current-page="operator-console"] #module-operator-console > .panel__header {
  display: none !important;
}

@media (max-width: 760px) {
  body .command-menu:not([open]) .command-menu__panel {
    display: none !important;
  }

  body .command-menu[open] .command-menu__panel {
    position: fixed !important;
    top: 5.5rem !important;
    left: 0.75rem !important;
    right: 0.75rem !important;
    width: auto !important;
    max-width: calc(100vw - 1.5rem) !important;
    transform: none !important;
  }
}

/* Final operator live-view correction: use the full command surface on the Today tab. */
body[data-current-page="operator-console"].client-facing-hub .operator-workspace--today {
  grid-template-columns: minmax(0, 1fr) !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace--today .operator-workspace__body,
body[data-current-page="operator-console"] .operator-workspace--today .operator-workspace__body {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0.75rem !important;
  margin-top: 0.75rem !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace--today .operator-workspace__main,
body[data-current-page="operator-console"] .operator-workspace--today .operator-workspace__main,
body[data-current-page="operator-console"].client-facing-hub .operator-workspace--today .operator-pane,
body[data-current-page="operator-console"] .operator-workspace--today .operator-pane,
body[data-current-page="operator-console"].client-facing-hub .operator-workspace--today #operator-console-table-shell,
body[data-current-page="operator-console"] .operator-workspace--today #operator-console-table-shell {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace--today .operator-workspace__main > .operator-pane:first-child,
body[data-current-page="operator-console"] .operator-workspace--today .operator-workspace__main > .operator-pane:first-child {
  display: block !important;
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace--today .operator-inspector,
body[data-current-page="operator-console"] .operator-workspace--today .operator-inspector {
  display: none !important;
}

body[data-current-page="operator-console"] .operator-workspace--today .operator-today-command {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr) !important;
  gap: 0.8rem !important;
  width: 100% !important;
}

body[data-current-page="operator-console"] .operator-workspace--today .operator-today-command__main {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.8rem !important;
}

body[data-current-page="operator-console"] .operator-workspace--today .operator-today-card {
  height: auto !important;
}

body[data-current-page="operator-console"] .operator-workspace--today .operator-today-row {
  min-height: 0 !important;
}

body[data-current-page="operator-console"] .operator-workspace--today .operator-subtabs {
  margin-bottom: 0.6rem !important;
}

@media (max-width: 960px) {
  body[data-current-page="operator-console"] .operator-workspace--today .operator-today-command,
  body[data-current-page="operator-console"] .operator-workspace--today .operator-today-command__main {
    grid-template-columns: 1fr !important;
  }
}

body[data-current-page="operator-console"].client-facing-hub .operator-workspace:has(#operator-console-table-shell[data-operator-tab-content="today"]) .operator-workspace__body,
body[data-current-page="operator-console"] .operator-workspace:has(#operator-console-table-shell[data-operator-tab-content="today"]) .operator-workspace__body {
  grid-template-columns: minmax(0, 1fr) !important;
}

body[data-current-page="operator-console"].client-facing-hub #operator-console-table-shell[data-operator-tab-content="today"] .operator-today-command,
body[data-current-page="operator-console"] #operator-console-table-shell[data-operator-tab-content="today"] .operator-today-command {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr) !important;
  width: 100% !important;
}

body[data-current-page="operator-console"].client-facing-hub #operator-console-table-shell[data-operator-tab-content="today"] .operator-today-command__main,
body[data-current-page="operator-console"] #operator-console-table-shell[data-operator-tab-content="today"] .operator-today-command__main {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 760px) {
  body.client-facing-hub .topbar__menus,
  body.client-facing-hub .topbar.topbar--p13 > .topbar__menus,
  .topbar--p13 > .topbar__menus {
    display: none !important;
  }

  body[data-current-page="dashboard"].client-facing-hub .portfolio-command-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body[data-current-page="dashboard"].client-facing-hub .portfolio-command-panel__header,
  body[data-current-page="dashboard"].client-facing-hub .portfolio-command-panel__actions,
  body[data-current-page="dashboard"].client-facing-hub .portfolio-command-panel__grid,
  body[data-current-page="dashboard"].client-facing-hub .portfolio-command-panel__body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-current-page="dashboard"].client-facing-hub .portfolio-command-panel__actions .action-button,
  body[data-current-page="dashboard"].client-facing-hub .portfolio-command-panel__actions .ghost-button,
  body[data-current-page="dashboard"].client-facing-hub .portfolio-command-tile {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Final production shell overrides: repeated at file end to outrank legacy mobile blocks. */
.topbar.topbar--p13 {
  display: grid !important;
  grid-template-columns: minmax(18rem, auto) minmax(24rem, 1fr) auto !important;
  grid-template-areas: "menus center right" !important;
  align-items: center !important;
  gap: 0.75rem !important;
  min-height: 3.15rem !important;
}
.topbar.topbar--p13 .topbar__left { display: none !important; }
.topbar.topbar--p13 .topbar__menus { grid-area: menus !important; display: flex !important; }
.topbar.topbar--p13 .topbar__center-zone { grid-area: center !important; min-width: 0 !important; }
.topbar.topbar--p13 .topbar__right { grid-area: right !important; justify-self: end !important; }
.topbar.topbar--p13 .topbar__center-actions,
.topbar.topbar--p13 .topbar__action-group {
  display: flex !important;
  justify-content: space-evenly !important;
  gap: clamp(0.45rem, 1.6vw, 2rem) !important;
  width: 100% !important;
}

@media (max-width: 760px) {
  .topbar.topbar--p13 {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "hamburger menus right"
      "center center center" !important;
  }
  .topbar.topbar--p13 .topbar__left {
    grid-area: hamburger !important;
    display: flex !important;
  }
  .topbar.topbar--p13 .topbar__left .topbar__search { display: none !important; }
  body.client-facing-hub .topbar__menus,
  body.client-facing-hub .topbar.topbar--p13 > .topbar__menus,
  .topbar--p13 > .topbar__menus {
    display: flex !important;
    overflow-x: auto !important;
  }
  .topbar.topbar--p13 .topbar__center-actions,
  .topbar.topbar--p13 .topbar__action-group {
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }
}

/* ============================================================
   PHASE 48 — Unified design primitives.
   Append-only block so legacy selectors keep winning where they
   already override. New components should compose from these.
   Legacy aliases (.card, .panel, button.primary, .kpi-tile, .pill)
   pick up the unified treatment via the shared rules below.
   ============================================================ */

.aap-card,
.card,
.panel,
.surface-card {
  background: var(--surface-strong, #ffffff);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  border: 1px solid var(--premium-line);
  padding: 1.25rem 1.5rem;
  transition: box-shadow var(--motion-base) var(--easing-standard),
              transform var(--motion-base) var(--easing-standard);
}
.aap-card:hover,
.aap-card:focus-within,
.card:hover,
.panel:hover,
.surface-card:hover {
  box-shadow: var(--shadow-hover);
}

.aap-btn,
button.primary,
.btn-primary,
.aap-btn--primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border-radius: var(--radius-lg);
  padding: 0.5rem 0.95rem;
  font-weight: 600;
  font-size: var(--text-body);
  line-height: 1.2;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color var(--motion-fast) var(--easing-standard),
              box-shadow var(--motion-fast) var(--easing-standard),
              transform var(--motion-fast) var(--easing-standard);
}
.aap-btn:focus-visible,
button.primary:focus-visible,
.btn-primary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--aap-rcm, #087f83) 45%, transparent);
}
.aap-btn:active,
button.primary:active {
  transform: translateY(1px);
}

.aap-pill,
.aap-badge,
.pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  border-radius: var(--radius-pill);
  padding: 0.18rem 0.6rem;
  font-size: var(--text-label);
  font-weight: var(--weight-label);
  line-height: 1.25;
  border: 1px solid color-mix(in srgb, var(--page-accent, var(--accent)) 25%, transparent);
  background: color-mix(in srgb, var(--page-accent, var(--accent)) 12%, white);
  color: var(--page-accent-strong, var(--accent-strong));
}

.aap-kpi {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 1.25rem;
  border-radius: var(--radius-lg);
  background: var(--surface-strong, #ffffff);
  box-shadow: var(--shadow);
  border: 1px solid var(--premium-line);
  min-height: 5.5rem;
}
.aap-kpi__label {
  font-size: var(--text-label);
  font-weight: var(--weight-label);
  color: var(--muted);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.aap-kpi__value {
  font-size: var(--text-display);
  font-weight: var(--weight-display);
  color: var(--text);
  font-variant-numeric: tabular-nums;
  line-height: 1.05;
}
.aap-kpi__trend {
  font-size: var(--text-label);
  color: var(--muted);
}

/* Glass primitive — promotes the previously-sparse executive-glass theme
   into a reusable token-driven surface for drill-ins, modals, switchers. */
.aap-glass {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: var(--radius-xl);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.45) inset,
    0 18px 38px rgba(15, 32, 44, 0.18);
}
.aap-glass--dark {
  background: rgba(15, 32, 44, 0.62);
  border-color: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.95);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.05) inset,
    0 22px 48px rgba(0, 0, 0, 0.45);
}

/* Module-aware page-accent: when <body data-module="rcm"> etc is set,
   --page-accent re-binds to that module's brand color so any component
   reading var(--page-accent) auto-tints to the active section. */
body[data-module="rcm"]           { --page-accent: var(--aap-rcm); --page-accent-strong: var(--aap-rcm-deep); --page-soft: color-mix(in srgb, var(--aap-rcm) 14%, transparent); }
body[data-module="credentialing"] { --page-accent: var(--aap-credentialing); --page-accent-strong: color-mix(in srgb, var(--aap-credentialing) 70%, #000); --page-soft: color-mix(in srgb, var(--aap-credentialing) 14%, transparent); }
body[data-module="tasks"]         { --page-accent: var(--aap-tasks); --page-accent-strong: color-mix(in srgb, var(--aap-tasks) 70%, #000); --page-soft: color-mix(in srgb, var(--aap-tasks) 14%, transparent); }
body[data-module="messages"]      { --page-accent: var(--aap-messenger); --page-accent-strong: color-mix(in srgb, var(--aap-messenger) 70%, #000); --page-soft: color-mix(in srgb, var(--aap-messenger) 14%, transparent); }
body[data-module="reports"]       { --page-accent: var(--aap-reports); --page-accent-strong: color-mix(in srgb, var(--aap-reports) 70%, #000); --page-soft: color-mix(in srgb, var(--aap-reports) 14%, transparent); }
body[data-module="workflows"]     { --page-accent: var(--aap-workflows); --page-accent-strong: color-mix(in srgb, var(--aap-workflows) 70%, #000); --page-soft: color-mix(in srgb, var(--aap-workflows) 14%, transparent); }

/* Reduced-motion users opt out of the new transitions entirely. */
@media (prefers-reduced-motion: reduce) {
  .aap-card, .card, .panel, .surface-card,
  .aap-btn, button.primary, .btn-primary,
  .aap-kpi {
    transition: none !important;
  }
}
/* === END PHASE 48 === */

/* ============================================================
   PHASE 49 — Production lockdown polish.
   Append-only. Focuses on:
     - Eyebrow / label contrast bumps to clear WCAG AA 4.5
     - Form input + focus-visible polish across the suite
     - Modal / dialog surface unification
     - Subtle motion + interaction refinements
   Applies to BOTH the operator and clinic surfaces.
   ============================================================ */

/* --- Contrast: tighten low-alpha dark-on-light text to clear AA --- */
.eyebrow,
.panel__eyebrow,
.premium-eyebrow,
.section-eyebrow,
.kpi-eyebrow,
.kanban-card__project,
.portfolio-table th,
.wf-node__type {
  color: rgba(15, 53, 87, 0.82) !important;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* --- Eyebrow text used inside dark/navy surfaces should stay readable --- */
body[data-theme="executive-glass"] .eyebrow,
body[data-theme="executive-glass"] .panel__eyebrow,
.aap-glass--dark .eyebrow,
.aap-glass--dark .panel__eyebrow {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* --- Form input polish — adopts the new radius + token system --- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="date"],
input[type="time"],
textarea,
select:not([multiple]) {
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--border, #d7e0ea);
  background: var(--surface-strong, #ffffff);
  padding: 0.55rem 0.75rem;
  font-size: var(--text-body, 0.92rem);
  font-family: inherit;
  color: var(--text, #172638);
  transition:
    border-color var(--motion-fast, 120ms) var(--easing-standard, ease),
    box-shadow var(--motion-fast, 120ms) var(--easing-standard, ease),
    background-color var(--motion-fast, 120ms) var(--easing-standard, ease);
}
input:hover,
textarea:hover,
select:not([multiple]):hover {
  border-color: var(--border-strong, #c4d0dd);
}
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: none;
  border-color: var(--page-accent, var(--accent, #1d5f95));
  box-shadow: 0 0 0 3px color-mix(in srgb,
    var(--page-accent, var(--accent, #1d5f95)) 28%,
    transparent);
}
input::placeholder,
textarea::placeholder {
  color: var(--muted, #4d6178);
  opacity: 0.7;
}
input:disabled,
textarea:disabled,
select:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  background: var(--surface-muted, #f6f9fc);
}

/* --- Focus-visible polish on links + secondary buttons (covers a11y gaps) --- */
a:focus-visible,
.ghost-button:focus-visible,
.aap-btn--ghost:focus-visible,
.module-link:focus-visible,
[role="button"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb,
    var(--page-accent, var(--accent, #1d5f95)) 38%,
    transparent);
  border-radius: var(--radius-md, 8px);
}

/* --- Modal / dialog defaults — unified glass surface --- */
.modal,
.session-modal__card,
.dialog,
[role="dialog"] > * {
  border-radius: var(--radius-xl, 14px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.45) inset,
    0 24px 60px rgba(15, 32, 44, 0.28),
    0 2px 8px rgba(15, 32, 44, 0.12);
}

/* --- Scrollbar refinement (Webkit only — used in Chrome) --- */
*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background: rgba(15, 53, 87, 0.20);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
*::-webkit-scrollbar-thumb:hover {
  background: rgba(15, 53, 87, 0.32);
  background-clip: padding-box;
  border: 2px solid transparent;
}

/* --- Selection highlight uses the active module accent --- */
::selection {
  background: color-mix(in srgb, var(--page-accent, var(--accent, #1d5f95)) 32%, transparent);
  color: var(--text, #172638);
}

/* --- Loading state: aap-card during refresh fades but doesn't pop layout --- */
body.app-loading .aap-card,
body.refreshing .aap-card {
  opacity: 0.94;
}

/* --- Premium gradient header strip — apply to surfaces tagged "premium-header" --- */
.premium-header {
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--page-accent, var(--accent)) 8%, white) 0%,
      var(--surface-strong, #ffffff) 60%);
  border-bottom: 1px solid var(--premium-line, rgba(15, 53, 87, 0.16));
}

/* --- Skip-to-content link for accessibility (top-left, only visible on focus) --- */
.aap-skip-link {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  background: var(--page-accent, var(--accent));
  color: #fff;
  padding: 0.5rem 0.85rem;
  border-radius: var(--radius-md, 8px);
  font-weight: 700;
  z-index: 9999;
  transform: translateY(-200%);
  transition: transform var(--motion-base, 180ms) var(--easing-standard);
}
.aap-skip-link:focus-visible {
  transform: translateY(0);
  outline: none;
}

/* === END PHASE 49 === */

/* ============================================================
   PHASE 49b — 2026-05-27: Charts, status tokens, toasts, cascade.
   Append-only. Adds:
     - Status color tokens (success / warn / danger / info) at AA+
     - Cascade animation infrastructure for first-render choreography
     - Chart primitive styles (sparkline / line / bar / stacked-bar)
     - Number ticker styles
     - Global toast stack
     - Comprehensive prefers-reduced-motion block (closes Phase 48 followup)
   ============================================================ */

/* --- Status tokens: AAA-leaning, replace hex literals at 3857-3859 etc --- */
:root {
  /* Text token darkened #0f8a4a -> #0b733c so success text clears WCAG AA
     (4.96:1) on the soft-green pill; soft/border keep the original brighter
     hue so the pill fill is unchanged. */
  --status-success:        #0b733c;
  --status-success-soft:   color-mix(in srgb, #0f8a4a 14%, #ffffff);
  --status-success-border: color-mix(in srgb, #0f8a4a 32%, #ffffff);

  --status-warn:           #b45309;
  --status-warn-soft:      color-mix(in srgb, #b45309 14%, #ffffff);
  --status-warn-border:    color-mix(in srgb, #b45309 32%, #ffffff);

  --status-danger:         #b91c1c;
  --status-danger-soft:    color-mix(in srgb, #b91c1c 12%, #ffffff);
  --status-danger-border:  color-mix(in srgb, #b91c1c 32%, #ffffff);

  --status-info:           #1d4ed8;
  --status-info-soft:      color-mix(in srgb, #1d4ed8 12%, #ffffff);
  --status-info-border:    color-mix(in srgb, #1d4ed8 32%, #ffffff);

  --cascade-step: 60ms;
  --lift-hover: translateY(-1px);
}

/* Status pill primitive — replaces hand-rolled badge colors across the suite. */
.aap-status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.18rem 0.55rem;
  border-radius: var(--radius-pill, 999px);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  border: 1px solid transparent;
}
.aap-status--success { color: var(--status-success); background: var(--status-success-soft); border-color: var(--status-success-border); }
.aap-status--warn    { color: var(--status-warn);    background: var(--status-warn-soft);    border-color: var(--status-warn-border); }
.aap-status--danger  { color: var(--status-danger);  background: var(--status-danger-soft);  border-color: var(--status-danger-border); }
.aap-status--info    { color: var(--status-info);    background: var(--status-info-soft);    border-color: var(--status-info-border); }
.aap-status__dot {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);
}
.aap-status--live .aap-status__dot {
  animation: aapStatusPulse 1.6s ease-in-out infinite;
}
@keyframes aapStatusPulse {
  0%, 100% { transform: scale(1);   box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent); }
  50%      { transform: scale(1.15); box-shadow: 0 0 0 6px color-mix(in srgb, currentColor 8%, transparent); }
}

/* --- First-render cascade. Add data-cascade to any grid/flex container and
       data-cascade-index on its children (or rely on CSS counter-set logic). --- */
[data-cascade] > * {
  opacity: 0;
  transform: translateY(8px);
  animation: aapCascadeIn 320ms var(--easing-emphasized, cubic-bezier(.2,.7,.3,1.4)) forwards;
  animation-delay: calc(var(--cascade-step) * var(--cascade-i, 0));
}
[data-cascade] > *:nth-child(1)  { --cascade-i: 0; }
[data-cascade] > *:nth-child(2)  { --cascade-i: 1; }
[data-cascade] > *:nth-child(3)  { --cascade-i: 2; }
[data-cascade] > *:nth-child(4)  { --cascade-i: 3; }
[data-cascade] > *:nth-child(5)  { --cascade-i: 4; }
[data-cascade] > *:nth-child(6)  { --cascade-i: 5; }
[data-cascade] > *:nth-child(7)  { --cascade-i: 6; }
[data-cascade] > *:nth-child(8)  { --cascade-i: 7; }
[data-cascade] > *:nth-child(9)  { --cascade-i: 8; }
[data-cascade] > *:nth-child(10) { --cascade-i: 9; }
[data-cascade] > *:nth-child(11) { --cascade-i: 10; }
[data-cascade] > *:nth-child(12) { --cascade-i: 11; }
@keyframes aapCascadeIn {
  to { opacity: 1; transform: translateY(0); }
}

/* --- Premium chart card scaffold (.aap-chart) ---
   Used by renderPremiumLineCard / renderPremiumBarCard / renderPremiumStackedBar /
   renderPremiumAreaCard. The .aap-chart-card extends .aap-card with structured
   header + chart slot + footer.
*/
.aap-chart-card {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 1rem 1.1rem;
}
.aap-chart-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}
.aap-chart-card__title {
  font-size: var(--text-heading, 0.95rem);
  font-weight: 700;
  color: var(--text, #172638);
  margin: 0;
  line-height: 1.3;
}
.aap-chart-card__sub {
  font-size: var(--text-label, 0.72rem);
  color: rgba(15, 53, 87, 0.7);
  margin: 0.15rem 0 0;
}
.aap-chart-card__value {
  font-size: var(--text-display, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--text, #172638);
}
.aap-chart-card__delta {
  font-size: 0.74rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}
.aap-chart-card__delta--up   { color: var(--status-success); }
.aap-chart-card__delta--down { color: var(--status-danger); }
.aap-chart-card__delta--flat { color: rgba(15, 53, 87, 0.6); }
.aap-chart-card__body {
  position: relative;
  min-height: 88px;
}
.aap-chart-card__footer {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  color: rgba(15, 53, 87, 0.55);
  margin-top: 0.25rem;
}

/* --- Sparkline (inline SVG, no axis) --- */
.aap-spark {
  display: block;
  width: 100%;
  height: 28px;
  overflow: visible;
}
.aap-spark__area {
  fill: color-mix(in srgb, var(--page-accent, #1d5f95) 20%, transparent);
  opacity: 0;
  animation: aapSparkFade 600ms var(--easing-standard, ease) 80ms forwards;
}
.aap-spark__line {
  fill: none;
  stroke: var(--page-accent, #1d5f95);
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: aapSparkDraw 800ms var(--easing-emphasized, ease-out) forwards;
}
.aap-spark__dot {
  fill: var(--page-accent, #1d5f95);
  opacity: 0;
  animation: aapSparkFade 300ms var(--easing-standard, ease) 700ms forwards;
}
@keyframes aapSparkDraw { to { stroke-dashoffset: 0; } }
@keyframes aapSparkFade { to { opacity: 1; } }

/* --- Line chart (full-size, with axis) --- */
.aap-line { display: block; width: 100%; }
.aap-line__axis {
  stroke: rgba(15, 53, 87, 0.12);
  stroke-width: 1;
}
.aap-line__grid {
  stroke: rgba(15, 53, 87, 0.06);
  stroke-width: 1;
  stroke-dasharray: 2 4;
}
.aap-line__path {
  fill: none;
  stroke: var(--page-accent, #1d5f95);
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  animation: aapLineDraw 1100ms var(--easing-emphasized, ease-out) forwards;
}
.aap-line__area {
  fill: url(#aapLineAreaGrad);
  opacity: 0;
  animation: aapSparkFade 600ms var(--easing-standard, ease) 300ms forwards;
}
.aap-line__tick {
  font-size: 0.65rem;
  fill: rgba(15, 53, 87, 0.6);
}
.aap-line__hover-dot {
  fill: #fff;
  stroke: var(--page-accent, #1d5f95);
  stroke-width: 2;
  pointer-events: none;
}
@keyframes aapLineDraw { to { stroke-dashoffset: 0; } }

/* --- Bar chart --- */
.aap-bar { display: block; width: 100%; }
.aap-bar__rect {
  fill: var(--page-accent, #1d5f95);
  rx: 3;
  transform-origin: bottom center;
  animation: aapBarGrow 700ms var(--easing-emphasized, ease-out) both;
}
.aap-bar__rect--success { fill: var(--status-success); }
.aap-bar__rect--warn    { fill: var(--status-warn); }
.aap-bar__rect--danger  { fill: var(--status-danger); }
.aap-bar__rect--muted   { fill: rgba(15, 53, 87, 0.18); }
.aap-bar__label {
  font-size: 0.7rem;
  fill: rgba(15, 53, 87, 0.7);
}
.aap-bar__value {
  font-size: 0.72rem;
  fill: var(--text, #172638);
  font-weight: 600;
  opacity: 0;
  animation: aapSparkFade 280ms var(--easing-standard, ease) 540ms forwards;
}
@keyframes aapBarGrow {
  from { transform: scaleY(0.05); opacity: 0.4; }
  to   { transform: scaleY(1);    opacity: 1; }
}

/* --- Horizontal bar (denial-by-reason, payer-by-AR) --- */
.aap-hbar { display: flex; flex-direction: column; gap: 0.45rem; }
.aap-hbar__row {
  display: grid;
  grid-template-columns: minmax(72px, 130px) 1fr 50px;
  gap: 0.55rem;
  align-items: center;
  font-size: 0.78rem;
}
.aap-hbar__label {
  color: rgba(15, 53, 87, 0.75);
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.aap-hbar__track {
  position: relative;
  height: 8px;
  background: rgba(15, 53, 87, 0.07);
  border-radius: 999px;
  overflow: hidden;
}
.aap-hbar__fill {
  position: absolute;
  inset: 0 auto 0 0;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--page-accent, #1d5f95) 78%, white) 0%,
    var(--page-accent, #1d5f95) 100%);
  border-radius: 999px;
  transform-origin: left center;
  animation: aapHbarGrow 720ms var(--easing-emphasized, ease-out) both;
}
.aap-hbar__fill--success { background: linear-gradient(90deg, color-mix(in srgb, var(--status-success) 75%, white), var(--status-success)); }
.aap-hbar__fill--warn    { background: linear-gradient(90deg, color-mix(in srgb, var(--status-warn)    75%, white), var(--status-warn)); }
.aap-hbar__fill--danger  { background: linear-gradient(90deg, color-mix(in srgb, var(--status-danger)  75%, white), var(--status-danger)); }
.aap-hbar__value {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  text-align: right;
  color: var(--text, #172638);
}
@keyframes aapHbarGrow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* --- Stacked bar (AR aging, status mix) --- */
.aap-stack {
  display: flex;
  height: 14px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(15, 53, 87, 0.06);
  box-shadow: inset 0 0 0 1px rgba(15, 53, 87, 0.05);
}
.aap-stack__seg {
  height: 100%;
  transform-origin: left center;
  animation: aapHbarGrow 720ms var(--easing-emphasized, ease-out) both;
  position: relative;
}
.aap-stack__seg + .aap-stack__seg { border-left: 1px solid rgba(255,255,255,0.45); }
.aap-stack-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1rem;
  margin-top: 0.5rem;
  font-size: 0.72rem;
  color: rgba(15, 53, 87, 0.75);
}
.aap-stack-legend__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.aap-stack-legend__swatch {
  width: 0.62rem;
  height: 0.62rem;
  border-radius: 3px;
  background: currentColor;
}

/* --- KPI tile sparkline slot (the .aap-kpi already exists; this adds the trend area) --- */
.aap-kpi__trend {
  display: block;
  margin-top: 0.3rem;
  height: 28px;
}
.aap-kpi__delta {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.72rem;
  font-weight: 700;
  margin-left: 0.4rem;
  vertical-align: middle;
}
.aap-kpi__delta--up   { color: var(--status-success); }
.aap-kpi__delta--down { color: var(--status-danger); }
.aap-kpi__delta--flat { color: rgba(15, 53, 87, 0.55); }

/* --- Number ticker (the JS .animateNumber writes to data-target; CSS handles visual polish) --- */
.aap-num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

/* --- Global toast stack --- */
.aap-toast-stack {
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  display: flex;
  flex-direction: column-reverse;
  gap: 0.5rem;
  z-index: 9000;
  pointer-events: none;
  max-width: min(380px, calc(100vw - 2.5rem));
}
.aap-toast {
  pointer-events: auto;
  background: #fff;
  border-radius: var(--radius-lg, 10px);
  border: 1px solid rgba(15, 53, 87, 0.10);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.7) inset,
    0 18px 40px rgba(15, 32, 44, 0.22),
    0 2px 6px rgba(15, 32, 44, 0.10);
  padding: 0.65rem 0.85rem 0.65rem 0.95rem;
  display: grid;
  grid-template-columns: 4px 1fr auto;
  gap: 0.75rem;
  align-items: start;
  font-size: 0.85rem;
  color: var(--text, #172638);
  animation: aapToastIn 240ms var(--easing-emphasized, cubic-bezier(.2,.7,.3,1.4));
  position: relative;
  overflow: hidden;
}
.aap-toast::before {
  content: "";
  display: block;
  width: 4px;
  border-radius: 4px;
  background: var(--page-accent, #1d5f95);
  align-self: stretch;
}
.aap-toast--success::before { background: var(--status-success); }
.aap-toast--warn::before    { background: var(--status-warn); }
.aap-toast--danger::before  { background: var(--status-danger); }
.aap-toast--info::before    { background: var(--status-info); }
.aap-toast__body { min-width: 0; }
.aap-toast__title {
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}
.aap-toast__sub {
  font-size: 0.76rem;
  color: rgba(15, 53, 87, 0.72);
  margin: 0.2rem 0 0;
  line-height: 1.4;
}
.aap-toast__close {
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(15, 53, 87, 0.6);
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  padding: 0.25rem;
  border-radius: 6px;
  transition: background var(--motion-fast, 120ms) ease;
}
.aap-toast__close:hover { background: rgba(15, 53, 87, 0.08); color: var(--text); }
.aap-toast.is-exiting {
  animation: aapToastOut 200ms var(--easing-standard, ease) forwards;
}
@keyframes aapToastIn {
  from { transform: translateY(12px) scale(0.98); opacity: 0; }
  to   { transform: translateY(0)    scale(1);    opacity: 1; }
}
@keyframes aapToastOut {
  to { transform: translateY(8px) scale(0.99); opacity: 0; }
}

/* --- Trend delta chip (uses status colors) --- */
.aap-trend {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.1rem 0.4rem;
  border-radius: var(--radius-pill, 999px);
  font-size: 0.7rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.aap-trend--up   { color: var(--status-success); background: var(--status-success-soft); }
.aap-trend--down { color: var(--status-danger);  background: var(--status-danger-soft); }
.aap-trend--flat { color: rgba(15, 53, 87, 0.6); background: rgba(15, 53, 87, 0.06); }

/* --- Empty / error / skeleton baseline (Phase 47 patterns codified) --- */
.aap-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2.5rem 1rem;
  gap: 0.6rem;
  color: rgba(15, 53, 87, 0.75);
}
.aap-empty__icon {
  font-size: 1.6rem;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 53, 87, 0.06);
}
.aap-empty__title { font-weight: 700; color: var(--text); margin: 0; }
.aap-empty__sub { font-size: 0.82rem; max-width: 30ch; margin: 0; line-height: 1.5; }

.aap-error {
  border-radius: var(--radius-lg, 10px);
  border: 1px solid var(--status-danger-border);
  background: var(--status-danger-soft);
  padding: 0.9rem 1rem;
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  font-size: 0.85rem;
  color: var(--status-danger);
}
.aap-error__title { font-weight: 700; }
.aap-error__retry {
  margin-left: auto;
  background: var(--status-danger);
  color: #fff;
  border: 0;
  padding: 0.32rem 0.7rem;
  border-radius: var(--radius-md, 8px);
  font-weight: 600;
  cursor: pointer;
}

.aap-skeleton {
  border-radius: var(--radius-md, 8px);
  background:
    linear-gradient(90deg,
      rgba(15, 53, 87, 0.06) 0%,
      rgba(15, 53, 87, 0.12) 50%,
      rgba(15, 53, 87, 0.06) 100%);
  background-size: 220% 100%;
  animation: aapSkeletonShimmer 1.6s linear infinite;
  min-height: 0.8rem;
}
.aap-skeleton--card { min-height: 88px; }
.aap-skeleton--line { height: 0.85rem; margin: 0.25rem 0; }
.aap-skeleton--line.is-short { width: 60%; }
.aap-skeleton--circle { width: 2rem; height: 2rem; border-radius: 999px; }
@keyframes aapSkeletonShimmer {
  from { background-position: 220% 0; }
  to   { background-position: -120% 0; }
}

/* --- Hover lift, codified --- */
.aap-card:hover,
.kanban-card:hover,
.portfolio-table tr:hover {
  transform: var(--lift-hover, translateY(-1px));
}

/* --- Comprehensive reduced-motion (closes Phase 48 followup #18) --- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .aap-spark__line,
  .aap-line__path { stroke-dashoffset: 0 !important; }
  [data-cascade] > * { opacity: 1 !important; transform: none !important; }
  .aap-bar__rect, .aap-hbar__fill, .aap-stack__seg { transform: none !important; }
  .aap-status--live .aap-status__dot { animation: none !important; }
}

/* --- Command palette (Ctrl+K) + shortcut sheet --- */
.aap-cmdk-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 16, 28, 0.55);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 14vh;
  z-index: 9500;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--motion-base, 180ms) var(--easing-standard);
}
.aap-cmdk-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}
.aap-cmdk {
  width: min(620px, calc(100vw - 2rem));
  border-radius: var(--radius-xl, 14px);
  padding: 0;
  color: rgba(255,255,255,0.95);
  transform: translateY(-8px);
  transition: transform var(--motion-base, 180ms) var(--easing-emphasized);
}
.aap-cmdk-overlay.is-open .aap-cmdk { transform: translateY(0); }
.aap-cmdk__head {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.85rem;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.aap-cmdk__icon {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: rgba(255,255,255,0.08);
  padding: 0.22rem 0.5rem;
  border-radius: 6px;
  color: rgba(255,255,255,0.9);
}
.aap-cmdk__input {
  flex: 1;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  color: #fff !important;
  font-size: 1rem;
  padding: 0.4rem 0.1rem !important;
  box-shadow: none !important;
}
.aap-cmdk__input::placeholder { color: rgba(255,255,255,0.55); }
.aap-cmdk__esc {
  font-size: 0.7rem;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16);
  padding: 0.18rem 0.4rem;
  border-radius: 5px;
  color: rgba(255,255,255,0.7);
}
.aap-cmdk__list {
  list-style: none;
  margin: 0;
  padding: 0.4rem;
  max-height: 56vh;
  overflow-y: auto;
}
.aap-cmdk__item {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 0.6rem;
  align-items: center;
  padding: 0.55rem 0.7rem;
  border-radius: var(--radius-md, 8px);
  cursor: pointer;
  font-size: 0.88rem;
  transition: background var(--motion-fast, 120ms) ease;
}
.aap-cmdk__item:hover,
.aap-cmdk__item.is-active {
  background: rgba(255,255,255,0.10);
}
.aap-cmdk__kind {
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  font-weight: 700;
}
.aap-cmdk__label { color: #fff; }
.aap-cmdk__hint { color: rgba(255,255,255,0.5); font-size: 0.74rem; }
.aap-cmdk__empty {
  padding: 1rem;
  text-align: center;
  color: rgba(255,255,255,0.55);
  font-style: italic;
}
.aap-cmdk__foot {
  display: flex;
  gap: 0.55rem;
  padding: 0.55rem 0.85rem;
  border-top: 1px solid rgba(255,255,255,0.10);
  font-size: 0.7rem;
  color: rgba(255,255,255,0.55);
  align-items: center;
}
.aap-cmdk__foot kbd,
.aap-shortcut-list kbd {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 4px;
  padding: 0.05rem 0.32rem;
  font-size: 0.7rem;
  margin-right: 0.18rem;
}
.aap-shortcut-list {
  list-style: none;
  margin: 0;
  padding: 0.5rem 0.85rem 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.aap-shortcut-list li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.86rem;
  color: rgba(255,255,255,0.92);
}
.aap-shortcut-list li span { margin-left: auto; color: rgba(255,255,255,0.65); }

/* Sidebar workspace switcher attention flash */
@keyframes aapAttentionFlash {
  0%, 100% { box-shadow: 0 0 0 0 transparent; }
  35%      { box-shadow: 0 0 0 6px color-mix(in srgb, var(--page-accent, #1d5f95) 35%, transparent); }
  60%      { box-shadow: 0 0 0 4px color-mix(in srgb, var(--page-accent, #1d5f95) 20%, transparent); }
}
.aap-attention-flash { animation: aapAttentionFlash 1.1s ease-out 1; }

/* --- Phase 49d: Messaging link chips, thread strip, picker --- */
.aap-link-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.18rem 0.55rem 0.18rem 0.45rem;
  border-radius: var(--radius-pill, 999px);
  border: 1px solid color-mix(in srgb, var(--page-accent, #1d5f95) 28%, #ffffff);
  background: color-mix(in srgb, var(--page-accent, #1d5f95) 10%, #ffffff);
  color: var(--page-accent, #1d5f95);
  font-size: 0.74rem;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--motion-fast, 120ms) ease, transform var(--motion-fast, 120ms) ease;
  max-width: 240px;
}
.aap-link-chip:hover { background: color-mix(in srgb, var(--page-accent, #1d5f95) 18%, #ffffff); transform: translateY(-1px); }
.aap-link-chip--task    { color: var(--status-info, #1d4ed8);    border-color: color-mix(in srgb, var(--status-info) 28%, #fff);    background: color-mix(in srgb, var(--status-info) 10%, #fff); }
.aap-link-chip--project { color: var(--status-success, #0f8a4a); border-color: color-mix(in srgb, var(--status-success) 28%, #fff); background: color-mix(in srgb, var(--status-success) 10%, #fff); }
.aap-link-chip__kind {
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.7;
  font-weight: 700;
}
.aap-link-chip__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 170px;
}

.aap-thread-link-strip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.45rem 0.85rem;
  background: color-mix(in srgb, var(--page-accent, #1d5f95) 5%, #ffffff);
  border-top: 1px solid rgba(15, 53, 87, 0.08);
  border-bottom: 1px solid rgba(15, 53, 87, 0.08);
}
.aap-thread-link-strip__chips { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; }
.aap-thread-link-strip__btn {
  margin-left: auto;
  appearance: none;
  border: 1px dashed color-mix(in srgb, var(--page-accent, #1d5f95) 32%, transparent);
  background: transparent;
  color: var(--page-accent, #1d5f95);
  padding: 0.2rem 0.6rem;
  border-radius: var(--radius-pill, 999px);
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--motion-fast, 120ms) ease;
}
.aap-thread-link-strip__btn:hover {
  background: color-mix(in srgb, var(--page-accent, #1d5f95) 10%, transparent);
}

/* Link picker (inside .aap-cmdk dark shell) */
.aap-link-picker__tabs {
  display: flex;
  gap: 0.35rem;
  padding: 0.55rem 0.85rem 0;
}
.aap-link-picker__tab {
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.78);
  padding: 0.22rem 0.65rem;
  border-radius: var(--radius-pill, 999px);
  cursor: pointer;
  font-size: 0.74rem;
  font-weight: 600;
}
.aap-link-picker__tab.is-active {
  background: rgba(255,255,255,0.14);
  color: #fff;
  border-color: rgba(255,255,255,0.3);
}
.aap-link-picker__current {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.5rem 0.85rem;
  border-top: 1px solid rgba(255,255,255,0.10);
  align-items: center;
}
.aap-link-picker__current-label {
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  font-weight: 700;
}
.aap-link-picker__current-chips { display: flex; gap: 0.35rem; flex-wrap: wrap; }
.aap-link-picker__current-chips .aap-link-chip {
  background: rgba(255,255,255,0.10);
  color: #fff;
  border-color: rgba(255,255,255,0.18);
}
.aap-link-picker__current-chips .aap-link-chip::after {
  content: " ×";
  opacity: 0.6;
  margin-left: 0.15rem;
}

/* Linked-threads surface on task / project detail */
.aap-linked-threads {
  margin-top: 1rem;
  border-top: 1px solid rgba(15, 53, 87, 0.08);
  padding-top: 0.85rem;
}
.aap-linked-threads__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text, #172638);
  margin: 0 0 0.55rem;
  letter-spacing: 0.02em;
}
.aap-linked-threads__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.aap-linked-threads__item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(15, 53, 87, 0.08);
  border-radius: var(--radius-md, 8px);
  cursor: pointer;
  background: #fff;
  transition: background var(--motion-fast, 120ms) ease, transform var(--motion-fast, 120ms) ease;
  font-size: 0.84rem;
}
.aap-linked-threads__item:hover {
  background: color-mix(in srgb, var(--page-accent, #1d5f95) 6%, #fff);
  transform: translateY(-1px);
}
.aap-linked-threads__subject { font-weight: 600; color: var(--text); }
.aap-linked-threads__meta {
  margin-left: auto;
  font-size: 0.72rem;
  color: rgba(15, 53, 87, 0.6);
}

/* Compose form link widget */
.aap-compose-link-widget {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.4rem 0;
  margin: 0.35rem 0;
  border-top: 1px dashed rgba(15, 53, 87, 0.12);
  border-bottom: 1px dashed rgba(15, 53, 87, 0.12);
}
.aap-compose-link-widget__chips { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; }

/* @mention autocomplete hint inside a textarea ... visual cue only */
.aap-mention-hint {
  font-size: 0.7rem;
  color: rgba(15, 53, 87, 0.6);
  margin-top: 0.3rem;
}

/* --- Phase 49e: Integrations section grouping --- */
.aap-conn-sections {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.aap-conn-toolbar {
  position: sticky;
  top: var(--sticky-offset, 104px);
  z-index: 4;
  background: linear-gradient(to bottom, var(--surface-strong, #ffffff) 60%, color-mix(in srgb, var(--surface-strong, #ffffff) 100%, transparent));
  padding: 0.65rem 0 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  border-bottom: 1px solid rgba(15, 53, 87, 0.08);
  margin-bottom: 0.3rem;
}
.aap-conn-search {
  width: 100%;
  font-size: 0.92rem;
  padding: 0.55rem 0.85rem !important;
  border-radius: var(--radius-pill, 999px) !important;
  background: color-mix(in srgb, var(--page-accent, #1d5f95) 4%, #ffffff) !important;
  border: 1px solid rgba(15, 53, 87, 0.14) !important;
}
.aap-conn-filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.aap-conn-pill {
  appearance: none;
  border: 1px solid rgba(15, 53, 87, 0.14);
  background: #ffffff;
  color: var(--text, #172638);
  padding: 0.28rem 0.7rem;
  border-radius: var(--radius-pill, 999px);
  font-size: 0.74rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  transition: background var(--motion-fast, 120ms) ease, transform var(--motion-fast, 120ms) ease;
}
.aap-conn-pill:hover {
  background: color-mix(in srgb, var(--page-accent, #1d5f95) 8%, #ffffff);
  transform: translateY(-1px);
}
.aap-conn-pill.is-active {
  background: var(--page-accent, #1d5f95);
  color: #fff;
  border-color: var(--page-accent, #1d5f95);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--page-accent, #1d5f95) 30%, transparent);
}

.aap-conn-section-stack {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.aap-conn-section {
  border: 1px solid rgba(15, 53, 87, 0.10);
  border-radius: var(--radius-lg, 10px);
  background: #ffffff;
  box-shadow: var(--shadow, 0 2px 8px rgba(15, 53, 87, 0.08));
  overflow: hidden;
}
.aap-conn-section__head {
  appearance: none;
  border: 0;
  width: 100%;
  text-align: left;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--page-accent, #1d5f95) 6%, #ffffff) 0%,
    #ffffff 75%);
  padding: 0.7rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  cursor: pointer;
  font-weight: 700;
  color: var(--text, #172638);
  border-bottom: 1px solid rgba(15, 53, 87, 0.06);
  transition: background var(--motion-fast, 120ms) ease;
}
.aap-conn-section__head:hover {
  background: color-mix(in srgb, var(--page-accent, #1d5f95) 10%, #ffffff);
}
.aap-conn-section__icon {
  font-size: 1.15rem;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--page-accent, #1d5f95) 10%, #ffffff);
}
.aap-conn-section__label {
  flex: 1;
  font-size: 0.96rem;
  letter-spacing: 0.01em;
}
.aap-conn-section__count {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: var(--radius-pill, 999px);
  background: rgba(15, 53, 87, 0.08);
  color: rgba(15, 53, 87, 0.7);
  min-width: 1.6rem;
  text-align: center;
}
.aap-conn-section__chevron {
  font-size: 0.85rem;
  color: rgba(15, 53, 87, 0.5);
  transition: transform var(--motion-base, 180ms) var(--easing-standard);
}
.aap-conn-section.is-collapsed .aap-conn-section__chevron { transform: rotate(-90deg); }
.aap-conn-section__body {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.65rem;
  padding: 0.85rem 1rem 1rem;
  transition: max-height var(--motion-slow, 280ms) var(--easing-standard);
  overflow: hidden;
}
.aap-conn-section.is-collapsed .aap-conn-section__body {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.aap-conn-section__body > * {
  margin: 0 !important;
}

/* When the parent .stack rendered cards as full-width strips, give them a
   tile feel inside the grouped grid. */
.aap-conn-section__body > .integration-card,
.aap-conn-section__body > .connector-card,
.aap-conn-section__body > article,
.aap-conn-section__body > .stack > * {
  border-radius: var(--radius-md, 8px);
  border: 1px solid rgba(15, 53, 87, 0.08);
  padding: 0.7rem 0.85rem;
  background: #fff;
  transition: box-shadow var(--motion-fast, 120ms) ease, transform var(--motion-fast, 120ms) ease;
}
.aap-conn-section__body > .integration-card:hover,
.aap-conn-section__body > .connector-card:hover,
.aap-conn-section__body > article:hover {
  box-shadow: var(--shadow-hover, 0 6px 20px rgba(15, 53, 87, 0.14));
  transform: translateY(-1px);
}

/* ============================================================
   PHASE 49g — Text overflow + menu refinement fixes (2026-05-27).
   Responds to the user's screenshots showing:
     - sidebar wordmark clipped to "AdvanceAPracti"
     - integrations panel header eyebrow + subtitle clipped on the left
     - workspace-customizer menu dropdowns clipping select text
   Strategy: defensive rules that work at any container width.
   ============================================================ */

/* 1. Sidebar wordmark — allow the brand name to wrap to two lines instead of
      clipping. Pair "AdvanceAPractice" with "Command Suite" stacked, never
      cropped. */
/* Stack the lockup (logo above text) so the wordmark gets the FULL sidebar
   width instead of fighting the logo for horizontal space. This guarantees
   "AdvanceAPractice" stays on one line regardless of sidebar density. */
body .sidebar .sidebar__brand-lockup,
body.client-facing-hub .sidebar .sidebar__brand-lockup,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-lockup {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;   /* center logo + wordmark in the brand card */
  text-align: center !important;
  gap: 0.05rem !important;          /* logo + wordmark sit tight together */
  text-decoration: none !important;
}
/* Tight-cropped logo now has no internal whitespace; size it and remove the
   gap-widening margins so the wordmark hugs it. */
body .sidebar .sidebar__brand-lockup .sidebar__brand-logo,
body.client-facing-hub .sidebar .sidebar__brand-lockup .sidebar__brand-logo {
  margin: 0 !important;
  width: auto !important;
  max-height: 64px !important;
  object-fit: contain !important;
}
/* Remove the slack between the brand block and the wordmark container. */
body .sidebar .sidebar__brand {
  gap: 0.25rem !important;
}

/* Hide the verbose sidebar footnote ("This workspace presents the clinic
   brand …"). The node stays in the DOM for the JS that updates its text,
   but it no longer takes visual space. */
.sidebar__footnote,
#sidebar-workspace-footnote {
  display: none !important;
}
body .sidebar .sidebar__brand-lockup .sidebar__brand-logo,
body.client-facing-hub .sidebar .sidebar__brand-lockup .sidebar__brand-logo {
  align-self: flex-start !important;
}
body .sidebar .sidebar__brand-name,
body.client-facing-hub .sidebar .sidebar__brand-name,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-name {
  display: block !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.12 !important;
  text-align: center !important;
  /* Fits "AdvanceAPractice" inside any reasonable sidebar width (the
     wordmark gets the full lockup width now that the logo is stacked above). */
  font-size: clamp(0.86rem, 0.65vw + 0.7rem, 1.05rem) !important;
  letter-spacing: -0.005em !important;
  font-weight: 800 !important;
  hyphens: none !important;
}
/* "Command Suite" — bolder + centered to balance the wordmark above it. */
body .sidebar .sidebar__brand-name strong,
body.client-facing-hub .sidebar .sidebar__brand-name strong,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-name strong {
  display: block !important;
  white-space: nowrap !important;
  text-align: center !important;
  margin-top: 0.1rem !important;
  font-size: clamp(0.7rem, 0.42vw + 0.58rem, 0.82rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #2c4763 !important;
}
body .sidebar .sidebar__brand-name strong,
body.client-facing-hub .sidebar .sidebar__brand-name strong,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-name strong {
  white-space: normal !important;
  font-size: clamp(0.68rem, 0.7vw + 0.5rem, 0.78rem) !important;
}
.sidebar__brand,
.sidebar__brand-wrap {
  min-width: 0;
  overflow: visible;
}

/* 2. Panel header — never clip the eyebrow/title on the left. Some Phase 47
      module panels inherited `overflow: hidden` from a parent card style and
      lost the first characters at narrow widths. Force the eyebrow and h2 to
      remain visible. */
.panel__header,
.panel__header > div,
.workspace-header__panel {
  min-width: 0;
  overflow: visible !important;
}
.panel__eyebrow,
.panel__header h2,
.panel__header h3,
.panel__header p {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  word-break: normal;
  overflow-wrap: anywhere;
  padding-left: 0;
  margin-left: 0;
}
/* Pad the article that hosts a panel__header so its content can never sit
   right on the card's clipping edge. */
article.panel > .panel__header,
article.panel > .panel__ai-strip {
  padding-left: clamp(0.6rem, 1.2vw, 1rem);
  padding-right: clamp(0.6rem, 1.2vw, 1rem);
}

/* 3. Workspace customizer menu — Phase 49 refine: the per-module row is now a
      compact 3-column layout (name | Visible | AI). The old 5-control overrides
      are replaced to match. */
.workspace-module-pref {
  grid-template-columns: 1fr auto auto !important;
  gap: 0.6rem !important;
  padding: 0.5rem 0.65rem !important;
  align-items: center !important;
}
.workspace-module-pref__toggle,
.workspace-module-pref__check {
  grid-column: auto !important;
  justify-self: end !important;
}

/* Workspace customizer popover toolbar (Density / Auto-refresh row) */
.workspaces-customizer__toolbar {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}
.workspaces-customizer__toolbar select,
.workspaces-customizer select,
.workspaces-customizer input[type="text"] {
  width: 100% !important;
  min-width: 0 !important;
  text-overflow: ellipsis;
  padding: 0.35rem 1.4rem 0.35rem 0.55rem !important;
  font-size: 0.82rem !important;
  min-height: 2.1rem !important;
}

/* Floating menu / popover container — give it enough width to contain its
   selects, and never extend past the viewport. */
.workspaces-customizer,
.workspace-customizer-pop,
.command-menu__popover,
.workspace-popover {
  width: min(380px, calc(100vw - 1.5rem));
  max-width: calc(100vw - 1.5rem);
  max-height: min(78vh, calc(100vh - 6rem));
  overflow-y: auto;
  box-sizing: border-box;
}

/* Generic select normalization — every native <select> in the suite gets a
   sane min-width + ellipsis so option text never disappears. */
select:not([multiple]) {
  text-overflow: ellipsis;
  background-position: right 0.5rem center;
  background-size: 0.65rem;
  padding-right: 1.4rem !important;
}

/* 4. Connector section blurbs — explanatory subtitle under each section
      header. The user asked for a reminder under "Main Storage" that internal
      data lives on THEIR device. The blurb is a SIBLING of the toggle button
      so clicking inside the blurb text does NOT collapse the section. */
.aap-conn-section__blurb {
  margin: 0;
  padding: 0.55rem 1rem 0.7rem 3.3rem; /* align under the label, leave room for the icon */
  font-size: 0.78rem;
  font-weight: 500;
  color: rgba(15, 53, 87, 0.78);
  line-height: 1.45;
  text-align: left;
  border-bottom: 1px solid rgba(15, 53, 87, 0.06);
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--page-accent, #1d5f95) 2%, #ffffff) 0%,
    #ffffff 100%);
}
.aap-conn-section__blurb strong {
  color: var(--status-info, #1d4ed8);
  font-weight: 700;
}
.aap-conn-section[data-section-key="storage"] .aap-conn-section__blurb {
  /* Highlight the storage section's on-your-device privacy note */
  background: color-mix(in srgb, var(--status-info, #1d4ed8) 6%, transparent);
  border-left: 3px solid var(--status-info, #1d4ed8);
  border-bottom: 1px solid color-mix(in srgb, var(--status-info, #1d4ed8) 14%, transparent);
}
.aap-conn-section[data-section-key="storage"] .aap-conn-section__blurb strong {
  color: #0a3aa6;
}
.aap-conn-section.is-collapsed .aap-conn-section__blurb {
  display: none;
}

/* Empty-section placeholder shown when no connectors of that kind exist yet. */
.aap-conn-empty-hint {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.85rem 1rem;
  border: 1px dashed rgba(15, 53, 87, 0.16);
  border-radius: var(--radius-md, 8px);
  background: rgba(15, 53, 87, 0.025);
  color: rgba(15, 53, 87, 0.65);
  font-size: 0.8rem;
  text-align: center;
}
.aap-conn-empty-hint em {
  font-style: normal;
  font-weight: 700;
  color: rgba(15, 53, 87, 0.78);
}
.aap-conn-section[data-section-key="storage"] .aap-conn-empty-hint {
  border-color: color-mix(in srgb, var(--status-info, #1d4ed8) 30%, transparent);
  background: color-mix(in srgb, var(--status-info, #1d4ed8) 4%, transparent);
}

/* ============================================================
   PHASE 49f — Messenger enhancement styles.
   ============================================================ */
.aap-msg-response-note {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 0.6rem 0.9rem;
  margin: 0 0 0.5rem;
  border-radius: var(--radius-lg, 10px);
  background: color-mix(in srgb, #0b733c 7%, #ffffff);
  border: 1px solid color-mix(in srgb, #0b733c 20%, transparent);
  border-left: 3px solid #0b733c;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #1f3a2c;
}
.aap-msg-response-note__icon { flex: 0 0 auto; font-size: 0.95rem; }

.aap-msg-storage-banner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 0.95rem;
  margin: 0.6rem 0 0.4rem;
  border-radius: var(--radius-lg, 10px);
  background: color-mix(in srgb, var(--status-info, #1d4ed8) 7%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--status-info, #1d4ed8) 22%, transparent);
  border-left: 3px solid var(--status-info, #1d4ed8);
  font-size: 0.84rem;
  color: var(--text, #172638);
  line-height: 1.45;
}
.aap-msg-storage-banner.is-warn {
  background: color-mix(in srgb, var(--status-warn, #b45309) 8%, #ffffff);
  border-color: color-mix(in srgb, var(--status-warn, #b45309) 24%, transparent);
  border-left-color: var(--status-warn, #b45309);
}
.aap-msg-storage-banner__icon { font-size: 1.15rem; flex: 0 0 auto; }
.aap-msg-storage-banner__text { flex: 1; min-width: 0; }
.aap-msg-storage-banner__text em { font-style: italic; color: var(--status-info, #1d4ed8); font-weight: 600; }
.aap-msg-storage-banner.is-warn .aap-msg-storage-banner__text em { color: var(--status-warn, #b45309); }
.aap-msg-storage-banner .aap-status { margin: 0 0.2rem; vertical-align: middle; }
.aap-msg-storage-banner__cta {
  flex: 0 0 auto;
  appearance: none;
  border: 1px solid var(--status-info, #1d4ed8);
  background: var(--status-info, #1d4ed8);
  color: #fff;
  font-weight: 700;
  font-size: 0.76rem;
  padding: 0.35rem 0.75rem;
  border-radius: var(--radius-pill, 999px);
  cursor: pointer;
  white-space: nowrap;
  transition: transform var(--motion-fast, 120ms) ease, filter var(--motion-fast, 120ms) ease;
}
.aap-msg-storage-banner.is-warn .aap-msg-storage-banner__cta {
  border-color: var(--status-warn, #b45309);
  background: var(--status-warn, #b45309);
}
.aap-msg-storage-banner__cta:hover { transform: translateY(-1px); filter: brightness(1.05); }

/* Composer toolbar */
/* The reply form is a flex row (textarea + Send). Let it wrap so the full-width
   toolbar below sits on its OWN line above the input instead of being squeezed
   in next to Send. */
.msg-conv-reply { flex-wrap: wrap !important; }
.aap-msg-composer-toolbar {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  width: 100%;
  flex: 0 0 100%;       /* guarantee the toolbar takes a full row of its own */
  padding: 0.15rem 0 0.4rem;
  order: -1;            /* sit above the textarea in the flex form */
}
.aap-msg-tool-wrap { position: relative; }
.aap-msg-tool {
  appearance: none;
  border: 1px solid rgba(15, 53, 87, 0.14);
  background: #fff;
  color: var(--text, #172638);
  font-size: 0.76rem;
  font-weight: 600;
  padding: 0.3rem 0.6rem;
  border-radius: var(--radius-pill, 999px);
  cursor: pointer;
  transition: background var(--motion-fast, 120ms) ease, transform var(--motion-fast, 120ms) ease;
}
.aap-msg-tool:hover { background: color-mix(in srgb, var(--page-accent, #1d5f95) 8%, #fff); transform: translateY(-1px); }
.aap-msg-template-menu {
  position: absolute;
  bottom: calc(100% + 0.35rem);
  left: 0;
  z-index: 30;
  background: #fff;
  border: 1px solid rgba(15, 53, 87, 0.14);
  border-radius: var(--radius-md, 8px);
  box-shadow: 0 12px 30px rgba(15, 53, 87, 0.18);
  padding: 0.3rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 160px;
}
.aap-msg-template-menu button {
  appearance: none;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 0.4rem 0.55rem;
  border-radius: 6px;
  font-size: 0.8rem;
  cursor: pointer;
  color: var(--text, #172638);
}
.aap-msg-template-menu button:hover { background: color-mix(in srgb, var(--page-accent, #1d5f95) 10%, #fff); }
.aap-msg-attach-list { display: inline-flex; gap: 0.35rem; flex-wrap: wrap; }
.aap-msg-attach-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background: color-mix(in srgb, var(--status-info, #1d4ed8) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--status-info, #1d4ed8) 22%, transparent);
  border-radius: var(--radius-pill, 999px);
  padding: 0.18rem 0.5rem;
  font-size: 0.72rem;
}
.aap-msg-attach-chip em { font-style: normal; color: var(--status-info, #1d4ed8); font-weight: 600; }

/* Per-message hover actions */
.msg-entry { position: relative; }
.aap-msg-entry-actions {
  position: absolute;
  top: 0.35rem;
  right: 0.45rem;
  display: flex;
  gap: 0.25rem;
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity var(--motion-fast, 120ms) ease, transform var(--motion-fast, 120ms) ease;
}
.msg-entry:hover .aap-msg-entry-actions { opacity: 1; transform: translateY(0); }
.aap-msg-entry-actions button {
  appearance: none;
  border: 1px solid rgba(15, 53, 87, 0.14);
  background: rgba(255, 255, 255, 0.95);
  color: var(--text, #172638);
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.16rem 0.4rem;
  border-radius: 6px;
  cursor: pointer;
}
.aap-msg-entry-actions button:hover { background: color-mix(in srgb, var(--page-accent, #1d5f95) 12%, #fff); }

/* --- Phase 49 (refine): brand wordmark colors + centering ---
   "AdvanceAPractice": the middle "A" is red to match the logo's medical cross,
   the rest is a lighter brand blue. Centered under the (centered) logo. */
body .sidebar .sidebar__brand-name,
body.client-facing-hub .sidebar .sidebar__brand-name,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-name {
  text-align: center !important;
}
.sidebar__brand-name .aap-wordmark {
  color: #3b82f6 !important;        /* lighter brand blue for the wordmark */
  font-weight: 800 !important;
}
.sidebar__brand-name .aap-wordmark__a {
  color: #e11d2e !important;        /* red "A" to match the logo */
  font-weight: 900 !important;
}

/* --- Phase 49 (refine): account-menu identity header (topbar is avatar-only) --- */
.topbar__user-menu-identity {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 0.7rem;
  margin-bottom: 0.35rem;
  border-bottom: 1px solid rgba(15, 53, 87, 0.10);
}
.topbar__user-menu-avatar {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.8rem;
  color: #fff;
  background: linear-gradient(135deg, #0040d0, #001448);
  flex: 0 0 auto;
}
.topbar__user-menu-name {
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--text, #172638);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ============================================================
   PHASE 50 — Client activation + welcome + operator invite UI
   ============================================================ */
.aap-activate-overlay, .aap-welcome-overlay, .aap-invite-overlay {
  position: fixed; inset: 0; z-index: 9500;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(1200px 600px at 50% -10%, rgba(0,64,208,0.18), rgba(15,32,44,0.62));
  backdrop-filter: blur(6px);
  padding: 1.25rem; animation: aapToastIn 220ms var(--easing-emphasized, ease);
}
.aap-activate-card, .aap-welcome-card, .aap-invite-card {
  width: 100%; max-width: 460px; background: #fff; color: var(--text, #172638);
  border-radius: var(--radius-xl, 14px); padding: 1.6rem 1.5rem;
  box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 30px 70px rgba(15,32,44,0.4);
  position: relative; max-height: 92vh; overflow-y: auto;
}
.aap-welcome-card { max-width: 560px; }
.aap-invite-card { max-width: 520px; }
.aap-activate__brand { text-align: center; font-size: 19px; font-weight: 800; letter-spacing: -0.01em; margin-bottom: 0.4rem; }
.aap-activate__title, .aap-welcome__title, .aap-invite__title { font-size: 1.3rem; font-weight: 800; margin: 0.2rem 0 0.3rem; text-align: center; }
.aap-invite__title { text-align: left; }
.aap-activate__sub, .aap-welcome__sub, .aap-invite__sub { font-size: 0.9rem; color: rgba(15,53,87,0.7); margin: 0 0 1.1rem; text-align: center; line-height: 1.5; }
.aap-invite__sub { text-align: left; }
.aap-activate__label { display: block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: #4d6178; margin: 0.7rem 0 0.25rem; }
.aap-activate__input {
  width: 100%; box-sizing: border-box; padding: 0.6rem 0.7rem; font-size: 0.95rem;
  border: 1px solid var(--border, #d7e0ea); border-radius: var(--radius-md, 8px); background: #fff;
}
.aap-activate__input:focus-visible { outline: none; border-color: var(--page-accent, #1d5f95); box-shadow: 0 0 0 3px color-mix(in srgb, var(--page-accent, #1d5f95) 28%, transparent); }
.aap-act-strength { height: 5px; border-radius: 999px; background: rgba(15,53,87,0.10); margin: 0.45rem 0 0.2rem; overflow: hidden; }
.aap-act-strength span { display: block; height: 100%; width: 0; border-radius: 999px; transition: width 200ms ease, background 200ms ease; background: #cbd5e1; }
.aap-act-strength span.weak { background: var(--status-danger, #b91c1c); }
.aap-act-strength span.fair { background: var(--status-warn, #b45309); }
.aap-act-strength span.good { background: #2563eb; }
.aap-act-strength span.strong { background: var(--status-success, #0f8a4a); }
.aap-act-check { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.86rem; color: #33485f; margin: 0.9rem 0 0.4rem; line-height: 1.4; }
.aap-act-check input { margin-top: 0.15rem; flex: 0 0 auto; }
.aap-act-msg { font-size: 0.82rem; font-weight: 600; padding: 0.5rem 0.7rem; border-radius: var(--radius-md, 8px); margin: 0.5rem 0; }
.aap-act-msg--warn { background: var(--status-warn-soft, #fff7ed); color: var(--status-warn, #b45309); }
.aap-act-msg--danger { background: var(--status-danger-soft, #fef2f2); color: var(--status-danger, #b91c1c); }
.aap-act-submit, .aap-welcome__done { width: 100%; margin-top: 0.85rem; padding: 0.65rem 1rem !important; font-size: 0.95rem !important; }
.aap-act-foot { text-align: center; font-size: 0.78rem; color: #6b7c8e; margin: 0.9rem 0 0; }

/* Welcome grid */
.aap-welcome__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin: 0.4rem 0 0.2rem; }
.aap-welcome__tile {
  text-align: left; border: 1px solid rgba(15,53,87,0.10); border-radius: var(--radius-lg, 10px);
  background: linear-gradient(180deg, #fff, #f7fbff); padding: 0.85rem; cursor: pointer;
  display: flex; flex-direction: column; gap: 0.2rem; transition: transform 140ms ease, box-shadow 140ms ease;
}
.aap-welcome__tile:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover, 0 6px 20px rgba(15,53,87,0.14)); }
.aap-welcome__tile strong { font-size: 0.92rem; }
.aap-welcome__tile span:last-child { font-size: 0.78rem; color: rgba(15,53,87,0.65); line-height: 1.4; }
.aap-welcome__icon { font-size: 1.4rem; }

/* Invite modal */
.aap-invite__close { position: absolute; top: 0.7rem; right: 0.8rem; border: 0; background: transparent; font-size: 1.5rem; line-height: 1; color: rgba(15,53,87,0.5); cursor: pointer; }
.aap-invite__close:hover { color: var(--text); }
.aap-inv-result { margin-top: 1rem; padding: 0.9rem 1rem; border: 1px solid var(--status-info-border, #bfdbfe); background: var(--status-info-soft, #eff6ff); border-radius: var(--radius-lg, 10px); }
.aap-inv-result__title { font-weight: 800; display: flex; align-items: center; gap: 0.5rem; }
.aap-inv-result__note { font-size: 0.8rem; color: #4d6178; margin: 0.4rem 0 0.6rem; }
.aap-inv-cred { display: flex; align-items: center; gap: 0.6rem; margin: 0.25rem 0; font-size: 0.85rem; }
.aap-inv-cred span { color: #4d6178; min-width: 96px; }
.aap-inv-cred code { font-family: monospace; font-weight: 700; background: #fff; padding: 0.15rem 0.45rem; border-radius: 6px; border: 1px solid rgba(15,53,87,0.12); }
.aap-inv-cred em { color: #b45309; font-size: 0.8rem; }
.aap-inv-copy { margin-top: 0.7rem; }
.aap-inv-list { margin-top: 1.1rem; }
.aap-inv-list__head { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #4d6178; margin-bottom: 0.5rem; }
.aap-inv-row { display: flex; align-items: center; gap: 0.6rem; padding: 0.45rem 0; border-top: 1px solid rgba(15,53,87,0.07); font-size: 0.85rem; }
.aap-inv-row__email { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.aap-inv-resend { border: 1px solid rgba(15,53,87,0.16); background: #fff; border-radius: 999px; padding: 0.22rem 0.6rem; font-size: 0.74rem; font-weight: 600; cursor: pointer; }
.aap-inv-resend:hover { background: color-mix(in srgb, var(--page-accent, #1d5f95) 10%, #fff); }
.aap-inv-empty { font-size: 0.82rem; color: rgba(15,53,87,0.55); padding: 0.4rem 0; }
@media (max-width: 520px) { .aap-welcome__grid { grid-template-columns: 1fr; } }

/* ============================================================
   PHASE 51 (Part B) — Owner Revenue Snapshot band
   ============================================================ */
.aap-owner-snapshot { padding: 1.1rem 1.2rem; margin: 0.6rem 0 1rem; }
.aap-owner-snapshot__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 0.8rem; }
.aap-owner-snapshot__title { font-size: 1rem; font-weight: 800; margin: 0.15rem 0 0; color: var(--text, #172638); }
.aap-owner-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.7rem; margin-bottom: 1rem; }
.aap-owner-kpi { border: 1px solid rgba(15,53,87,0.08); border-radius: var(--radius-md, 8px); background: linear-gradient(180deg,#fff,#f7fbff); padding: 0.7rem 0.8rem; }
.aap-owner-kpi__value { font-size: 1.3rem; font-weight: 800; letter-spacing: -0.01em; }
.aap-owner-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.aap-owner-chart { border: 1px solid rgba(15,53,87,0.08); border-radius: var(--radius-md, 8px); padding: 0.8rem 0.9rem; background: #fff; }
.aap-owner-actions { border-top: 1px solid rgba(15,53,87,0.08); padding-top: 0.7rem; }
.aap-owner-action { display: flex; align-items: center; gap: 0.7rem; padding: 0.55rem 0.4rem; border-bottom: 1px solid rgba(15,53,87,0.06); }
.aap-owner-action:last-child { border-bottom: 0; }
.aap-owner-action__rank { flex: 0 0 auto; width: 1.5rem; height: 1.5rem; border-radius: 999px; background: color-mix(in srgb, var(--page-accent,#1d5f95) 14%, #fff); color: var(--page-accent,#1d5f95); font-weight: 800; font-size: 0.78rem; display: inline-flex; align-items: center; justify-content: center; }
.aap-owner-action__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.aap-owner-action__body strong { font-size: 0.9rem; }
.aap-owner-action__body span { font-size: 0.78rem; color: rgba(15,53,87,0.65); }
.aap-owner-action__impact { font-weight: 800; color: var(--status-danger,#b91c1c); font-variant-numeric: tabular-nums; }
.aap-owner-action__rail { display: inline-flex; gap: 0.35rem; flex: 0 0 auto; }
.aap-owner-act-btn { border: 1px solid rgba(15,53,87,0.16); background: #fff; border-radius: 999px; padding: 0.25rem 0.6rem; font-size: 0.74rem; font-weight: 600; cursor: pointer; }
.aap-owner-act-btn:hover { background: color-mix(in srgb, var(--page-accent,#1d5f95) 10%, #fff); transform: translateY(-1px); }
@media (max-width: 1100px) { .aap-owner-kpis { grid-template-columns: repeat(2, 1fr); } .aap-owner-charts { grid-template-columns: 1fr; } }

/* ============================================================
   PHASE 52 (Part E) — Insight Lab modal
   ============================================================ */
.aap-il-card { max-width: 620px; }
.aap-il-status { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.6rem; margin: 0.6rem 0; }
.aap-il-stat { border: 1px solid rgba(15,53,87,0.08); border-radius: var(--radius-md, 8px); padding: 0.55rem 0.7rem; background: #fff; }
.aap-il-stat span { display: block; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: #4d6178; font-weight: 700; }
.aap-il-stat strong { font-size: 0.95rem; }
.aap-il-cred { display: flex; align-items: center; gap: 0.6rem; margin: 0.4rem 0 0.2rem; font-size: 0.85rem; }
.aap-il-cred span { color: #4d6178; min-width: 80px; }
.aap-il-cred code { font-family: monospace; background: #f6f9fc; padding: 0.15rem 0.45rem; border-radius: 6px; border: 1px solid rgba(15,53,87,0.12); font-size: 0.74rem; word-break: break-all; }
.aap-il-hint { font-size: 0.78rem; color: rgba(15,53,87,0.65); margin: 0.2rem 0 0.8rem; }
.aap-il-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 0.6rem; }
.aap-il-bar { display: grid; grid-template-columns: minmax(70px,110px) 1fr 32px; gap: 0.5rem; align-items: center; font-size: 0.78rem; margin: 0.2rem 0; }
.aap-il-bar__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: rgba(15,53,87,0.75); text-transform: capitalize; }
.aap-il-bar__track { height: 7px; background: rgba(15,53,87,0.08); border-radius: 999px; overflow: hidden; }
.aap-il-bar__fill { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, color-mix(in srgb, var(--page-accent,#1d5f95) 70%, #fff), var(--page-accent,#1d5f95)); }
.aap-il-bar__val { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.aap-il-consent { max-height: 150px; overflow-y: auto; border: 1px solid rgba(15,53,87,0.08); border-radius: var(--radius-md,8px); }
.aap-il-consent-row { display: flex; align-items: center; gap: 0.7rem; padding: 0.4rem 0.6rem; border-bottom: 1px solid rgba(15,53,87,0.06); font-size: 0.83rem; }
.aap-il-consent-row:last-child { border-bottom: 0; }
.aap-il-consent__name { flex: 1; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aap-il-consent__count { color: rgba(15,53,87,0.6); font-size: 0.76rem; }
.aap-il-switch { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.76rem; color: #4d6178; }
.aap-il-actions { display: flex; gap: 0.5rem; margin-top: 0.9rem; }

/* Phase 50: account-menu auto-lock select — show the full "60 min" label. */
.topbar__menu-label { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; }
.topbar__menu-label select#lock-timeout-select,
#topbar-user-menu-panel #lock-timeout-select {
  min-width: 5.5rem !important;
  padding: 0.25rem 1.6rem 0.25rem 0.5rem !important;
  font-size: 0.82rem !important;
}

/* === END PHASE 49b === */

/* PHASE 50 prep: larger product mark requested in live sidebar screenshot.
   Keep this at file end so it wins over every older sidebar/logo phase. */
body .sidebar .sidebar__brand,
body.client-facing-hub .sidebar .sidebar__brand,
body[data-current-page="operator-console"] .sidebar .sidebar__brand {
  padding-top: 1.05rem !important;
  padding-bottom: 1rem !important;
}

body .sidebar .sidebar__brand-lockup .sidebar__brand-logo,
body.client-facing-hub .sidebar .sidebar__brand-lockup .sidebar__brand-logo,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-lockup .sidebar__brand-logo {
  width: clamp(5rem, 5.6vw, 6.25rem) !important;
  max-width: clamp(5rem, 5.6vw, 6.25rem) !important;
  min-width: clamp(5rem, 5.6vw, 6.25rem) !important;
  height: clamp(5rem, 5.6vw, 6.25rem) !important;
  object-fit: contain !important;
  align-self: center !important;
  filter:
    brightness(1.12)
    saturate(1.22)
    drop-shadow(0 0 18px rgba(120, 170, 255, 0.42))
    drop-shadow(0 12px 26px rgba(0, 64, 208, 0.34)) !important;
}

body .sidebar .sidebar__brand-name,
body.client-facing-hub .sidebar .sidebar__brand-name,
body[data-current-page="operator-console"] .sidebar .sidebar__brand-name {
  align-self: center !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  body .sidebar .sidebar__brand-lockup .sidebar__brand-logo,
  body.client-facing-hub .sidebar .sidebar__brand-lockup .sidebar__brand-logo,
  body[data-current-page="operator-console"] .sidebar .sidebar__brand-lockup .sidebar__brand-logo {
    width: 4.4rem !important;
    max-width: 4.4rem !important;
    min-width: 4.4rem !important;
    height: 4.4rem !important;
  }
}

/* ============================================================
   PHASE 53 — Workflow OS (Library cards / Detail drawer / Builder / Templates)
   Extends the existing .wf-* workflow module. Net-new classes only.
   ============================================================ */
/* Chips */
.wf-chip { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.16rem 0.55rem; border-radius: 999px; font-size: 0.72rem; font-weight: 700; background: #eef4fb; color: #2c4a68; border: 1px solid rgba(15,53,87,0.10); white-space: nowrap; }
.wf-chip--stage { background: #eef2ff; color: #4338ca; border-color: rgba(67,56,202,0.18); }
.wf-chip--auto  { background: #ecfdf5; color: #047857; border-color: rgba(4,120,87,0.18); }
.wf-chip--warn  { background: #fff7ed; color: #b45309; border-color: rgba(180,83,9,0.20); text-transform: capitalize; }
.wf-chip--sm    { font-size: 0.68rem; padding: 0.12rem 0.45rem; font-weight: 600; }

/* Status badges (new variants; base + active/draft/paused/error already defined) */
.wf-badge--live     { background: #e0edff; color: #1d4ed8; }
.wf-badge--review   { background: #ede9fe; color: #6d28d9; }
.wf-badge--archived { background: #e5e7eb; color: #4b5563; }

/* Completeness meter + lifecycle levels */
.wf-completeness { display: inline-flex; align-items: center; gap: 0.4rem; }
.wf-completeness__bar { width: 54px; height: 6px; border-radius: 999px; background: rgba(15,53,87,0.12); overflow: hidden; flex: 0 0 auto; }
.wf-completeness__bar > span { display: block; height: 100%; border-radius: 999px; background: currentColor; }
.wf-completeness__num { font-size: 0.72rem; font-weight: 800; }
.wf-lvl--ready  { color: #15803d; }
.wf-lvl--op     { color: #1d4ed8; }
.wf-lvl--mapped { color: #b45309; }
.wf-lvl--draft  { color: #6b7280; }

/* Library OS card */
.wf-card--os { display: flex; flex-direction: column; cursor: pointer; }
.wf-card--os:hover { box-shadow: 0 6px 22px rgba(15,53,87,0.13); transform: translateY(-2px); }
.wf-card--os { transition: box-shadow 0.15s ease, transform 0.15s ease; }
.wf-card--os:focus-visible { outline: 2px solid var(--page-accent, #1d5f95); outline-offset: 2px; }
.wf-card--os .wf-card__top { align-items: center; gap: 0.6rem; }
.wf-card__meta { display: inline-flex; gap: 0.4rem; align-items: center; flex-wrap: wrap; }
.wf-card__facets { display: flex; flex-wrap: wrap; gap: 0.45rem 0.9rem; font-size: 0.75rem; color: #5a6f86; margin: 0 0 0.75rem; }
.wf-card__facets span { display: inline-flex; align-items: center; gap: 0.28rem; min-width: 0; }
.wf-card--os .wf-card__controls { margin-top: auto; padding-top: 0.7rem; border-top: 1px solid rgba(15,53,87,0.07); flex-wrap: wrap; }

/* Builder — professional OS field section */
.wf-os-fields { border-top: 1px dashed rgba(15,53,87,0.16); margin-top: 0.6rem; padding-top: 0.7rem; }
.wf-os-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem 0.8rem; }
.wf-os-toggles { display: flex; flex-direction: column; gap: 0.35rem; margin-top: 0.7rem; }

/* Templates modal */
.wf-modal-overlay { position: fixed; inset: 0; z-index: 9600; display: flex; align-items: flex-start; justify-content: center; padding: 2.5rem 1.25rem; overflow-y: auto; background: rgba(15,32,44,0.55); backdrop-filter: blur(5px); animation: aapToastIn 200ms ease; }
.wf-modal { width: 100%; max-width: 880px; background: #fff; border-radius: 14px; box-shadow: 0 30px 70px rgba(15,32,44,0.4); padding: 1.4rem 1.5rem 1.6rem; }
.wf-modal__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 0.3rem; }
.wf-modal__header h3 { margin: 0; font-size: 1.15rem; font-weight: 800; color: #0d2a44; }
.wf-modal__sub { margin: 0.2rem 0 0; font-size: 0.85rem; color: #5a6f86; }
.wf-modal__close { border: 0; background: transparent; font-size: 1.2rem; color: rgba(15,53,87,0.5); cursor: pointer; line-height: 1; flex-shrink: 0; }
.wf-modal__close:hover { color: #0d2a44; }
.wf-modal__actions { margin: 0.6rem 0 1rem; }
.wf-modal__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 0.9rem; }
.wf-tpl-card { border: 1px solid rgba(15,53,87,0.12); border-radius: 10px; padding: 0.9rem 1rem; background: linear-gradient(180deg,#fff,#f8fbff); display: flex; flex-direction: column; }
.wf-tpl-card__top { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 0.5rem; }
.wf-tpl-card h4 { margin: 0 0 0.3rem; font-size: 0.95rem; font-weight: 800; color: #0d2a44; }
.wf-tpl-card__owner { margin: 0 0 0.5rem; font-size: 0.76rem; color: #5a6f86; }
.wf-tpl-card__steps { margin: 0 0 0.5rem; padding-left: 1.1rem; font-size: 0.78rem; color: #3d556e; line-height: 1.5; }
.wf-tpl-card__sys { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0 0 0.7rem; }
.wf-tpl-use { margin-top: auto; align-self: flex-start; }

/* Detail drawer (slide-in from right) */
.wf-drawer-overlay { position: fixed; inset: 0; z-index: 9600; background: rgba(15,32,44,0); transition: background 200ms ease; display: flex; justify-content: flex-end; }
.wf-drawer-overlay.open { background: rgba(15,32,44,0.5); backdrop-filter: blur(3px); }
.wf-drawer { width: min(560px, 94vw); height: 100%; background: #fff; box-shadow: -20px 0 60px rgba(15,32,44,0.35); display: flex; flex-direction: column; transform: translateX(100%); transition: transform 220ms var(--easing-emphasized, cubic-bezier(.2,.8,.2,1)); }
.wf-drawer-overlay.open .wf-drawer { transform: translateX(0); }
.wf-drawer__head { padding: 1.3rem 1.4rem 1rem; border-bottom: 1px solid rgba(15,53,87,0.10); display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.wf-drawer__head h3 { margin: 0.5rem 0 0.2rem; font-size: 1.2rem; font-weight: 800; color: #0d2a44; }
.wf-drawer__chips { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.wf-drawer__desc { margin: 0.3rem 0 0; font-size: 0.85rem; color: #5a6f86; line-height: 1.5; }
.wf-drawer__close { border: 0; background: transparent; font-size: 1.2rem; color: rgba(15,53,87,0.5); cursor: pointer; line-height: 1; flex-shrink: 0; }
.wf-drawer__close:hover { color: #0d2a44; }
.wf-drawer__scroll { flex: 1; overflow-y: auto; padding: 1.1rem 1.4rem; }
.wf-drawer__metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; margin-bottom: 1.1rem; }
.wf-d-metric { border: 1px solid rgba(15,53,87,0.08); border-radius: 8px; background: linear-gradient(180deg,#fff,#f7fbff); padding: 0.55rem 0.7rem; }
.wf-d-metric__label { display: block; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #7286a0; margin-bottom: 0.2rem; }
.wf-d-metric__val { font-size: 0.92rem; font-weight: 800; color: #0d2a44; }
.wf-d-section { margin-bottom: 1.1rem; }
.wf-d-section h4 { margin: 0 0 0.4rem; font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: #425971; }
.wf-d-section p { margin: 0; font-size: 0.86rem; color: #33485f; line-height: 1.5; }
.wf-d-checklist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem 0.8rem; }
.wf-d-checklist li { display: flex; align-items: center; gap: 0.45rem; font-size: 0.82rem; color: #33485f; }
.wf-d-checklist li.miss { color: #9aa7b5; }
.wf-d-check { display: inline-flex; width: 1.1rem; height: 1.1rem; border-radius: 999px; align-items: center; justify-content: center; font-size: 0.7rem; font-weight: 800; flex-shrink: 0; }
.wf-d-checklist li.ok .wf-d-check { background: #d1fae5; color: #065f46; }
.wf-d-checklist li.miss .wf-d-check { background: #eef1f4; color: #9aa7b5; }
.wf-d-ready { margin: 0; font-size: 0.85rem; color: #065f46; background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: 8px; padding: 0.6rem 0.7rem; }
.wf-d-notready { margin: 0; font-size: 0.85rem; color: #92400e; background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px; padding: 0.6rem 0.7rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; line-height: 1.6; }
.wf-d-steps, .wf-d-list { margin: 0; padding-left: 1.2rem; font-size: 0.86rem; color: #33485f; line-height: 1.6; }
.wf-d-empty { margin: 0; font-size: 0.84rem; color: #9aa7b5; font-style: italic; }
.wf-d-timeline { list-style: none; margin: 0; padding: 0; }
.wf-d-timeline li { position: relative; padding: 0 0 0.9rem 1.2rem; border-left: 2px solid rgba(15,53,87,0.10); }
.wf-d-timeline li:last-child { padding-bottom: 0; border-left-color: transparent; }
.wf-d-timeline__dot { position: absolute; left: -0.42rem; top: 0.15rem; width: 0.7rem; height: 0.7rem; border-radius: 999px; background: var(--page-accent, #1d5f95); border: 2px solid #fff; }
.wf-d-timeline strong { font-size: 0.84rem; color: #0d2a44; }
.wf-d-timeline__field { font-size: 0.74rem; color: #5a6f86; margin-left: 0.4rem; }
.wf-d-timeline__change { display: inline-block; font-size: 0.74rem; color: #3d556e; background: #f1f5f9; border-radius: 4px; padding: 0.05rem 0.35rem; margin-left: 0.4rem; }
.wf-d-timeline__note { margin: 0.2rem 0 0; font-size: 0.8rem; color: #5a6f86; }
.wf-d-timeline small { display: block; margin-top: 0.15rem; font-size: 0.72rem; color: #9aa7b5; }
.wf-drawer__foot { border-top: 1px solid rgba(15,53,87,0.10); padding: 0.9rem 1.4rem; display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; flex-wrap: wrap; background: #fafcff; }
.wf-drawer__status { display: flex; align-items: center; gap: 0.4rem; font-size: 0.78rem; font-weight: 700; color: #5a6f86; }
.wf-drawer__status select { font-size: 0.82rem; padding: 0.3rem 0.5rem; border: 1px solid rgba(15,53,87,0.18); border-radius: 6px; background: #fff; }
.wf-drawer__foot-btns { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.wf-d-danger { color: #b91c1c !important; border-color: rgba(185,28,28,0.3) !important; }

/* Empty state */
.wf-empty-state { text-align: center; padding: 3rem 1.5rem; border: 1px dashed rgba(15,53,87,0.18); border-radius: 14px; background: linear-gradient(180deg,#fff,#f7fbff); }
.wf-empty-state h3 { margin: 0 0 0.5rem; font-size: 1.2rem; font-weight: 800; color: #0d2a44; }
.wf-empty-state p { max-width: 540px; margin: 0 auto 1.2rem; font-size: 0.9rem; color: #5a6f86; line-height: 1.6; }
.wf-empty-state__actions { display: flex; gap: 0.6rem; justify-content: center; flex-wrap: wrap; }

@media (max-width: 600px) {
  .wf-os-grid, .wf-drawer__metrics, .wf-d-checklist { grid-template-columns: 1fr; }
}

/* ============================================================
   PHASE 54 — Operator "Add Clinic": clinic profile manager modal
   Reuses .aap-glass / .aap-invite__* / .aap-activate__input / .aap-status.
   ============================================================ */
.aap-clinic-overlay {
  position: fixed; inset: 0; z-index: 9550;
  display: flex; align-items: flex-start; justify-content: center;
  background: radial-gradient(1200px 600px at 50% -10%, rgba(0,64,208,0.18), rgba(15,32,44,0.62));
  backdrop-filter: blur(6px); padding: 2.5rem 1.25rem; overflow-y: auto;
  animation: aapToastIn 220ms var(--easing-emphasized, ease);
}
.aap-clinic-card-modal {
  width: 100%; max-width: 780px; background: #fff; color: var(--text, #172638);
  border-radius: var(--radius-xl, 14px); padding: 1.6rem 1.6rem 1.4rem;
  box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 30px 70px rgba(15,32,44,0.4);
  position: relative;
}
.aap-clinic-formwrap {
  border: 1px solid rgba(15,53,87,0.10); border-radius: var(--radius-lg, 10px);
  background: linear-gradient(180deg, #fff, #f7fbff); padding: 1rem 1.1rem; margin: 0.4rem 0 1.2rem;
}
.aap-clinic-form__head { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; margin-bottom: 0.8rem; }
.aap-clinic-form__head > span { font-weight: 800; font-size: 0.95rem; }
.aap-clinic-form__foot { display: flex; justify-content: flex-end; margin-top: 0.9rem; }
.aap-clinic-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem 0.8rem; }
.aap-clinic-f { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; }
.aap-clinic-f--wide { grid-column: 1 / -1; }
.aap-clinic-f > span { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: #4d6178; }
.aap-clinic-f .aap-activate__input { font-size: 0.9rem; padding: 0.5rem 0.6rem; }
.aap-clinic-f textarea.aap-activate__input { resize: vertical; min-height: 2.6rem; }
.aap-clinic-req { color: var(--status-danger, #b91c1c); }
.aap-clinic-list { margin-top: 0.4rem; display: flex; flex-direction: column; gap: 0.6rem; }
.aap-clinic-card { border: 1px solid rgba(15,53,87,0.10); border-radius: var(--radius-lg, 10px); background: #fff; padding: 0.85rem 0.95rem; }
.aap-clinic-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.8rem; }
.aap-clinic-card__name { font-weight: 800; font-size: 0.98rem; }
.aap-clinic-card__slug { font-size: 0.76rem; color: rgba(15,53,87,0.75); margin-top: 0.1rem; }
.aap-clinic-card__facts { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.6rem 0 0; }
.aap-clinic-card__facts span { font-size: 0.74rem; font-weight: 600; color: #33485f; background: color-mix(in srgb, var(--page-accent,#1d5f95) 8%, #f3f7fb); border: 1px solid rgba(15,53,87,0.10); border-radius: 999px; padding: 0.16rem 0.55rem; }
.aap-clinic-card__actions { display: flex; gap: 0.5rem; margin-top: 0.8rem; flex-wrap: wrap; }
.aap-clinic-card__actions .aap-btn { padding: 0.4rem 0.8rem !important; font-size: 0.82rem !important; }
@media (max-width: 640px) { .aap-clinic-grid { grid-template-columns: 1fr; } }

/* ============================================================
   PHASE 55 — Operator "Set up connectors": per-clinic connector posture.
   Reuses the Phase 54 clinic modal shell (.aap-clinic-overlay / -card-modal /
   -formwrap / -grid / -list / -card). Adds: a readiness line on the clinic
   card, the connector modal's write-only secret affordances, and the invite
   modal's soft "no connectors yet" nudge.
   ============================================================ */
/* Stack the connector modal above the clinic manager when launched from it. */
.aap-conn-overlay { z-index: 9560; }

/* Connector readiness line on each clinic card. */
.aap-clinic-conn { display: flex; align-items: center; gap: 0.45rem; margin: 0.6rem 0 0; font-size: 0.78rem; font-weight: 600; }
.aap-clinic-conn__dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; flex: 0 0 auto; }
.aap-clinic-conn--set { color: #1f6f43; }
.aap-clinic-conn--set .aap-clinic-conn__dot { background: var(--status-success, #1f9d57); box-shadow: 0 0 0 3px rgba(31,157,87,0.16); }
.aap-clinic-conn--none { color: #9a6a16; }
.aap-clinic-conn--none .aap-clinic-conn__dot { background: var(--status-warn, #d9a441); box-shadow: 0 0 0 3px rgba(217,164,65,0.18); }

/* Write-only secret affordances inside the connector form. */
.aap-conn-secretwrap { margin: 0.2rem 0 0.4rem; }
.aap-conn-secret-state {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem;
  font-size: 0.8rem; font-weight: 600; color: #33485f;
  background: color-mix(in srgb, var(--page-accent,#1d5f95) 7%, #f4f8fc);
  border: 1px solid rgba(15,53,87,0.10); border-radius: var(--radius-md, 8px);
  padding: 0.45rem 0.7rem; margin-bottom: 0.5rem;
}
.aap-conn-clear { display: inline-flex; align-items: center; gap: 0.35rem; font-weight: 600; cursor: pointer; }
.aap-conn-clear input { accent-color: var(--status-danger, #b91c1c); }
.aap-conn-secret-note { margin: 0.3rem 0 0; font-size: 0.72rem; color: #5a6b7d; }

/* Soft, non-blocking nudge in the invite modal when a clinic has 0 connectors. */
.aap-inv-connhint {
  margin: 0.1rem 0 0.7rem; font-size: 0.78rem; line-height: 1.4; color: #9a6a16;
  background: color-mix(in srgb, var(--status-warn,#d9a441) 12%, #fffaf0);
  border: 1px solid rgba(217,164,65,0.35); border-radius: var(--radius-md, 8px);
  padding: 0.5rem 0.7rem;
}
.aap-inv-connlink {
  background: none; border: none; padding: 0; font: inherit; font-weight: 700;
  color: var(--page-accent, #1d5f95); text-decoration: underline; cursor: pointer;
}

/* ============================================================
   PHASE 56 — Training "sneak peek" clips: live-capture GIFs of the
   suite performing real actions in each module. Adds a hero clip in
   the Help/Training drawer, metadata cards, a library preview badge,
   and a focused lightbox. Clips degrade gracefully (the hero hides
   and the lightbox shows a friendly note) until a file exists.
   ============================================================ */
/* Hero clip button at the top of the Training drawer's video target. */
.help-clip-hero {
  position: relative; display: block; width: 100%; padding: 0; margin: 0 0 0.9rem;
  border: 1px solid rgba(15,53,87,0.14); border-radius: var(--radius-lg, 14px);
  overflow: hidden; cursor: pointer; background: #0c1c2c; line-height: 0;
  box-shadow: 0 10px 28px rgba(12,28,44,0.18); transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.help-clip-hero:hover { transform: translateY(-2px); box-shadow: 0 16px 38px rgba(12,28,44,0.26); }
.help-clip-hero:focus-visible { outline: 3px solid var(--page-accent, #1d5f95); outline-offset: 2px; }
.help-clip-hero__img { display: block; width: 100%; height: auto; max-height: 340px; object-fit: cover; }
.help-clip-hero__scrim {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(12,28,44,0) 38%, rgba(12,28,44,0.62) 100%);
}
.help-clip-hero__play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.92); box-shadow: 0 6px 22px rgba(12,28,44,0.4); pointer-events: none;
}
.help-clip-hero__playicon {
  width: 0; height: 0; margin-left: 4px;
  border-top: 12px solid transparent; border-bottom: 12px solid transparent;
  border-left: 19px solid var(--page-accent, #1d5f95);
}
.help-clip-hero__cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 0.7rem 0.9rem;
  display: flex; align-items: center; gap: 0.5rem; pointer-events: none;
  font-size: 0.82rem; font-weight: 700; color: #fff; line-height: 1.3;
}
.help-clip-hero__cap span.help-clip-hero__live {
  font-size: 0.62rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
  background: var(--status-danger, #d23b3b); color: #fff; border-radius: 999px; padding: 0.12rem 0.5rem;
}
.help-clip-hero--missing { display: none; }

/* Library card actions + preview badge. */
.help-library-card__actions { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.6rem; }
.help-clip-badge {
  display: inline-flex; align-items: center; gap: 0.3rem; cursor: pointer;
  font-size: 0.76rem; font-weight: 700; color: var(--page-accent, #1d5f95);
  background: color-mix(in srgb, var(--page-accent,#1d5f95) 10%, #fff);
  border: 1px solid color-mix(in srgb, var(--page-accent,#1d5f95) 30%, #fff);
  border-radius: 999px; padding: 0.28rem 0.7rem; transition: background 0.16s ease;
}
.help-clip-badge:hover { background: color-mix(in srgb, var(--page-accent,#1d5f95) 18%, #fff); }

/* Focused clip lightbox. */
.aap-cliplb {
  position: fixed; inset: 0; z-index: 9600; display: flex; align-items: center; justify-content: center;
  padding: 2.2rem 1.2rem; background: rgba(8,18,30,0.72); backdrop-filter: blur(6px);
  animation: aapClipFade 0.18s ease both;
}
@keyframes aapClipFade { from { opacity: 0; } to { opacity: 1; } }
.aap-cliplb__panel {
  position: relative; display: grid; grid-template-columns: 1.55fr 1fr; gap: 0;
  width: min(1080px, 96vw); max-height: 90vh; overflow: hidden;
  background: #fff; border-radius: var(--radius-lg, 16px); box-shadow: 0 30px 80px rgba(8,18,30,0.5);
}
.aap-cliplb__media { background: #0c1c2c; display: flex; align-items: center; justify-content: center; min-height: 280px; }
.aap-cliplb__img { display: block; width: 100%; height: 100%; max-height: 90vh; object-fit: contain; }
/* P5: real MP4/WebM training walkthrough player (mirrors the GIF sneak-peek sizing). */
.aap-cliplb__video { display: block; width: 100%; height: auto; max-height: 90vh; background: #0b1220; object-fit: contain; }
.aap-cliplb__media.is-missing .aap-cliplb__video { display: none; }
.aap-cliplb__missing {
  display: none; flex-direction: column; align-items: center; gap: 0.4rem; text-align: center;
  padding: 2rem; color: #c7d6e6; font-size: 0.86rem; line-height: 1.5;
}
.aap-cliplb__media.is-missing .aap-cliplb__img { display: none; }
.aap-cliplb__media.is-missing .aap-cliplb__missing { display: flex; }
.aap-cliplb__meta { padding: 1.5rem 1.6rem; overflow-y: auto; }
.aap-cliplb__eyebrow {
  font-size: 0.68rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--page-accent, #1d5f95); margin: 0 0 0.4rem;
}
.aap-cliplb__title { font-size: 1.18rem; font-weight: 800; color: #112638; margin: 0 0 0.6rem; line-height: 1.25; }
.aap-cliplb__focus { font-size: 0.9rem; line-height: 1.5; color: #41566a; margin: 0 0 1rem; }
.aap-cliplb__stepslabel {
  font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
  color: #6b7d8f; margin: 0 0 0.5rem;
}
.aap-cliplb__steps { margin: 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: 0.4rem; }
.aap-cliplb__steps li { font-size: 0.85rem; line-height: 1.45; color: #33485f; }
.aap-cliplb__close {
  position: absolute; top: 0.7rem; right: 0.7rem; width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  background: rgba(255,255,255,0.92); border: 1px solid rgba(15,53,87,0.14); color: #112638;
  font-size: 1.2rem; line-height: 1; box-shadow: 0 4px 14px rgba(8,18,30,0.24); transition: background 0.16s ease;
}
.aap-cliplb__close:hover { background: #fff; }
@media (max-width: 760px) {
  .aap-cliplb__panel { grid-template-columns: 1fr; max-height: 92vh; }
  .aap-cliplb__media { min-height: 200px; }
}

/* ============================================================
   PHASE 58: menu fixes — appearance effects, contrast, spacing
   ============================================================ */

/* (C1) Make theme switching visibly change the app surface. The base rule
   `body.client-facing-hub { background:#f3f6f9 }` hard-codes the bg and was
   shadowing the per-theme `--bg` token, so theme switches did nothing visible.
   Scoping to [data-theme] keeps the default look untouched and lets each theme
   paint its own background (higher specificity + later source order wins). */
body.client-facing-hub[data-theme] { background: var(--bg); }
body.client-facing-hub[data-theme="behavioral-health-premium"] { background: linear-gradient(180deg, #f6f2ea, #efe8da); }
body.client-facing-hub[data-theme="executive-glass"] { background: linear-gradient(180deg, #eef4fc, #dfeaf7); }
body.client-facing-hub[data-theme="clinical-command"] { background: var(--bg); }

/* (Customization) Text size — scale the root so rem-based type grows uniformly.
   Fit-to-window: the root font-size also scales fluidly with the viewport width, so
   the whole UI (text, icons, padding, gaps, buttons — all rem-based) shrinks
   proportionally when the window is made smaller and controls stay usable at any
   size. Full size (16px) holds at ~1280px+; it eases down to a 12px floor as the
   window narrows toward ~760px (below that the mobile layout takes over). The
   data-font-scale accessibility preference multiplies this fluid base. */
:root { --aap-fluid-root: clamp(12px, calc(12px + (100vw - 760px) * 0.007692), 16px); }
html { font-size: var(--aap-fluid-root); }
html[data-font-scale="large"] { font-size: calc(var(--aap-fluid-root) * 1.078); }
html[data-font-scale="larger"] { font-size: calc(var(--aap-fluid-root) * 1.172); }

/* (Customization) Reduce motion — honor the user's choice app-wide. */
body[data-motion="reduced"] *,
body[data-motion="reduced"] *::before,
body[data-motion="reduced"] *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  scroll-behavior: auto !important;
}

/* (C4) Eyebrow CONTRAST. Module accents are tuned for ribbons/buttons (where
   white text sits on the accent) but several fail WCAG AA when the accent is
   used as small bold TEXT on a white panel (e.g. ops #ef6c00 ≈ 3.08:1,
   copilot #ff8f00 ≈ 2.3:1, operator #b8860b ≈ 3.4:1, market #00838f ≈ 3.9:1).
   Darken just the eyebrow text via color-mix (keeps the per-module hue) with a
   solid navy fallback for engines without color-mix. Ribbon/button accents are
   untouched. Mirrors the two accent-as-text selectors above (≈22737 / ≈22771). */
body.client-facing-hub .panel[class*="panel--module-"] > .panel__header .panel__eyebrow,
body.client-facing-hub .panel[class*="panel--module-"] .panel__eyebrow {
  color: #0f3557 !important;
  color: color-mix(in srgb, var(--module-accent, #0f3557) 58%, #08233b) !important;
}

/* (C5) Tasks page CTA row — spacing + contrast.
   The hint shared the flex row with the buttons (flex:1; min-width:200px),
   crowding them. Drop it to its own line. Also darken the primary CTA: white
   on #ef6c00 was ≈3.08:1 (fails AA); #b35100 lifts it to ≈5:1. */
.tasks-page-actions { gap: 0.8rem 0.9rem; padding: 0.85rem 1.05rem; }
.tasks-page-actions__hint {
  flex: 1 1 100%;
  min-width: 0;
  margin: 0.15rem 0 0;
}
/* Primary action buttons inside module panels were painted with the raw
   --module-accent + white text. For light accents (ops #ef6c00, copilot
   #ff8f00, market #00838f, operator #b8860b) white-on-accent fails WCAG AA
   (the Tasks "New task" button was ≈3.08:1). Darken the fill via color-mix
   (keeps the hue) so white text clears ~4.7:1+; thin ribbons/icons keep the
   vibrant accent. Mirrors the accent-button selector (≈22774) + later order. */
body.client-facing-hub .panel[class*="panel--module-"] .action-button:not([disabled]) {
  background: #0f3557 !important;
  background: color-mix(in srgb, var(--module-accent, #0f3557) 62%, #08233b) !important;
  border-color: #0f3557 !important;
  border-color: color-mix(in srgb, var(--module-accent, #0f3557) 62%, #08233b) !important;
  color: #fff !important;
}
/* Ghost-button hover also used the raw accent as text on white — darken it. */
body.client-facing-hub .panel[class*="panel--module-"] .ghost-button:not([disabled]):hover {
  border-color: color-mix(in srgb, var(--module-accent, #0f3557) 62%, #08233b) !important;
  color: #0f3557 !important;
  color: color-mix(in srgb, var(--module-accent, #0f3557) 58%, #08233b) !important;
}

/* Settings deep-link highlight — briefly ring the form the menu scrolled to,
   so users see WHERE they landed instead of a silent jump. */
@keyframes aapSettingsFlash {
  0%   { box-shadow: 0 0 0 3px rgba(29, 95, 149, 0.0); }
  18%  { box-shadow: 0 0 0 3px rgba(29, 95, 149, 0.55); }
  100% { box-shadow: 0 0 0 3px rgba(29, 95, 149, 0.0); }
}
.aap-settings-flash {
  animation: aapSettingsFlash 1.5s ease-out 1;
  border-radius: 12px;
  scroll-margin-top: 96px;
}
/* Don't animate the flash when the user asked for reduced motion. */
body[data-motion="reduced"] .aap-settings-flash { animation: none !important; }

/* ── Phase 59: "Acting for clinic X" scope picker (operator create surfaces) ──
   Injected by renderClinicScopePicker() into task/project/workflow/message
   create surfaces. Only renders for operators with >1 clinic; clinic users
   never see it. Accent border signals the action will be routed to a clinic. */
.clinic-scope-picker {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0 0 0.85rem;
}
.clinic-scope-picker__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--module-accent, #1d5f95) 64%, #08233b);
}
.clinic-scope-picker__multi-hint {
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  opacity: 0.72;
}
.clinic-scope-picker__select {
  width: 100%;
  padding: 0.5rem 0.65rem;
  border-radius: 10px;
  border: 1.5px solid color-mix(in srgb, var(--module-accent, #1d5f95) 45%, #c4d2e0);
  background: var(--surface, #fff);
  color: var(--prod-ink, #0f3557);
  font: inherit;
}
.clinic-scope-picker__select:focus {
  outline: none;
  border-color: var(--module-accent, #1d5f95);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--module-accent, #1d5f95) 26%, transparent);
}
.clinic-scope-picker--multi .clinic-scope-picker__select { padding: 0.3rem; min-height: 7.5rem; }
.clinic-scope-picker__hint { font-size: 0.74rem; opacity: 0.72; }

/* ── Phase 59: "Acting for clinic X" drill-in banner (operator only) ──────────
   Floating pill that makes it unmistakable an AAP operator is working inside a
   specific client clinic, with one-click return to the portfolio console. */
.aap-acting-for-bar {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 1200;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.55rem 0.7rem 0.55rem 0.95rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #0f3557, #1d5f95);
  color: #fff;
  box-shadow: 0 10px 30px rgba(8, 35, 59, 0.34), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
  font-size: 0.86rem;
  max-width: min(94vw, 640px);
}
.aap-acting-for-bar[hidden] { display: none; }
.aap-acting-for-bar__dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: #6fe0a8; box-shadow: 0 0 0 4px rgba(111, 224, 168, 0.25);
  flex: 0 0 auto;
}
.aap-acting-for-bar__text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aap-acting-for-bar__clinic { font-weight: 700; }
.aap-acting-for-bar__return {
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  padding: 0.4rem 0.85rem;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  background: #fff;
  color: #0f3557;
}
.aap-acting-for-bar__return:hover { background: #eaf2fb; }
body[data-motion="reduced"] .aap-acting-for-bar { transition: none; }

/* ── Phase 60: operator portfolio A/R-aging + payer-mix band (revenue tab) ──── */
.operator-ar-band {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 1rem;
  padding: 1rem 1.1rem;
  margin: 0 0 0.9rem;
  border: 1px solid color-mix(in srgb, var(--module-accent, #1d5f95) 22%, #d7e2ee);
  border-radius: 14px;
  background: var(--surface, #fff);
}
@media (max-width: 920px) { .operator-ar-band { grid-template-columns: 1fr; } }
.operator-ar-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.55rem; }
@media (max-width: 600px) { .operator-ar-tiles { grid-template-columns: repeat(2, 1fr); } }
.operator-ar-tile {
  display: flex; flex-direction: column; gap: 0.15rem;
  padding: 0.6rem 0.65rem; border-radius: 11px;
  background: color-mix(in srgb, var(--surface, #fff) 86%, #eef3f8);
  border-left: 4px solid #1d5f95;
}
.operator-ar-tile--stable   { border-left-color: #1f9d6b; }
.operator-ar-tile--info     { border-left-color: #1d5f95; }
.operator-ar-tile--warning  { border-left-color: #c9851a; }
.operator-ar-tile--critical { border-left-color: #b3401f; }
.operator-ar-tile__label { font-size: 0.72rem; font-weight: 600; opacity: 0.78; }
.operator-ar-tile__value { font-size: 1.18rem; line-height: 1.15; }
.operator-ar-tile__share { font-size: 0.7rem; opacity: 0.66; }
.operator-payer-row { display: grid; grid-template-columns: 1fr 90px auto; align-items: center; gap: 0.55rem; padding: 0.22rem 0; font-size: 0.82rem; }
.operator-payer-row__name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.operator-payer-row__bar { height: 8px; border-radius: 999px; background: #e6eef6; overflow: hidden; }
.operator-payer-row__bar > span { display: block; height: 100%; background: linear-gradient(90deg, #1d5f95, #2b81c4); }
.operator-payer-row__amt { white-space: nowrap; font-variant-numeric: tabular-nums; opacity: 0.85; }

/* ── Phase 60: external (AAP ↔ Clinic) channel banner — Slack-Connect style ─── */
.messenger-external-banner {
  display: flex; align-items: center; gap: 0.55rem;
  margin: 0 0 0.7rem; padding: 0.5rem 0.72rem; border-radius: 10px;
  background: color-mix(in srgb, #c9851a 15%, #fff);
  border: 1px solid color-mix(in srgb, #c9851a 46%, #e6d2a8);
  color: #6b4e12; font-size: 0.8rem; line-height: 1.32;
}
.messenger-external-banner__icon { color: #c9851a; letter-spacing: -3px; font-size: 0.95rem; flex: 0 0 auto; }
.messenger-external-banner strong { color: #5a4110; }

/* ── Phase 56: Clinic Operating Roadmap Builder ─────────────────────────────── */
.panel--module-roadmap { --module-accent: #6d4aff; }
.roadmap-root { display: block; }
.rm-empty, .rm-launch { padding: 1.4rem 1.2rem; }
.rm-launch h3, .rm-empty h3 { margin: 0.2rem 0 0.4rem; }
.rm-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.rm-head h3 { margin: 0.15rem 0 0.35rem; }
.rm-head__meta { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.rm-head__actions { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.rm-link { font-size: 0.74rem; opacity: 0.7; font-variant-numeric: tabular-nums; }
.rm-tabs { display: flex; gap: 0.35rem; flex-wrap: wrap; margin: 0.9rem 0 0.8rem; border-bottom: 1px solid color-mix(in srgb, var(--module-accent, #6d4aff) 22%, #d7dce6); padding-bottom: 0.5rem; }
.rm-tab { border: 0; background: transparent; padding: 0.4rem 0.7rem; border-radius: 8px 8px 0 0; font: inherit; font-weight: 600; cursor: pointer; color: color-mix(in srgb, var(--prod-ink, #0f3557) 70%, #6b7a90); }
.rm-tab:hover { background: color-mix(in srgb, var(--module-accent, #6d4aff) 10%, transparent); }
.rm-tab.is-active { color: var(--module-accent, #6d4aff); border-bottom: 2px solid var(--module-accent, #6d4aff); }
.rm-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0.6rem; margin-bottom: 1rem; }
.rm-card { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.7rem 0.8rem; border-radius: 12px; background: color-mix(in srgb, var(--surface, #fff) 84%, #eef0f7); border-left: 4px solid var(--module-accent, #6d4aff); }
.rm-card__n { font-size: 1.4rem; font-weight: 700; line-height: 1; }
.rm-card__l { font-size: 0.74rem; opacity: 0.72; }
.rm-two { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
@media (max-width: 820px) { .rm-two { grid-template-columns: 1fr; } }
.rm-two h4 { margin: 0 0 0.5rem; }
.rm-list { margin: 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.85rem; }
.rm-rows { display: flex; flex-direction: column; gap: 0.35rem; }
.rm-row { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; padding: 0.4rem 0.6rem; border-radius: 9px; background: color-mix(in srgb, var(--surface, #fff) 90%, #eef0f7); font-size: 0.85rem; }
.rm-chips { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.rm-chip { border: 1px solid color-mix(in srgb, var(--module-accent, #6d4aff) 28%, #d7dce6); background: var(--surface, #fff); border-radius: 999px; padding: 0.3rem 0.8rem; font: inherit; font-size: 0.8rem; cursor: pointer; }
.rm-chip.is-active { background: var(--module-accent, #6d4aff); color: #fff; border-color: var(--module-accent, #6d4aff); }
.rm-phases { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0.8rem; }
.rm-phase { border: 1px solid #e2e7ef; border-radius: 13px; padding: 0.85rem 0.95rem; background: var(--surface, #fff); border-top: 3px solid var(--module-accent, #6d4aff); }
.rm-phase header { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 0.4rem; }
.rm-records { display: flex; flex-direction: column; gap: 0.5rem; }
.rm-record { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; padding: 0.6rem 0.8rem; border-radius: 11px; border: 1px solid #e6eaf1; background: var(--surface, #fff); }
.rm-record__main { min-width: 0; }
.rm-record__main strong { display: block; }
.rm-record__sub { display: flex; gap: 0.35rem; flex-wrap: wrap; margin-top: 0.3rem; }
.rm-record__actions { display: flex; gap: 0.35rem; flex: 0 0 auto; }
.rm-add { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: flex-end; margin-bottom: 0.9rem; padding: 0.75rem 0.85rem; border-radius: 12px; background: color-mix(in srgb, var(--module-accent, #6d4aff) 7%, var(--surface, #fff)); border: 1px solid color-mix(in srgb, var(--module-accent, #6d4aff) 20%, #e2e7ef); }
.rm-add label { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.74rem; font-weight: 600; flex: 1 1 150px; }
.rm-add label.rm-wide { flex: 1 1 100%; }
.rm-add input, .rm-add select, .rm-add textarea { font: inherit; padding: 0.4rem 0.55rem; border-radius: 8px; border: 1px solid #c8d2df; background: var(--surface, #fff); }
.rm-mini { padding: 0.42rem 0.85rem !important; font-size: 0.82rem !important; flex: 0 0 auto; }
.rm-muted { opacity: 0.66; font-size: 0.85rem; }
.rm-badge { display: inline-flex; align-items: center; padding: 0.12rem 0.5rem; border-radius: 999px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.02em; background: #eef1f6; color: #44506a; }
.rm-badge--info { background: #e6effa; color: #1d5f95; }
.rm-badge--stable { background: #e2f5ec; color: #1f7a52; }
.rm-badge--warning { background: #fbeed6; color: #8a5a12; }
.rm-badge--critical { background: #fbe1da; color: #9c3320; }
.rm-badge--muted { background: #eef1f6; color: #5a667d; }
.rm-intake { max-width: 760px; }
.rm-intake__bar { height: 7px; border-radius: 999px; background: #e6eaf1; overflow: hidden; margin-bottom: 0.7rem; }
.rm-intake__bar > span { display: block; height: 100%; background: linear-gradient(90deg, #6d4aff, #9a7bff); transition: width 0.25s ease; }
.rm-intake__fields { background: var(--surface, #fff); }
.rm-intake__nav { display: flex; gap: 0.5rem; margin-top: 0.9rem; }
body[data-motion="reduced"] .rm-intake__bar > span { transition: none; }

/* Phase 1 — cross-module integration surfaces */
.rm-badge--btn { border: 0; cursor: pointer; }
.rm-badge--btn:hover { filter: brightness(0.96); }
.rm-drive-row { display: inline-flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.rm-drive { font-size: 0.72rem; font-weight: 700; color: #6d4aff; text-decoration: none; padding: 0.16rem 0.5rem; border: 1px solid #e0dbfb; border-radius: 999px; background: #f6f4ff; }
.rm-drive:hover { background: #ece7ff; }
.rm-linked { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.4rem; }
.rm-linked__lbl { font-size: 0.68rem; font-weight: 700; color: #5a667d; text-transform: uppercase; letter-spacing: 0.03em; }
.rm-link-chip { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.72rem; color: #344; background: #f1f4f9; border: 1px solid #e4e9f1; border-radius: 999px; padding: 0.12rem 0.5rem; }
.rm-link-chip--btn { cursor: pointer; font-family: inherit; transition: background 0.12s ease, border-color 0.12s ease; }
.rm-link-chip--btn:hover { background: #e8eefb; border-color: #c7d6f2; }
.rm-link-chip--btn:focus-visible { outline: 2px solid #1e6fbf; outline-offset: 1px; }
.rm-link-chip__go { font-weight: 800; color: #1e6fbf; margin-left: 0.05rem; }
/* Workflow links (directive ↔ operating workflow) — shown on both interfaces */
.rm-linked--wf { margin-top: 0.3rem; }
.rm-linked--wf .rm-linked__lbl { color: #5a4bbf; }
.rm-link-chip-wrap { display: inline-flex; align-items: center; gap: 0.1rem; }
.rm-link-chip--wf { background: #f3f0ff; border-color: #e1d9fb; color: #2f2a45; }
.rm-link-chip--wf .rm-link-chip__go { color: #6d4aff; }
.rm-link-chip--wf.rm-link-chip--btn:hover { background: #ebe5ff; border-color: #cfc2f7; }
.rm-link-chip__x { cursor: pointer; font-family: inherit; font-size: 0.66rem; line-height: 1; color: #94738f; background: transparent; border: 0; border-radius: 999px; padding: 0.12rem 0.22rem; }
.rm-link-chip__x:hover { color: #b4232a; background: #fbe9ea; }
.rm-link-chip__x:focus-visible { outline: 2px solid #b4232a; outline-offset: 1px; }
.rm-link-add { cursor: pointer; font-family: inherit; font-size: 0.7rem; font-weight: 650; color: #6d4aff; background: transparent; border: 1px dashed #cdbff7; border-radius: 999px; padding: 0.12rem 0.55rem; transition: background 0.12s ease, border-color 0.12s ease; }
.rm-link-add:hover { background: #f3f0ff; border-color: #b3a1f0; }
.rm-link-add:focus-visible { outline: 2px solid #6d4aff; outline-offset: 1px; }
.rm-wfpicker { display: inline-flex; align-items: center; gap: 0.3rem; }
.rm-wfpicker__sel { font: inherit; font-size: 0.74rem; max-width: 16rem; padding: 0.14rem 0.4rem; border: 1px solid #cdbff7; border-radius: 7px; background: #fff; color: #1e293b; }
.rm-wfpicker__sel:focus-visible { outline: 2px solid #6d4aff; outline-offset: 1px; }
/* Flash highlight when a workflow card is opened from a roadmap deep-link */
@keyframes rmWfFlash { 0% { box-shadow: 0 0 0 3px rgba(109,74,255,0.55); } 100% { box-shadow: 0 0 0 3px rgba(109,74,255,0); } }
.rm-wf-flash { animation: rmWfFlash 1.6s ease-out; border-radius: 12px; }
/* Completed-work tab */
.rm-done-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 10px 13px; margin: 0 0 14px; background: linear-gradient(135deg, #ffffff, #eef7f0); border: 1px solid #d7e7dd; border-left: 4px solid #0b733c; border-radius: 11px; }
.rm-done-banner strong { color: #0f172a; }
.rm-done-total { font-size: 0.82rem; font-weight: 800; color: #0b733c; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rm-done-sec { margin-bottom: 14px; }
.rm-done-item { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-bottom: 1px dotted #eef2f7; }
.rm-done-item:last-child { border-bottom: 0; }
.rm-done-check { flex: 0 0 18px; width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: color-mix(in srgb, #0b733c 14%, #fff); color: #0b733c; font-size: 0.7rem; font-weight: 800; }
.rm-done-title { flex: 1 1 auto; font-size: 0.86rem; font-weight: 600; color: #1e293b; }
.rm-done-act { flex: 0 0 auto; display: inline-flex; gap: 5px; flex-wrap: wrap; }
/* Project complete action (Projects view) */
.tasks-project-card__complete { color: #0b733c; font-weight: 700; }
.tasks-project-card__done { font-size: 0.78rem; font-weight: 800; color: #0b733c; display: inline-flex; align-items: center; }
.task-roadmap-chip { display: inline-block; margin-top: 0.25rem; font-size: 0.68rem; font-weight: 700; color: #6d4aff; text-decoration: none; }
.task-roadmap-chip:hover { text-decoration: underline; }
.task-roadmap-tag { font-size: 0.62rem; font-weight: 700; color: #6d4aff; background: #f0ecff; border-radius: 999px; padding: 0.04rem 0.4rem; margin-left: 0.35rem; vertical-align: middle; }

/* Phase 2 — operator cockpit control */
.rm-vis { font-size: 0.7rem; padding: 0.1rem 0.3rem; border: 1px solid #d9def0; border-radius: 7px; background: #fff; color: #44506a; max-width: 130px; }
.rm-edit { border: 1px solid #d7d0fb !important; background: #faf9ff !important; }
.rm-edit__actions { display: flex; gap: 0.4rem; align-self: end; }
.rm-add--ms { margin-top: 0.5rem; border-style: dashed; }
.rm-portfolio__bar { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; flex-wrap: wrap; margin: 0.8rem 0 0.5rem; }
.rm-portfolio__actions { display: inline-flex; gap: 0.4rem; }
.rm-portfolio__table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.rm-portfolio__table th { text-align: left; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.04em; color: #5a667d; padding: 0.4rem 0.5rem; border-bottom: 1px solid #e7eaf2; }
.rm-portfolio__table td { padding: 0.45rem 0.5rem; border-bottom: 1px solid #f0f2f7; }
.rm-pf-row--none { opacity: 0.72; }
.rm-pf-row:hover { background: #f7f8fc; }

/* Phase 3 — clinic-facing + source-of-truth traceability */
.rm-trace { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.35rem; }
.rm-trace__lbl { font-size: 0.66rem; font-weight: 700; color: #5a667d; text-transform: uppercase; letter-spacing: 0.03em; }
.rm-src { font-size: 0.72rem; color: #6d4aff; text-decoration: none; background: #f6f4ff; border: 1px solid #e6e0fb; border-radius: 999px; padding: 0.08rem 0.5rem; }
.rm-src:hover { background: #ece7ff; }
.rm-needs { margin: 0.7rem 0 0.2rem; padding: 0.7rem 0.95rem; border: 1px solid #f0e2c4; background: #fffaf0; border-radius: 12px; }
.rm-needs h4 { margin: 0 0 0.45rem; }

/* =====================================================================
   PHASE 2 — Appearance & readability audit fixes (2026-05-30, p96)
   Addresses the measured WCAG-AA contrast failures and 390px mobile
   horizontal-overflow findings from tools/audit-checks.mjs (audit.json).
   Shared stylesheet → applies to BOTH the operator and clinic shells.
   ===================================================================== */

/* --- Contrast: primary task CTA was white on #ef6c00 (3.08:1). --- */
.tasks-page-actions__cta--primary {
  background: #b23c00 !important;          /* white text now 5.9:1 */
  border-color: #b23c00 !important;
}

/* --- Contrast: active task view tab ("Today"/"Week"...). The work-queue
   module accent (orange) was overriding the active-tab text to orange on
   the blue fill (2.58:1). Force white text on the blue fill. --- */
#module-work-queue .tasks-view-btn.is-active,
.tasks-view-btn.is-active {
  color: #fff !important;                  /* white on #0040D0 = 7.9:1 */
}

/* --- Contrast: active AI-assistant pill ("Open revenue analytics") was
   near-white text on a near-white fill (1.01:1 — effectively invisible).
   Give the active state a solid accent fill with white text. --- */
.module-ai-assistant__btn.is-active {
  background: #174ea4 !important;          /* white text ~6:1 */
  border-color: #174ea4 !important;
  color: #fff !important;
}

/* --- Contrast: operator module accent gold (#b8860b) failed as a button
   fill with white text (3.25:1) on "Message clinic panel". Deepen the
   operator accent so accent-filled controls pass AA (soft rgba fills that
   are hard-coded elsewhere are unaffected). --- */
.panel--module-operator { --module-accent: #845b08; }            /* white 6.0:1 */
.sidebar__nav--p13 .module-link--operator { --module-accent: #845b08; }

/* --- Mobile (≤600px) horizontal-overflow fixes --- */
@media (max-width: 600px) {
  /* Credentialing mode tabs ran off the right edge — let the row scroll. */
  .credentialing-mode-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .credentialing-mode-tab { flex: 0 0 auto; }

  /* Wide tables (e.g. connectors) — scroll their shell instead of pushing
     the page wider than the viewport. */
  .operator-table-shell,
  .operator-table-wrap,
  .table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }

  /* Ghost buttons ("Explain recommendation", "Refresh") spilled past the
     edge — keep them inside their column and allow the label to wrap. */
  .ghost-button { max-width: 100%; white-space: normal; }

  /* Reporting workbench buckets were 3-up and overflowed — stack them. */
  .workbench-bucket-grid { grid-template-columns: 1fr !important; }

  /* Long inline portfolio summaries ("$X denials | $Y A/R | Z cred") — wrap
     instead of running off-canvas. */
  em { overflow-wrap: anywhere; }
}
/* === end Phase 2 audit fixes === */

/* ===== P1 — app-wide display density customization (Comfortable / Compact) ===== */
.aap-density-toggle { display:inline-flex; align-items:center; gap:2px; border:1px solid var(--border,#d8e1ee); border-radius:8px; padding:2px; background:#fff; margin-left:6px; }
.aap-density-toggle button { font-size:0.6rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; border:0; background:transparent; color:var(--muted,#5b6b82); padding:4px 8px; border-radius:6px; cursor:pointer; transition:background 120ms,color 120ms; }
.aap-density-toggle button.is-active { background:#0040d0; color:#fff; }
.aap-density-toggle button:hover:not(.is-active) { background:rgba(0,64,208,0.08); color:#0040d0; }
body[data-density="compact"] .panel { padding: 0.7rem 0.9rem; }
body[data-density="compact"] .premium-metric,
body[data-density="compact"] .command-home-lane,
body[data-density="compact"] .workbench-bucket { padding: 0.55rem 0.7rem; }
body[data-density="compact"] table td, body[data-density="compact"] table th { padding-top:0.3rem; padding-bottom:0.3rem; }
body[data-density="compact"] .operator-table td, body[data-density="compact"] .operator-table th { padding:0.35rem 0.5rem; }
/* === end density customization === */

/* ===== P1 — user "Reduce motion" preference (override, persisted) ===== */
body[data-motion="reduced"] *,
body[data-motion="reduced"] *::before,
body[data-motion="reduced"] *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  scroll-behavior: auto !important;
}
/* === end reduce-motion preference === */

/* ============================================================
   P2 (2026 refinement): table bulk multi-select + column chooser.
   Scoped to the shared clinic-workspace tables (opt-in via enableBulk).
   ============================================================ */
.operator-table__bulk-cell {
  width: 2.2rem;
  text-align: center;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
}
.bulk-checkbox {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--accent, #2563eb);
}
.operator-table tr.is-bulk-selected {
  background: var(--accent-soft, rgba(37, 99, 235, 0.08));
}
.bulk-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin: 0 0 0.6rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--accent, #2563eb);
  border-radius: var(--radius-md, 10px);
  background: var(--accent-soft, rgba(37, 99, 235, 0.08));
}
.bulk-bar__count {
  font-weight: 700;
  font-size: 0.84rem;
  color: var(--accent-strong, #1d4ed8);
}
.bulk-bar__actions {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}
/* Column chooser (native <details> popover) */
.col-chooser {
  position: relative;
  display: inline-block;
}
.col-chooser__btn {
  list-style: none;
  cursor: pointer;
  user-select: none;
}
.col-chooser__btn::-webkit-details-marker { display: none; }
.col-chooser__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.35rem);
  z-index: 40;
  min-width: 12rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--border, #d8dee9);
  border-radius: var(--radius-md, 10px);
  background: var(--bg, #fff);
  box-shadow: var(--shadow-lg, 0 8px 28px rgba(15, 23, 42, 0.18));
}
.col-chooser__item {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  cursor: pointer;
  white-space: nowrap;
}
@media (max-width: 600px) {
  .col-chooser__panel { right: auto; left: 0; }
  .bulk-bar { flex-direction: column; align-items: flex-start; }
}
/* === end P2 table bulk-select + column chooser === */

/* === P5: Training Center — module walkthroughs grid === */
.uat-walkthroughs-block { margin: 0.4rem 0 1.4rem; }
.uat-walkthroughs-block > h3 { margin: 0.2rem 0 0.25rem; font-size: 1.02rem; }
.uat-walkthroughs-grid {
  display: grid; gap: 0.85rem; margin-top: 0.8rem;
  grid-template-columns: repeat(auto-fill, minmax(248px, 1fr));
}
.uat-walk-card {
  display: flex; gap: 0.75rem; align-items: stretch; text-align: left;
  padding: 0; background: var(--surface, #fff); border: 1px solid rgba(15,23,42,0.10);
  border-radius: 14px; cursor: pointer; overflow: hidden;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.uat-walk-card:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(15,23,42,0.12); border-color: rgba(37,99,235,0.45); }
.uat-walk-card:focus-visible { outline: 3px solid rgba(37,99,235,0.55); outline-offset: 2px; }
.uat-walk-card__thumb {
  position: relative; flex: 0 0 104px; min-height: 78px; background: linear-gradient(135deg,#1e293b,#334155);
  display: grid; place-items: center; overflow: hidden;
}
.uat-walk-card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.uat-walk-card__play {
  position: relative; z-index: 1; width: 34px; height: 34px; border-radius: 999px;
  background: rgba(255,255,255,0.92); color: #1d4ed8; display: grid; place-items: center;
  font-size: 0.82rem; padding-left: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
.uat-walk-card__body { display: flex; flex-direction: column; gap: 0.2rem; padding: 0.6rem 0.7rem; min-width: 0; }
.uat-walk-card__title { font-weight: 700; font-size: 0.88rem; color: var(--text, #0f172a); }
.uat-walk-card__sub { font-size: 0.76rem; color: var(--muted, #64748b); line-height: 1.35; }
/* === end P5 training walkthroughs grid === */

/* ---- Add-a-clinic full screen (Workspaces → Add a clinic) ---- */
.aap-clinics-screen { padding: 6px 2px 12px; }
.aap-clinic-screen-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 22px; align-items: start; }
@media (max-width: 1080px) { .aap-clinic-screen-grid { grid-template-columns: 1fr; } }
.aap-clinics-screen .aap-clinic-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.aap-clinics-screen .aap-clinic-f { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; font-weight: 700; color: #334155; }
.aap-clinics-screen .aap-clinic-f--wide { grid-column: 1 / -1; }
.aap-clinics-screen .aap-clinic-f input, .aap-clinics-screen .aap-clinic-f textarea { width: 100%; box-sizing: border-box; }
.aap-clinics-screen .aap-clinic-form__head { display: flex; align-items: center; justify-content: space-between; font-weight: 800; font-size: 15px; margin: 4px 0 12px; color: #0f172a; }
.aap-clinics-screen .aap-clinic-form__foot { margin-top: 14px; }
.aap-clinics-screen .aap-clinic-list { display: flex; flex-direction: column; gap: 12px; }
.aap-clinics-screen .aap-inv-list__head { font-weight: 800; color: #0f172a; margin-bottom: 2px; }

/* ── Phase 56 roadmap: surface full detail (engagement header, phase deliverables, record detail) ── */
.rm-engagement {
  border: 1px solid #d7e2ee; border-left: 4px solid var(--prod-navy, #0f3557);
  border-radius: 10px; background: linear-gradient(180deg, #f8fbff 0%, #f2f7fc 100%);
  padding: 16px 18px; margin: 0 0 18px;
}
.rm-engagement__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rm-engagement__head h4 { margin: 2px 0 0; font-size: 1.05rem; font-weight: 750; color: #0f172a; letter-spacing: -0.01em; }
.rm-engagement__provider { font-size: 0.8rem; font-weight: 650; color: #334155; text-align: right; }
.rm-engagement__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 18px; margin-top: 12px; }
.rm-eng-item { display: flex; flex-direction: column; gap: 1px; }
.rm-eng-item__l { font-size: 0.66rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #5b6b7e; }
.rm-eng-item__v { font-size: 0.86rem; color: #1e293b; font-weight: 550; }
.rm-engagement__access { margin-top: 12px; padding-top: 10px; border-top: 1px dashed #cdd9e6; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }

.rm-phase-delivs { margin: 10px 0 4px; border-top: 1px solid #e7eef5; padding-top: 8px; }
.rm-phase-delivs > summary { cursor: pointer; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: #475569; list-style: revert; }
.rm-phase-delivs[open] > summary { margin-bottom: 6px; }
.rm-deliv-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; padding: 4px 0; border-bottom: 1px dotted #eef2f7; }
.rm-deliv-row:last-child { border-bottom: 0; }
.rm-deliv-row__t { font-size: 0.85rem; font-weight: 600; color: #1e293b; }
.rm-deliv-row__dm { flex-basis: 100%; font-size: 0.78rem; color: #64748b; line-height: 1.4; }

.rm-rec-detail { margin: 6px 0 2px; }
.rm-rec-desc { margin: 0 0 4px; font-size: 0.86rem; color: #334155; line-height: 1.5; }
.rm-rec-line { margin: 2px 0; font-size: 0.82rem; color: #475569; line-height: 1.45; }
.rm-rec-line b { color: #334155; font-weight: 700; }
.rm-rec-line--final { color: #0b5d33; }
.rm-rec-line--final b { color: #0b733c; }
.rm-rec-ul { margin: 2px 0 4px; padding-left: 18px; }
.rm-rec-ul li { font-size: 0.82rem; color: #475569; line-height: 1.45; }
.rm-rec-notes { color: #64748b; font-style: italic; }

/* ── Phase 56 roadmap — refined, editable timeline (phases → directives → milestones) ── */
.rm-phases { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 16px; margin-top: 10px; }
.rm-phase { border: 1px solid #e2e8f0 !important; border-left: 4px solid #94a3b8 !important; border-radius: 12px !important; background: #fff; padding: 14px 16px !important; box-shadow: 0 1px 3px rgba(15,23,42,0.05); display: flex; flex-direction: column; gap: 11px; }
.rm-phase--in_progress { border-left-color: #1e6fbf !important; }
.rm-phase--complete { border-left-color: #0b733c !important; }
.rm-phase--planned { border-left-color: #94a3b8 !important; }
.rm-phase--editing { border-left-color: #6366f1 !important; }
.rm-phase > .rm-phase__head { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 10px; flex-wrap: wrap; margin-bottom: 0 !important; }
.rm-phase__title { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.rm-phase__title strong { font-size: 0.98rem; font-weight: 750; color: #0f172a; letter-spacing: -0.01em; }
.rm-phase__chip { font-size: 0.62rem; font-weight: 800; letter-spacing: 0.04em; color: #fff; background: #0f3557; border-radius: 5px; padding: 0.14rem 0.42rem; white-space: nowrap; }
.rm-phase__meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.rm-phase__obj { margin: 0; font-size: 0.86rem; color: #475569; line-height: 1.5; }
.rm-outcomes { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 2px; }
.rm-outcomes li { font-size: 0.8rem; color: #64748b; line-height: 1.4; }
.rm-phase__edithead { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: #6366f1; margin-bottom: 6px; }

.rm-sec { border-top: 1px solid #eef2f7; padding-top: 9px; display: flex; flex-direction: column; gap: 5px; }
.rm-sec__head { display: flex; align-items: center; gap: 8px; }
.rm-sec__lbl { font-size: 0.65rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: #51647a; }
.rm-sec__count { font-size: 0.63rem; font-weight: 700; color: #475569; background: #eef2f7; border-radius: 999px; padding: 0.02rem 0.46rem; }
.rm-sec__empty { font-size: 0.8rem; margin: 2px 0; }

.rm-deliv { display: flex; align-items: flex-start; gap: 9px; padding: 6px 0; border-bottom: 1px dotted #eef2f7; }
.rm-deliv:last-of-type { border-bottom: 0; }
.rm-deliv--editing { display: block; padding: 6px 0; }
.rm-dot { flex: 0 0 11px; width: 11px; height: 11px; border-radius: 50%; margin-top: 3px; border: 1.5px solid #cbd5e1; background: #fff; box-sizing: border-box; }
.rm-dot--done { background: #0b733c; border-color: #0b733c; }
.rm-dot--prog { background: #1e6fbf; border-color: #1e6fbf; }
.rm-dot--block { background: #c2410c; border-color: #c2410c; }
.rm-deliv__body { flex: 1 1 auto; min-width: 0; }
.rm-deliv__line { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; }
.rm-deliv__t { font-size: 0.86rem; font-weight: 600; color: #1e293b; }
.rm-deliv__owner { font-size: 0.72rem; color: #64748b; }
.rm-deliv__dm { font-size: 0.78rem; color: #64748b; line-height: 1.45; margin-top: 1px; }
.rm-deliv__dm-lbl { font-weight: 700; color: #475569; }

.rm-ms { display: flex; align-items: center; gap: 8px; padding: 4px 0; }
.rm-ms--editing { display: block; }
.rm-ms__diamond { color: #1e6fbf; font-size: 0.66rem; flex: 0 0 auto; }
.rm-ms__body { flex: 1 1 auto; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; min-width: 0; }
.rm-ms__t { font-size: 0.84rem; font-weight: 600; color: #1e293b; }
.rm-ms__date { font-size: 0.72rem; font-weight: 700; color: #1e6fbf; }

.rm-rowact { display: inline-flex; gap: 2px; flex: 0 0 auto; align-items: center; }
.rm-x { color: #b91c1c !important; padding: 0 0.35rem !important; font-weight: 700; }
.rm-add--inline { display: flex; gap: 6px; align-items: center; margin-top: 7px; flex-wrap: wrap; }
.rm-add--inline input { border: 1px solid #cbd5e1; border-radius: 6px; padding: 0.32rem 0.5rem; font-size: 0.82rem; font-family: inherit; color: #1e293b; }
.rm-add--inline input[type="text"] { flex: 1 1 170px; min-width: 130px; }
.rm-add--inline .rm-num { width: 4.2rem; flex: 0 0 auto; }
.rm-addphase { margin-top: 14px; }
.rm-addphase > summary { cursor: pointer; font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: #1e6fbf; list-style: revert; }
.rm-addphase[open] > summary { margin-bottom: 8px; }

/* ── Phase 57 — Daily Brief "What needs you" card ── */
.aap-needs-card { border-left: 4px solid #1e6fbf !important; }
.aap-needs-card[data-needs="0"] { border-left-color: #0b733c !important; }
.aap-needs__body { display: flex; flex-direction: column; gap: 6px; }
.aap-needs__row { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background: #f8fafc; border: 1px solid #e7eef5; border-radius: 8px; padding: 8px 10px; cursor: pointer; font: inherit; transition: background 120ms ease, border-color 120ms ease; }
.aap-needs__row:hover { background: #eef4fb; border-color: #cbd9e8; }
.aap-needs__icon { flex: 0 0 22px; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; font-size: 0.72rem; color: #fff; }
.aap-needs__icon--warn { background: #c2410c; }
.aap-needs__icon--info { background: #1e6fbf; }
.aap-needs__text { flex: 1 1 auto; font-size: 0.86rem; font-weight: 600; color: #1e293b; }
.aap-needs__go { color: #1e6fbf; font-weight: 800; }
.aap-needs__clear { font-size: 0.86rem; color: #0b733c; font-weight: 600; padding: 4px 0; }

/* Phase 57 — Go-live readiness checklist (foundation-phase progress on the Daily Brief) */
.aap-gl-card { border-left: 4px solid #6d4aff !important; }
.aap-gl-card[data-ready="1"] { border-left-color: #0b733c !important; }
.aap-gl__meter { display: flex; align-items: center; gap: 10px; margin: 2px 0 10px; }
.aap-gl__bar { flex: 1 1 auto; height: 7px; border-radius: 999px; background: #e7eef5; overflow: hidden; }
.aap-gl__bar > span { display: block; height: 100%; background: linear-gradient(90deg, #6d4aff, #1e6fbf); border-radius: 999px; transition: width 240ms ease; }
.aap-gl__pct { flex: 0 0 auto; font-size: 0.76rem; font-weight: 700; color: #475569; font-variant-numeric: tabular-nums; }
.aap-gl__body { display: flex; flex-direction: column; gap: 6px; }
.aap-gl__row { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background: #f8fafc; border: 1px solid #e7eef5; border-radius: 8px; padding: 7px 10px; cursor: pointer; font: inherit; transition: background 120ms ease, border-color 120ms ease; }
.aap-gl__row:hover { background: #f1eefe; border-color: #d5ccf7; }
.aap-gl__dot { flex: 0 0 9px; width: 9px; height: 9px; border-radius: 50%; background: #94a3b8; }
.aap-gl__dot--info { background: #1e6fbf; }
.aap-gl__dot--warn { background: #c2410c; }
.aap-gl__dot--muted { background: #94a3b8; }
.aap-gl__text { flex: 1 1 auto; font-size: 0.85rem; font-weight: 600; color: #1e293b; }
.aap-gl__st { flex: 0 0 auto; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: #64748b; }
.aap-gl__st--info { color: #1e6fbf; }
.aap-gl__st--warn { color: #c2410c; }
.aap-gl__more { font-size: 0.76rem; color: #64748b; padding: 2px 2px 0; }
.aap-gl__ready { font-size: 0.86rem; color: #0b733c; font-weight: 700; padding: 4px 0; }
.aap-gl__setup { margin-top: 10px; padding-top: 9px; border-top: 1px dashed #e4e9f1; display: flex; flex-direction: column; gap: 5px; }
.aap-gl__setup-lbl { font-size: 0.66rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: #64748b; }
.aap-gl__sig { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 0.8rem; }
.aap-gl__sig-k { color: #475569; }
.aap-gl__sig-v { font-weight: 700; }
.aap-gl__sig-v--ok { color: #0b733c; }
.aap-gl__sig-v--warn { color: #c2410c; }
.aap-gl__sig-v--muted { color: #94a3b8; }

/* Phase 58 — Accomplishments tally on the Tasks & Projects board */
.aap-acc-card { border: 1px solid #e2e8f0; border-left: 4px solid #0b733c; border-radius: 12px; background: #fff; padding: 12px 14px; margin: 0 0 12px; box-shadow: 0 1px 3px rgba(15,23,42,0.05); }
.aap-acc__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.aap-acc__title { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: #0b733c; }
.aap-acc__tally { font-size: 0.82rem; color: #334155; }
.aap-acc__tally strong { font-size: 1rem; color: #0b733c; font-variant-numeric: tabular-nums; }
.aap-acc__body { display: flex; flex-direction: column; gap: 5px; }
.aap-acc__row { display: flex; align-items: center; gap: 8px; font-size: 0.84rem; color: #1e293b; }
.aap-acc__check { flex: 0 0 auto; width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: color-mix(in srgb, #0b733c 14%, #fff); color: #0b733c; font-size: 0.66rem; font-weight: 800; }
.aap-acc__t { flex: 1 1 auto; font-weight: 600; }
.aap-acc__meta { flex: 0 0 auto; font-size: 0.72rem; color: #64748b; }
.aap-acc__more { font-size: 0.74rem; color: #64748b; padding-top: 2px; }
.aap-acc__empty { font-size: 0.84rem; color: #64748b; }

/* "Stage action" controls removed for now (both interfaces) — operator sequencing/console
   stage buttons, RCM live-assist stage buttons, AI stage-review/task buttons, and bulk
   "stage for review". Hidden (reversible) rather than deleted from each render path. */
[data-rcm-stage-action],
[data-rcm-stage-work-item],
[data-stage-ai-action],
[data-operator-sequencing-stage],
[data-operator-console-stage-for],
[data-bulk-action="stage"] { display: none !important; }

/* Phase 63 — Operator System Health, Maintenance & Suggestions panel */
.aap-sys-card { border: 1px solid #e2e8f0; border-left: 4px solid #0b733c; border-radius: 12px; background: #fff; padding: 13px 15px; margin: 0 0 14px; box-shadow: 0 1px 3px rgba(15,23,42,0.05); }
.aap-sys__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.aap-sys__title { font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: #51647a; }
.aap-sys__summary { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.aap-sys__pill { font-size: 0.66rem; font-weight: 700; border-radius: 999px; padding: 0.08rem 0.55rem; }
.aap-sys__pill--ok { background: color-mix(in srgb, #0b733c 14%, #fff); color: #0b733c; }
.aap-sys__pill--warn { background: color-mix(in srgb, #c2410c 14%, #fff); color: #c2410c; }
.aap-sys__pill--info { background: color-mix(in srgb, #1e6fbf 14%, #fff); color: #1e6fbf; }
.aap-sys__pill--muted { background: #f1f5f9; color: #475569; }
.aap-sys__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 16px; }
@media (max-width: 720px) { .aap-sys__grid { grid-template-columns: 1fr; } }
.aap-sys__col-h { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #64748b; margin-bottom: 6px; }
.aap-sys__col-h--sug { margin-top: 14px; }
.aap-sys__sec { font-size: 0.86rem; font-weight: 650; color: #1e293b; margin-bottom: 5px; }
.aap-sys__seclist { font-size: 0.76rem; color: #5b6b7e; display: flex; flex-direction: column; gap: 2px; }
.aap-sys__rows { display: flex; flex-direction: column; gap: 4px; }
.aap-sys__row { display: flex; align-items: center; gap: 8px; font-size: 0.8rem; padding: 4px 0; border-bottom: 1px dotted #eef2f7; }
.aap-sys__row:last-child { border-bottom: 0; }
.aap-sys__sev { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: #94a3b8; }
.aap-sys__sev--high, .aap-sys__sev--blocking { background: #b4232a; }
.aap-sys__sev--normal { background: #c2410c; }
.aap-sys__sev--low { background: #1e6fbf; }
.aap-sys__row-main { flex: 1 1 auto; color: #1e293b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aap-sys__row-by { font-size: 0.72rem; color: #94a3b8; }
.aap-sys__resolve { font: inherit; font-size: 0.72rem; font-weight: 650; color: #0b733c; background: transparent; border: 1px solid #cfe6d8; border-radius: 999px; padding: 0.06rem 0.5rem; cursor: pointer; }
.aap-sys__resolve:hover { background: #eafaf0; }
.aap-sys__empty { font-size: 0.8rem; color: #64748b; }
.aap-sys__sugs { display: flex; flex-direction: column; gap: 5px; }
.aap-sys__sug { display: flex; align-items: flex-start; gap: 8px; font-size: 0.82rem; color: #1e293b; }
.aap-sys__sug-tag { flex: 0 0 auto; font-size: 0.62rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em; border-radius: 5px; padding: 0.08rem 0.4rem; }
.aap-sys__sug-tag--high { background: color-mix(in srgb, #b4232a 14%, #fff); color: #b4232a; }
.aap-sys__sug-tag--warn { background: color-mix(in srgb, #c2410c 14%, #fff); color: #c2410c; }
.aap-sys__sug-tag--info { background: color-mix(in srgb, #1e6fbf 14%, #fff); color: #1e6fbf; }
.aap-sys__sug-tag--idea { background: color-mix(in srgb, #6d4aff 14%, #fff); color: #6d4aff; }
.aap-sys__sug-t { line-height: 1.4; }

/* Phase 62 — "Report a problem" floating button + modal (every screen) */
.aap-report-fab { position: fixed; right: 16px; bottom: 16px; z-index: 4000; display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border: 1px solid #d6c2c2; border-radius: 999px; background: #fff; color: #8a2b2b; font: inherit; font-size: 0.78rem; font-weight: 700; cursor: pointer; box-shadow: 0 6px 18px rgba(15,23,42,0.16); transition: background 120ms ease, transform 120ms ease, box-shadow 120ms ease; }
.aap-report-fab:hover { background: #fdf4f4; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(15,23,42,0.2); }
.aap-report-fab:focus-visible { outline: 2px solid #b4232a; outline-offset: 2px; }
.aap-report-fab__icon { display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; border-radius: 50%; background: #b4232a; color: #fff; font-weight: 900; font-size: 0.72rem; }
@media (max-width: 640px) { .aap-report-fab__label { display: none; } .aap-report-fab { padding: 11px; } }
.aap-report-overlay { position: fixed; inset: 0; z-index: 4001; background: rgba(15,23,42,0.42); display: flex; align-items: center; justify-content: center; padding: 18px; }
.aap-report-modal { width: 100%; max-width: 480px; background: #fff; border-radius: 14px; box-shadow: 0 24px 60px rgba(15,23,42,0.3); padding: 18px 20px 20px; }
.aap-report-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.aap-report-modal__head h2 { margin: 0; font-size: 1.05rem; color: #0f172a; }
.aap-report-modal__x { border: 0; background: transparent; font-size: 1rem; color: #64748b; cursor: pointer; line-height: 1; padding: 4px; }
.aap-report-modal__x:hover { color: #b4232a; }
.aap-report-modal__sub { margin: 8px 0 14px; font-size: 0.84rem; color: #475569; line-height: 1.45; }
.aap-report-modal__lbl { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; font-size: 0.78rem; font-weight: 650; color: #334155; }
.aap-report-modal__input { font: inherit; font-size: 0.88rem; padding: 9px 11px; border: 1px solid #d6e0ea; border-radius: 9px; color: #1e293b; background: #fff; }
.aap-report-modal__input:focus-visible { outline: 2px solid #1e6fbf; outline-offset: 1px; }
.aap-report-modal__input--err { border-color: #b4232a; box-shadow: 0 0 0 2px rgba(180,35,42,0.15); }
.aap-report-modal__textarea { resize: vertical; min-height: 90px; }
.aap-report-modal__meta { font-size: 0.72rem; color: #64748b; background: #f1f5f9; border-radius: 8px; padding: 8px 10px; margin-bottom: 14px; }
.aap-report-modal__actions { display: flex; justify-content: flex-end; gap: 9px; }
.aap-report-modal__done { font-size: 0.9rem; font-weight: 650; color: #0b733c; padding: 8px 0; }

/* Daily Brief integration host — visible card row on the premium clinic dashboard
   (holds go-live, "what needs you", and workflows cards; legacy .dayboard is hidden). */
.aap-brief-integrations { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 14px; margin: 0 0 18px; align-items: start; }
.aap-brief-integrations:empty { display: none; }
.aap-brief-integrations .dayboard-card { margin: 0; }

/* Phase 59 — Workflows integration: client Daily Brief card */
.aap-wf-card { border-left: 4px solid #6d4aff !important; }
.aap-wf__meter { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 2px 0 10px; font-size: 0.78rem; }
.aap-wf__pct { font-weight: 700; color: #6d4aff; }
.aap-wf__runs { color: #64748b; font-variant-numeric: tabular-nums; }
.aap-wf__body { display: flex; flex-direction: column; gap: 6px; }
.aap-wf__row { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background: #f8fafc; border: 1px solid #e7eef5; border-radius: 8px; padding: 8px 10px; cursor: pointer; font: inherit; transition: background 120ms ease, border-color 120ms ease; }
.aap-wf__row:hover { background: #f1eefe; border-color: #d5ccf7; }
.aap-wf__dot { flex: 0 0 9px; width: 9px; height: 9px; border-radius: 50%; background: #94a3b8; }
.aap-wf__dot--ok { background: #0b733c; }
.aap-wf__dot--warn { background: #c2410c; }
.aap-wf__dot--muted { background: #94a3b8; }
.aap-wf__t { flex: 1 1 auto; font-size: 0.85rem; font-weight: 600; color: #1e293b; }
.aap-wf__go { color: #6d4aff; font-weight: 800; }
.aap-wf__empty { font-size: 0.84rem; color: #64748b; }
/* Phase 60 — Workflow card "From roadmap" origin badge (both interfaces) */
.aap-wf-origin { display: inline-flex; align-items: center; gap: 0.35rem; margin: 0.1rem 0 0.55rem; font: inherit; font-size: 0.72rem; cursor: pointer; background: #f3f0ff; border: 1px solid #e1d9fb; border-radius: 999px; padding: 0.16rem 0.6rem; color: #2f2a45; transition: background 0.12s ease, border-color 0.12s ease; max-width: 100%; }
.aap-wf-origin:hover { background: #ebe5ff; border-color: #cfc2f7; }
.aap-wf-origin:focus-visible { outline: 2px solid #6d4aff; outline-offset: 1px; }
.aap-wf-origin__lbl { font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; font-size: 0.62rem; color: #6d4aff; white-space: nowrap; }
.aap-wf-origin__t { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aap-wf-origin__go { font-weight: 800; color: #6d4aff; }
/* Phase 59 — Workflows integration: operator portfolio rollup */
.aap-wfpf-card { border: 1px solid #e2e8f0; border-left: 4px solid #6d4aff; border-radius: 12px; background: #fff; padding: 12px 14px; margin: 0 0 14px; box-shadow: 0 1px 3px rgba(15,23,42,0.05); }
.aap-wfpf__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.aap-wfpf__title { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: #51647a; }
.aap-wfpf__summary { font-size: 0.8rem; font-weight: 650; color: #1e293b; }
.aap-wfpf__list { display: flex; flex-direction: column; gap: 4px; }
.aap-wfpf__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px dotted #eef2f7; }
.aap-wfpf__row:last-child { border-bottom: 0; }
.aap-wfpf__name { font-size: 0.85rem; font-weight: 600; color: #1e293b; }
.aap-wfpf__badges { display: inline-flex; gap: 5px; flex-wrap: wrap; }
.aap-wfpf__badge { font-size: 0.66rem; font-weight: 700; border-radius: 999px; padding: 0.06rem 0.5rem; }
.aap-wfpf__badge--stable { background: color-mix(in srgb, #0b733c 14%, #fff); color: #0b733c; }
.aap-wfpf__badge--muted { background: #f1f5f9; color: #475569; }
.aap-wfpf__badge--warn { background: color-mix(in srgb, #c2410c 14%, #fff); color: #c2410c; }
.aap-wfpf__badge--info { background: color-mix(in srgb, #1e6fbf 14%, #fff); color: #1e6fbf; }
.aap-wfpf__empty { font-size: 0.82rem; color: #64748b; }

/* Phase 57 — operator console portfolio roadmap-status rollup */
.aap-pf-card { border: 1px solid #e2e8f0; border-left: 4px solid #1e6fbf; border-radius: 12px; background: #fff; padding: 12px 14px; margin: 0 0 14px; box-shadow: 0 1px 3px rgba(15,23,42,0.05); }
.aap-pf__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.aap-pf__title { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: #51647a; }
.aap-pf__summary { font-size: 0.8rem; font-weight: 650; color: #1e293b; }
.aap-pf__list { display: flex; flex-direction: column; gap: 4px; }
.aap-pf__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px dotted #eef2f7; }
.aap-pf__row:last-child { border-bottom: 0; }
.aap-pf__name { font-size: 0.85rem; font-weight: 600; color: #1e293b; }
.aap-pf__badges { display: inline-flex; gap: 5px; flex-wrap: wrap; }
.aap-pf__badge { font-size: 0.66rem; font-weight: 700; border-radius: 999px; padding: 0.06rem 0.5rem; }
.aap-pf__badge--stable { background: color-mix(in srgb, #0b733c 14%, #fff); color: #0b733c; }
.aap-pf__badge--muted { background: #f1f5f9; color: #475569; }
.aap-pf__badge--warn { background: color-mix(in srgb, #c2410c 14%, #fff); color: #c2410c; }
.aap-pf__badge--info { background: color-mix(in srgb, #1e6fbf 14%, #fff); color: #1e6fbf; }
.aap-pf__empty { font-size: 0.82rem; color: #64748b; }
