/* Ranking web workspace. Visual direction: Stitch; refinement: Impeccable.
   The native shell, clinic workspaces and saved appearance choices retain ownership. */
body.ranking-business-account:not(.ranking-mobile) {
  --rw-radius: 10px;
  --rw-space: 24px;
  --rw-muted: var(--text2);
  --rw-line: var(--border);
  --rw-nav-text: var(--rp-on-nav, #edf3f2);
  --rw-nav-muted: color-mix(in srgb, var(--rw-nav-text) 76%, transparent);
  --rw-nav-hover: color-mix(in srgb, var(--rw-nav-text) 9%, transparent);
  --rw-nav-active: color-mix(in srgb, var(--rw-nav-text) 14%, transparent);
}
body.ranking-business-account.rp-density-compacta:not(.ranking-mobile) { --rw-space: 16px; }
body.ranking-business-account.rp-density-amplia:not(.ranking-mobile) { --rw-space: 28px; }

/* One readable family for the default operational interface. */
body.ranking-business-account:not(.ranking-mobile):not(.rp-font-sans):not(.rp-font-serif) :is(.brand-name,.mt-brand,.rbu-heading h1,.pt,.stat-val,.modal h2,.rbu-metric>strong) {
  font-family: 'IBM Plex Sans', system-ui, sans-serif !important;
}
body.ranking-business-account:not(.ranking-mobile) #content { scrollbar-color: var(--border2) var(--bg); }
body.ranking-business-account:not(.ranking-mobile) .rbu-page {
  width: 100%; max-width: 1280px; padding: 40px 40px 56px;
}
body.ranking-business-account:not(.ranking-mobile) .rbu-heading {
  align-items: flex-start; gap: 24px; margin-bottom: 32px; padding-bottom: 24px;
  border-bottom: 1px solid var(--rw-line);
}
body.ranking-business-account:not(.ranking-mobile) .rbu-heading>div { min-width: 0; }
body.ranking-business-account:not(.ranking-mobile) .rbu-eyebrow { display: none; }
body.ranking-business-account:not(.ranking-mobile) .rbu-heading h1 {
  font-size: 2rem; font-weight: 600; line-height: 1.25; letter-spacing: -.025em; margin: 0 0 8px;
}
body.ranking-business-account:not(.ranking-mobile) .rbu-heading p {
  font-size: 14px; line-height: 1.6; margin: 0; color: var(--rw-muted); max-width: 70ch;
}
body.ranking-business-account:not(.ranking-mobile) .rbu-status {
  font-size: 12px; font-weight: 500; line-height: 1.5; padding: 6px 12px;
  color: var(--text2); background: var(--bg-card); border-radius: 999px;
}
body.ranking-business-account:not(.ranking-mobile) :is(.rbu-muted,.rpt-heading p,.rpt-card p,.rpt-empty,.rbu-tool small) {
  color: var(--rw-muted); font-size: 14px; line-height: 1.6;
}
body.ranking-business-account:not(.ranking-mobile) :is(.rbu-page,.rbu-dialog) .btn {
  min-height: 44px; min-width: 44px; border-radius: 8px; padding: 10px 16px;
  font-size: 14px; line-height: 1.4; font-weight: 500; white-space: normal;
}
body.ranking-business-account:not(.ranking-mobile) :is(.rbu-page,.rbu-dialog) .btn:hover { transform: none; }
body.ranking-business-account:not(.ranking-mobile) :is(.rbu-page,.rbu-dialog) .btn:disabled {
  cursor: not-allowed; opacity: .55;
}
body.ranking-business-account:not(.ranking-mobile) :is(.rbu-page,.rbu-dialog) :is(button,input,select,textarea,summary,a):focus-visible {
  outline: 2px solid var(--teal); outline-offset: 3px;
}

/* Metrics stay driven by the authorized business data. */
body.ranking-business-account:not(.ranking-mobile) .rbu-metrics {
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: 16px; margin-bottom: 32px;
}
body.ranking-business-account:not(.ranking-mobile) .rbu-metric {
  padding: var(--rw-space) !important; border-radius: var(--rw-radius); box-shadow: none;
  display: flex; flex-direction: column; align-items: flex-start;
}
body.ranking-business-account:not(.ranking-mobile) .rbu-metric>span {
  font-size: 13px; font-weight: 500; color: var(--rw-muted); line-height: 1.5;
}
body.ranking-business-account:not(.ranking-mobile) .rbu-metric>strong {
  font-size: 1.875rem; line-height: 1.2; letter-spacing: -.02em; margin: 12px 0 4px;
  font-variant-numeric: tabular-nums; color: var(--text); max-width: 100%;
}
body.ranking-business-account:not(.ranking-mobile) .rbu-metric>small { font-size: 12px; color: var(--rw-muted); }
body.ranking-business-account:not(.ranking-mobile) :is(.rpt-heading h2,.rbu-tools h2,.rbu-records h2,.rbu-services h2) {
  font-size: 1.25rem; font-weight: 600; letter-spacing: -.015em; line-height: 1.4; margin-bottom: 8px;
}
body.ranking-business-account:not(.ranking-mobile) .rpt-panel { margin-bottom: 36px; }
body.ranking-business-account:not(.ranking-mobile) .rpt-heading { align-items: center; gap: 20px; margin-bottom: 20px; }
body.ranking-business-account:not(.ranking-mobile) .rpt-heading>div { min-width: 0; }
body.ranking-business-account:not(.ranking-mobile) .rpt-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(252px,100%),1fr)); gap: 16px;
}
body.ranking-business-account:not(.ranking-mobile) .rpt-card {
  padding: var(--rw-space) !important; border-radius: var(--rw-radius); box-shadow: none;
  transition: border-color .16s ease; overflow: visible;
}
body.ranking-business-account:not(.ranking-mobile) .rpt-card:focus-within { border-color: var(--teal); }
body.ranking-business-account:not(.ranking-mobile) .rpt-card-heading { align-items: flex-start; gap: 8px; margin-bottom: 8px; min-height: 56px; }
body.ranking-business-account:not(.ranking-mobile) .rpt-card h3 {
  font-size: 16px; line-height: 1.5; font-weight: 600; padding-top: 8px; min-width: 0;
}
body.ranking-business-account:not(.ranking-mobile) .rpt-card p { margin-bottom: 24px; }
body.ranking-business-account:not(.ranking-mobile) .rbu-page .rpt-open { align-self: flex-start; min-width: 88px; }
body.ranking-business-account:not(.ranking-mobile) .rpt-menu { margin: -8px -8px 0 0; }
body.ranking-business-account:not(.ranking-mobile) .rpt-menu summary {
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 8px; color: var(--text2);
}
body.ranking-business-account:not(.ranking-mobile) .rpt-menu>button {
  top: calc(100% + 6px); min-height: 44px; max-width: min(240px, calc(100vw - 64px));
  padding: 12px 16px; font-size: 13px; line-height: 1.5; white-space: normal; text-align: left;
  border-radius: 8px; box-shadow: 0 8px 24px #0002;
}
body.ranking-business-account:not(.ranking-mobile) .rpt-empty { padding: 24px; border-radius: var(--rw-radius); }
body.ranking-business-account:not(.ranking-mobile) .rbu-tools>div {
  grid-template-columns: repeat(auto-fit,minmax(min(310px,100%),1fr)); gap: 12px; margin-top: 16px;
}
body.ranking-business-account:not(.ranking-mobile) .rbu-tool {
  gap: 16px; padding: var(--rw-space) !important; border-radius: var(--rw-radius); box-shadow: none;
  align-items: center; min-width: 0; transition: border-color .16s ease, background-color .16s ease;
}
body.ranking-business-account:not(.ranking-mobile) .rbu-tool>span { min-width: 0; overflow-wrap: anywhere; }
body.ranking-business-account:not(.ranking-mobile) .rbu-tool strong { font-size: 15px; line-height: 1.5; }
body.ranking-business-account:not(.ranking-mobile) .rbu-tool small { font-size: 13px; margin-top: 4px; }
body.ranking-business-account:not(.ranking-mobile) .rbu-tool>i:first-child { font-size: 24px; }
body.ranking-business-account:not(.ranking-mobile) .rbu-tool:hover { background: var(--bg-card-hover,var(--bg-card)); border-color: var(--teal); }

/* Navigation keeps its existing structure, business switch and permissions. */
body.ranking-business-account:not(.ranking-mobile) .sidebar { padding: 24px 12px 16px; }
body.ranking-business-account:not(.ranking-mobile) .brand { align-items: center; gap: 12px; margin-bottom: 24px; }
body.ranking-business-account:not(.ranking-mobile) .brand>div:last-child { min-width: 0; }
body.ranking-business-account:not(.ranking-mobile) .brand-name {
  font-size: 16px !important; line-height: 1.4; overflow-wrap: anywhere;
}
body.ranking-business-account:not(.ranking-mobile) .brand-icon { width: 40px; height: 40px; border-radius: 8px; color: #111; }
body.ranking-business-account:not(.ranking-mobile) .brand-sub { font-size: 10px !important; letter-spacing: .08em; }
body.ranking-business-account:not(.ranking-mobile) .sidebar nav { gap: 4px; }
body.ranking-business-account:not(.ranking-mobile) .sidebar .nav-item {
  min-height: 44px; padding: 10px 12px; border-radius: 8px; font-size: 14px; line-height: 1.5;
}
body.ranking-business-account:not(.ranking-mobile) .sidebar .nav-item:hover { background: var(--rw-nav-hover); transform: none; }
body.ranking-business-account:not(.ranking-mobile) .sidebar .nav-item.active { background: var(--rw-nav-active) !important; }
body.ranking-business-account:not(.ranking-mobile) .sidebar .nav-item.active::before { top: 12px; bottom: 12px; left: 0; border-radius: 2px; }
body.ranking-business-account:not(.ranking-mobile) .sidebar :is(button,summary,a):focus-visible { outline: 2px solid var(--rw-nav-text); outline-offset: -3px; }
body.ranking-business-account:not(.ranking-mobile) .rpt-sidebar { margin-top: 16px; padding-top: 16px; }
body.ranking-business-account:not(.ranking-mobile) .rpt-sidebar-title { font-size: 11px; letter-spacing: .07em; color: var(--rw-nav-muted); margin-bottom: 8px; }
body.ranking-business-account:not(.ranking-mobile) .rmb-switch { margin-bottom: 20px; border-radius: var(--rw-radius); }
body.ranking-business-account:not(.ranking-mobile) .rmb-switch-copy small { font-size: 12px; }
body.ranking-business-account:not(.ranking-mobile) .user-row { border-radius: 8px; padding: 12px; }
body.ranking-business-account:not(.ranking-mobile) .rw-drawer-heading[hidden] { display: none; }
body.ranking-business-account:not(.ranking-mobile) .rw-drawer-heading {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px;
  padding-left: 8px; color: var(--rw-nav-text); font-size: 14px; font-weight: 500;
}
body.ranking-business-account:not(.ranking-mobile) .rw-drawer-close {
  display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; cursor: pointer;
  background: var(--rw-nav-hover); border: 1px solid color-mix(in srgb,var(--rw-nav-text) 24%,transparent);
  border-radius: 8px; color: var(--rw-nav-text); font-size: 22px;
}

/* Forms and record views use the same spacing and control sizes as the dashboard. */
body.ranking-business-account:not(.ranking-mobile) :is(.rbu-page,.rbu-dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea) {
  min-height: 44px; font-size: 14px; line-height: 1.5; border-radius: 8px !important;
}
body.ranking-business-account:not(.ranking-mobile) :is(.rbu-page,.rbu-dialog) :is(input,textarea)::placeholder { color: var(--rw-muted); opacity: 1; }
body.ranking-business-account:not(.ranking-mobile) :is(.rbu-page,.rbu-dialog) :is(input,textarea) { caret-color: var(--teal); }
body.ranking-business-account:not(.ranking-mobile) :is(.rbu-records,.rbu-account,.rbu-services,.ranking-preferences .rp-panel) { border-radius: var(--rw-radius); box-shadow: none; }
body.ranking-business-account:not(.ranking-mobile) :is(.rbu-records table,.rbu-range,.rbu-dialog form>label,.ranking-preferences .rp-fields label) { font-size: 14px; }
body.ranking-business-account:not(.ranking-mobile) .rbu-records th { color: var(--rw-muted); font-size: 12px; letter-spacing: .02em; }
body.ranking-business-account:not(.ranking-mobile) .rbu-money { font-variant-numeric: tabular-nums; }
body.ranking-business-account:not(.ranking-mobile) .rbu-error { font-size: 14px; }
body.ranking-business-account:not(.ranking-mobile) .rbu-dialog { border-radius: 12px; }
body.ranking-business-account:not(.ranking-mobile) .ranking-preferences .rp-order button { width: 44px; height: 44px; }

@media (max-width: 1100px) {
  body.ranking-business-account:not(.ranking-mobile) .rbu-page { padding: 32px 28px 48px; }
  body.ranking-business-account:not(.ranking-mobile) .rbu-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 768px) {
  body.ranking-business-account:not(.ranking-mobile):not(.rp-density-compacta):not(.rp-density-amplia) { --rw-space: 16px; }
  body.ranking-business-account:not(.ranking-mobile) .rbu-page { padding: 28px 20px 40px; }
  body.ranking-business-account:not(.ranking-mobile) .sidebar { padding-top: calc(24px + env(safe-area-inset-top)); padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
  body.ranking-business-account:not(.ranking-mobile) .sidebar:not(.open) { visibility: hidden; box-shadow: none; }
  body.ranking-business-account:not(.ranking-mobile) .sidebar.open { visibility: visible; }
  body.ranking-business-account:not(.ranking-mobile) .mt-btn { width: 44px; height: 44px; border-radius: 8px; flex-shrink: 0; }
  body.ranking-business-account:not(.ranking-mobile) .mt-brand { font-size: 16px !important; font-family: inherit !important; }
  body.ranking-business-account:not(.ranking-mobile) .mobile-topbar .rtl-launcher { min-height: 44px; border-radius: 8px; font-size: 12px; }
  body.ranking-business-account:not(.ranking-mobile) .rbu-heading { margin-bottom: 24px; padding-bottom: 20px; gap: 12px; }
  body.ranking-business-account:not(.ranking-mobile) .rbu-heading h1 { font-size: 1.625rem; }
  body.ranking-business-account:not(.ranking-mobile) .rbu-metrics { gap: 12px; margin-bottom: 28px; }
  body.ranking-business-account:not(.ranking-mobile) .rbu-metric { padding: var(--rw-space) !important; }
  body.ranking-business-account:not(.ranking-mobile) .rbu-metric>span { min-height: 3em; }
  body.ranking-business-account:not(.ranking-mobile) .rbu-metric>strong { font-size: 1.375rem; }
  body.ranking-business-account:not(.ranking-mobile) :is(.rbu-page,.rbu-dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea) { font-size: 16px; }
}
@media (max-width: 600px) {
  body.ranking-business-account:not(.ranking-mobile) .rbu-heading { flex-wrap: wrap; }
  body.ranking-business-account:not(.ranking-mobile) .rpt-heading { align-items: stretch; gap: 16px; }
  body.ranking-business-account:not(.ranking-mobile) .rpt-grid { grid-template-columns: minmax(0,1fr); }
  body.ranking-business-account:not(.ranking-mobile) .rbu-tool { padding: var(--rw-space) !important; gap: 12px; }
  body.ranking-business-account.rp-density-amplia:not(.ranking-mobile) .rbu-metrics { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 360px) {
  body.ranking-business-account:not(.ranking-mobile) .rbu-page { padding-inline: 16px; }
  body.ranking-business-account:not(.ranking-mobile) .rbu-metrics { grid-template-columns: minmax(0,1fr); }
  body.ranking-business-account:not(.ranking-mobile) .rbu-metric>span { min-height: 0; }
  body.ranking-business-account:not(.ranking-mobile) .rbu-metric>strong { font-size: 1.625rem; }
}
