.sp-sales-page { max-width: 1120px; }
.sp-sales-page.sp-dash {
  max-width: none;
  width: 100%;
}
@media (min-width: 992px) {
  .app-content-fluid:has(.sp-dash) {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}
.sp-sales-overline {
  font-size: 11px;
  letter-spacing: .08em;
  font-weight: 700;
  color: var(--sp-slate-500);
  margin: 0 0 4px;
}
.sp-sales-h1 {
  font-size: 28px;
  line-height: 34px;
  font-weight: 700;
  color: var(--sp-navy-950);
  margin: 0;
}
.sp-sales-sub { color: var(--sp-slate-600); font-size: 14px; }
.sp-sales-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  border-bottom: 1px solid var(--sp-slate-200);
  margin-bottom: 1.25rem;
}
.sp-sales-tabs a {
  padding: .65rem .9rem;
  color: var(--sp-slate-600);
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.sp-sales-tabs a.is-active { color: var(--sp-blue-600); border-bottom-color: var(--sp-blue-600); }
.sp-sales-count {
  display: inline-block;
  min-width: 1.25rem;
  padding: 0 .35rem;
  border-radius: 999px;
  background: var(--sp-blue-tint);
  color: var(--sp-blue-700);
  font-size: 12px;
}
.sp-sales-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.sp-sales-chips a {
  border: 1px solid var(--sp-slate-200);
  border-radius: 999px;
  padding: .25rem .7rem;
  font-size: 13px;
  color: var(--sp-slate-700);
  text-decoration: none;
}
.sp-sales-chips a.is-active { background: var(--sp-blue-600); color: #fff; border-color: var(--sp-blue-600); }
.sp-ss-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.sp-ss-card {
  background: #fff;
  border: 1px solid var(--sp-slate-200);
  border-radius: 12px;
  padding: 1rem;
}
.sp-ss-badge { font-size: 12px; font-weight: 600; border-radius: 999px; padding: .15rem .55rem; }
.sp-ss-badge.is-clinic { background: var(--sp-blue-tint); color: var(--sp-blue-700); }
.sp-ss-badge.is-partner { background: var(--sp-purple-100); color: var(--sp-violet-500); }
.sp-ss-thumb {
  height: 140px;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid var(--sp-slate-200);
  margin-bottom: .75rem;
  background: var(--sp-gray-50);
}
.sp-ss-thumb iframe {
  width: 200%;
  height: 280px;
  transform: scale(.5);
  transform-origin: 0 0;
  border: 0;
  pointer-events: none;
}
.sp-sales-tiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 1.25rem;
}
.sp-sales-tile {
  background: #fff;
  border: 1px solid var(--sp-slate-200);
  border-radius: 12px;
  padding: 1rem;
}
.sp-sales-tile__label { display: block; font-size: 12px; color: var(--sp-slate-500); }
.sp-sales-tile strong { display: block; font-size: 22px; color: var(--sp-navy-950); }
.sp-sales-tile strong.is-success { color: var(--sp-success); }
.sp-sales-tile strong.is-warn { color: var(--sp-warning-600); }
.sp-sales-tile__hint { font-size: 12px; color: var(--sp-slate-500); }
.sp-dash-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 1rem;
}
.sp-dash-header__actions,
.sp-dash-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.sp-dash-header__actions .btn {
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  font-weight: 600;
  border-radius: 8px;
  box-sizing: border-box;
}
.sp-dash-card__actions .btn {
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  font-weight: 600;
  font-size: 13px;
  border-radius: 8px;
  box-sizing: border-box;
}
.sp-dash .btn-primary,
.sp-dash .modal .btn-primary {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}
.sp-dash .sp-btn-secondary,
.sp-dash .modal .sp-btn-secondary,
.sp-btn-secondary {
  background: #fff;
  border: 1px solid #cbd5e1;
  color: #334155;
}
.sp-dash .sp-btn-secondary:hover,
.sp-dash .modal .sp-btn-secondary:hover,
.sp-btn-secondary:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #334155;
}
#enrollAccountModal .btn-primary,
#enrollQrModal .btn-primary {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}
.sp-dash-mid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: 16px;
  align-items: stretch;
  margin-bottom: 1.25rem;
}
.sp-dash-card { height: 100%; }
.sp-dash-card__title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  color: #0f172a;
  margin: 0 0 4px;
}
.sp-dash-card__sub {
  font-size: 13px;
  color: #64748b;
  margin: 0 0 16px;
}
.sp-dash-link {
  font-size: 13px;
  font-weight: 600;
  color: #2563eb;
  text-decoration: none;
  white-space: nowrap;
}
.sp-dash-link:hover { text-decoration: underline; color: #2563eb; }
.sp-enroll { min-width: 0; }
.sp-enroll__rule {
  border: 0;
  border-top: 1px solid #f1f5f9;
  margin: 16px 0;
}
.sp-enroll__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.sp-enroll__icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  font-size: 14px;
}
.sp-enroll__icon.is-clinic { background: #dbeafe; color: #2563eb; }
.sp-enroll__icon.is-partner { background: #ede9fe; color: #7c3aed; }
.sp-enroll__label { font-size: 14px; font-weight: 600; color: #0f172a; }
.sp-enroll__row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.sp-enroll__url {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  height: 40px;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 13px;
  color: #334155;
  padding: 0 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sp-enroll__copy,
.sp-enroll__qr {
  flex: 0 0 auto;
  height: 40px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-sizing: border-box;
}
.sp-enroll__copy {
  background: #2563eb;
  border: 1px solid #2563eb;
  color: #fff;
}
.sp-enroll__qr {
  background: #fff;
  border: 1px solid #cbd5e1;
  color: #334155;
  min-width: 64px;
}
.sp-enroll__help {
  margin: 8px 0 0;
  font-size: 12px;
  color: #64748b;
}
.sp-mini-tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
  margin: 12px 0;
  flex: 1 1 auto;
}
.sp-mini-tiles a {
  border: 1px solid var(--sp-slate-200);
  border-radius: 10px;
  padding: .65rem;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 88px;
}
.sp-mini-tiles strong { display: block; font-size: 22px; color: #0f172a; }
.sp-mini-tiles span { font-size: 12px; color: var(--sp-slate-600); }
.sp-mini-tiles a.is-warn strong { color: var(--sp-warning-600); }
.sp-mini-tiles a.is-alert strong { color: var(--sp-error); }
@media (max-width: 991px) {
  .sp-dash-mid { grid-template-columns: 1fr; }
}
.sp-sales-rep-card {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--sp-slate-200);
  border-radius: 12px;
  background: #fff;
}
.sp-sales-rep-card strong { display: block; font-size: 14px; }
.sp-sales-rep-card__meta { display: block; font-size: 12px; color: var(--sp-slate-500); }
.sp-sales-rep-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--sp-blue-tint);
  color: var(--sp-blue-700);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 12px;
}
.sp-nav-new {
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  background: var(--sp-blue-600);
  color: #fff;
  border-radius: 999px;
  padding: .1rem .4rem;
}
.ss-expired { max-width: 32rem; margin: 4rem auto; text-align: center; }
.sp-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1080;
  background: #0f172a;
  color: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  min-width: 280px;
  box-shadow: 0 12px 40px rgba(15, 23, 42, .25);
}
.ss-public {
  font-family: Inter, system-ui, sans-serif;
  background: #f1f5f9;
  color: #0f172a;
  margin: 0;
}
.ss-page { --ss-primary: #2563eb; --ss-primary-dark: #1d4ed8; padding: 24px 16px 48px; }
.ss-sheet { max-width: 880px; margin: 0 auto; }
.ss-hero {
  background: linear-gradient(135deg, var(--ss-primary) 0%, var(--ss-primary-dark) 100%);
  color: #fff;
  border-radius: 20px;
  padding: 28px 28px 32px;
}
.ss-hero__top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.ss-brand { display: flex; gap: 12px; align-items: center; }
.ss-brand__logo { height: 44px; width: auto; max-width: 160px; object-fit: contain; background: #fff; border-radius: 8px; padding: 4px; }
.ss-brand__name { font-weight: 700; font-size: 16px; }
.ss-brand__meta { font-size: 13px; opacity: .9; }
.ss-pill {
  display: inline-block;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 13px;
  font-weight: 600;
}
.ss-hero h1 { font-size: 40px; font-weight: 800; line-height: 1.15; margin: 20px 0 12px; letter-spacing: -.02em; }
.ss-lead { font-size: 17px; line-height: 1.45; margin: 0 0 20px; opacity: .95; }
.ss-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ss-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 16px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  box-sizing: border-box;
}
.ss-btn--on-primary { background: #fff; color: var(--ss-primary); }
.ss-btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.7); }
.ss-btn--text { background: transparent; color: #fff; height: auto; padding: 0; }
.ss-btn--primary { background: var(--ss-primary); color: #fff; }
.ss-btn--on-dark { background: transparent; color: #fff; border: 1px solid #334155; }
.ss-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.ss-stat, .ss-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 16px 18px;
}
.ss-stat__label { display: block; font-size: 12px; color: #64748b; font-weight: 600; }
.ss-stat strong { display: block; font-size: 22px; margin: 6px 0 4px; }
.ss-stat__hint { font-size: 12px; color: #64748b; }
.ss-card { margin-bottom: 12px; }
.ss-card h2 { font-size: 18px; font-weight: 700; margin: 0 0 12px; }
.ss-card__head { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin-bottom: 8px; }
.ss-card__head h2 { margin: 0; }
.ss-link { font-size: 13px; font-weight: 600; color: var(--ss-primary); text-decoration: none; }
.ss-link:hover { text-decoration: underline; }
.ss-compound { padding: 10px 0; border-bottom: 1px solid #f1f5f9; }
.ss-compound:last-child { border-bottom: 0; }
.ss-compound__title { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ss-compound__line { font-size: 13px; color: #475569; margin-top: 4px; }
.ss-tag { font-size: 11px; font-weight: 600; background: #eff6ff; color: var(--ss-primary); border-radius: 999px; padding: 2px 8px; }
.ss-new { border-top: 1px solid #e2e8f0; margin-top: 12px; padding-top: 12px; }
.ss-new__label { font-size: 12px; font-weight: 700; color: #7c3aed; letter-spacing: .04em; }
.ss-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ss-chip { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 999px; padding: 4px 10px; font-size: 13px; }
.ss-chip--state { display: inline-flex; align-items: center; gap: 6px; }
.ss-dot { width: 8px; height: 8px; border-radius: 99px; background: #16a34a; }
.ss-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ss-checks { list-style: none; padding: 0; margin: 12px 0 0; }
.ss-checks li { position: relative; padding: 6px 0 6px 22px; font-size: 14px; }
.ss-checks li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 700; }
.ss-steps { list-style: none; padding: 0; margin: 0; }
.ss-steps li { display: flex; gap: 10px; margin-bottom: 12px; }
.ss-steps p { margin: 4px 0 0; font-size: 13px; color: #475569; }
.ss-steps__n {
  flex: 0 0 28px; height: 28px; border-radius: 99px;
  background: var(--ss-primary); color: #fff;
  display: grid; place-items: center; font-weight: 700; font-size: 13px;
}
.ss-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ss-photos img { width: 100%; height: 140px; object-fit: cover; border-radius: 10px; }
.ss-person { display: flex; gap: 12px; align-items: flex-start; }
.ss-person strong, .ss-person span, .ss-person a { display: block; }
.ss-person span { font-size: 13px; color: #64748b; }
.ss-person a { font-size: 13px; color: var(--ss-primary); text-decoration: none; }
.ss-person__photo {
  width: 56px; height: 56px; border-radius: 12px; object-fit: cover;
  background: #eff6ff; color: var(--ss-primary);
  display: grid; place-items: center; font-weight: 700; flex: 0 0 56px;
}
.ss-person__photo--empty { background: #f1f5f9; }
.ss-card--rep { border: 2px solid var(--ss-primary); }
.ss-cta {
  background: #0f172a; color: #fff; border-radius: 16px; padding: 24px;
  display: flex; justify-content: space-between; gap: 16px; align-items: center;
  margin: 12px 0;
}
.ss-cta h2 { margin: 0 0 8px; font-size: 24px; }
.ss-cta p { margin: 0 0 16px; color: #cbd5e1; }
.ss-qr { width: 120px; height: 120px; background: #fff; border-radius: 12px; padding: 8px; }
.ss-foot { text-align: center; color: #64748b; font-size: 12px; padding: 8px 0 24px; }
.ss-empty { color: #64748b; font-size: 14px; }
.ss-ssa p { margin: 0; color: #475569; font-size: 14px; line-height: 1.5; }
@media (max-width: 800px) {
  .ss-hero h1 { font-size: 28px; }
  .ss-stats { grid-template-columns: 1fr 1fr; }
  .ss-split, .ss-photos { grid-template-columns: 1fr; }
  .ss-hero__actions .ss-btn:not(.ss-btn--text) { width: 100%; }
  .ss-cta { flex-direction: column; align-items: flex-start; }
}
@media print {
  @page { size: letter; margin: 0.5in; }
  .ss-public { background: #fff; }
  .ss-page { padding: 0; }
  .ss-hero { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .ss-card, .ss-stat, .ss-cta, .ss-hero { break-inside: avoid; page-break-inside: avoid; }
  .ss-btn[href]::after { content: " (" attr(href) ")"; font-size: 11px; font-weight: 400; }
  .ss-qr { break-inside: avoid; }
}
.sp-sales-tile--you {
  background: #eff6ff;
  border-color: #bfdbfe;
}
.sp-support-dash-mid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.sp-support-range {
  display: inline-flex;
  border: 1px solid var(--sp-slate-200);
  border-radius: 8px;
  overflow: hidden;
}
.sp-support-range a {
  padding: .4rem .75rem;
  font-size: 13px;
  font-weight: 600;
  color: var(--sp-slate-600);
  text-decoration: none;
}
.sp-support-range a.is-active {
  background: #2563eb;
  color: #fff;
}
.sp-support-left {
  display: inline-block;
  border-radius: 999px;
  padding: .15rem .55rem;
  font-size: 12px;
  font-weight: 600;
}
.sp-support-left.is-green { background: #dcfce7; color: #166534; }
.sp-support-left.is-amber { background: #fef3c7; color: #92400e; }
.sp-support-left.is-red { background: #fee2e2; color: #991b1b; }
.sp-support-msg {
  border-top: 1px solid var(--sp-slate-200);
  padding: .75rem 0;
}
.sp-support-msg:first-of-type { border-top: 0; padding-top: 0; }
.sp-support-alert {
  display: flex;
  gap: 8px;
  padding: .55rem 0;
  text-decoration: none;
  color: inherit;
  border-top: 1px solid var(--sp-slate-200);
}
.sp-support-alert:first-of-type { border-top: 0; }
.sp-support-dot {
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: #cbd5e1;
  margin-top: 6px;
  flex: 0 0 8px;
}
.sp-support-dot.is-warn { background: #f59e0b; }
.sp-support-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: .5rem 0 1rem;
  list-style: none;
  font-size: 11px;
  color: #94a3b8;
}
.sp-support-steps li.is-done { color: #2563eb; font-weight: 600; }
.sp-support-left.is-blue { background: #dbeafe; color: #1e40af; }
.sp-support-left.is-slate { background: #e2e8f0; color: #334155; }
.sp-ticket-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.sp-ticket-chip { border: 1px solid #cbd5e1; background: #fff; border-radius: 999px; padding: .35rem .75rem; font-size: .875rem; }
.sp-ticket-chip.is-active { background: #1d4ed8; border-color: #1d4ed8; color: #fff; }
.sp-ticket-due.is-danger { color: #b91c1c; font-weight: 700; }
.sp-ticket-due.is-amber { color: #b45309; font-weight: 700; }
.sp-ticket-due.is-muted { color: #64748b; }
.sp-ticket-note { background: #fef9c3; border: 1px solid #fde047; }
@media (max-width: 1100px) {
  .sp-support-dash-mid { grid-template-columns: 1fr; }
}
.sp-review { max-width: 1120px; }
.sp-review-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.sp-review-crumb { color: #64748b; font-size: 13px; margin: 0 0 6px; }
.sp-review-crumb a { color: #2563eb; text-decoration: none; }
.sp-review-title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 28px; }
.sp-review-line { margin: 0; color: #475569; font-size: 14px; }
.sp-review-chip { border-radius: 999px; padding: 2px 10px; font-size: 12px; font-weight: 600; background: #eef2ff; color: #3730a3; }
.sp-review-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 16px; }
.sp-review-step { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px 12px; min-width: 0; }
.sp-review-step strong { display: block; font-size: 13px; }
.sp-review-step span { display: block; color: #64748b; font-size: 12px; margin-top: 2px; }
.sp-review-step.is-done strong { color: #15803d; }
.sp-review-step.is-current strong { color: #2563eb; }
.sp-review-step.is-later strong { color: #94a3b8; }
.sp-review-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.sp-review-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; margin-bottom: 16px; }
.sp-review-card h2 { font-size: 16px; margin: 0; }
.sp-review-progress { height: 8px; background: #e2e8f0; border-radius: 99px; overflow: hidden; margin: 10px 0 14px; }
.sp-review-progress span { display: block; height: 100%; background: #2563eb; }
.sp-review-item { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px; padding: 12px 0; border-top: 1px solid #e2e8f0; }
.sp-review-item:first-of-type { border-top: 0; }
.sp-review-item p { margin: 2px 0 0; color: #64748b; font-size: 13px; }
.sp-review-item a { font-size: 13px; }
.sp-review-who { color: #64748b; font-size: 12px; white-space: nowrap; }
.sp-review-missing { color: #b91c1c; font-weight: 600; }
.sp-review-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.sp-review-side .sp-review-card { font-size: 14px; }
.sp-review-person { display: flex; gap: 10px; align-items: center; margin-top: 8px; }
.sp-review-avatar { width: 36px; height: 36px; border-radius: 999px; background: #dbeafe; color: #1d4ed8; display: grid; place-items: center; font-weight: 700; font-size: 12px; flex: none; }
@media (max-width: 1100px) {
  .sp-review-grid, .sp-review-steps { grid-template-columns: 1fr; }
  .sp-review-head { flex-direction: column; }
}
.sr-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.sr-stat { background: #fff; border: 1px solid var(--sp-slate-200); border-radius: 12px; padding: 14px 16px; }
.sr-stat strong { display: block; font-size: 22px; color: #0f172a; }
.sr-stat span { font-size: 12px; color: var(--sp-slate-600); }
.sr-status { font-size: 12px; font-weight: 600; border-radius: 999px; padding: .1rem .45rem; }
.sr-status-published { background: #dcfce7; color: #166534; }
.sr-status-draft { background: #f1f5f9; color: #475569; }
.sr-status-archived { background: #e2e8f0; color: #334155; }
.sr-editor { width: min(440px, 100vw); }
.sr-drop { border: 1px dashed var(--sp-slate-200); border-radius: 12px; padding: 12px; }
.sr-drop.is-over { border-color: var(--sp-blue-600); background: var(--sp-blue-tint); }
.sr-doc.is-highlight { outline: 2px solid var(--sp-blue-600); }
.sr-badge { display: inline-block; margin-left: .35rem; font-size: 11px; font-weight: 700; border-radius: 999px; padding: .05rem .4rem; vertical-align: middle; }
.sr-badge.is-new { background: var(--sp-blue-600); color: #fff; }
.sr-badge.is-updated { background: #fef3c7; color: #92400e; }
.sr-badge.is-internal { background: #f1f5f9; color: #475569; }
@media (max-width: 800px) { .sr-stats { grid-template-columns: 1fr 1fr; } }

.sp-reports { font-family: var(--sp-font-sans); color: var(--sp-navy-950); }
.sp-report-filters {
  display: flex;
  align-items: flex-end;
  gap: 20px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 16px;
}
.sp-report-field { min-width: 0; }
.sp-report-field--account { flex: 1 1 240px; max-width: 320px; }
.sp-report-field__label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 6px;
}
.sp-report-date {
  height: 38px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0 10px;
  font-size: 14px;
  color: #0f172a;
  background: #fff;
}
.sp-seg {
  display: inline-flex;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.sp-seg a, .sp-seg button {
  border: 0;
  background: transparent;
  color: #334155;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 12px;
  line-height: 1.2;
  white-space: nowrap;
}
.sp-seg a.is-active, .sp-seg button.is-active { background: #2563eb; color: #fff; }
.sp-acct { position: relative; }
.sp-acct__btn {
  width: 100%;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  padding: 0 10px;
  color: #0f172a;
  font-size: 14px;
  font-weight: 600;
}
.sp-acct__panel {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  min-width: 260px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
  padding: 8px;
}
.sp-acct__search {
  width: 100%;
  height: 36px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0 10px;
  margin-bottom: 6px;
}
.sp-acct__list { max-height: 280px; overflow: auto; }
.sp-acct__group {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #94a3b8;
  padding: 8px 8px 4px;
}
.sp-acct__opt {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 8px;
  font-size: 14px;
  color: #0f172a;
}
.sp-acct__opt:hover, .sp-acct__opt.is-active { background: #eff6ff; color: #2563eb; }
.sp-report-picker {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.sp-report-pick {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 92px;
  padding: 14px 12px 12px;
  background: #fff;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  color: #0f172a;
  text-decoration: none;
}
.sp-report-pick.is-active { border-color: #2563eb; }
.sp-report-pick__icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: #64748b;
}
.sp-report-pick.is-active .sp-report-pick__icon {
  background: #2563eb;
  color: #fff;
  border-radius: 8px;
}
.sp-report-pick__name { font-size: 13px; font-weight: 600; line-height: 1.3; }
.sp-report-new {
  position: absolute;
  top: -8px;
  left: 12px;
  background: #2563eb;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 999px;
  padding: 1px 6px;
}
.sp-report-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 16px;
}
.sp-report-card__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
}
.sp-report-card__title { font-size: 18px; font-weight: 600; margin: 0 0 4px; }
.sp-report-card__desc { margin: 0; color: #64748b; font-size: 14px; }
.sp-report-card__actions { display: flex; gap: 8px; flex: none; }
.sp-report-card__actions .is-pressed { background: #eff6ff; border-color: #2563eb; color: #1d4ed8; }
.sp-trend-tiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.sp-trend-tile {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 12px 14px;
}
.sp-trend-tile__label { display: block; font-size: 12px; color: #64748b; }
.sp-trend-tile__row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sp-trend-tile strong { font-size: 28px; line-height: 1.2; color: #0f172a; }
.sp-trend-tile__note { font-size: 14px !important; font-weight: 600; line-height: 1.35; }
.sp-trend-tile__hint { display: block; margin-top: 4px; font-size: 12px; color: #64748b; }
.sp-delta {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 700;
}
.sp-delta.is-up { background: #dcfce7; color: #15803d; }
.sp-delta.is-down { background: #fee2e2; color: #b91c1c; }
.sp-delta.is-flat { background: #f1f5f9; color: #475569; }
.sp-legend { display: flex; gap: 16px; font-size: 13px; color: #334155; margin-bottom: 4px; }
.sp-legend__swatch { display: inline-block; width: 22px; height: 0; border-top: 2px solid #2563eb; margin-right: 6px; vertical-align: middle; }
.sp-legend__swatch.is-prev { border-top-style: dashed; border-top-color: #0d9488; }
.sp-trend-chart__title { font-size: 14px; font-weight: 600; margin: 0 0 8px; }
.sp-trend-chart__canvas { position: relative; height: 280px; margin-bottom: 16px; }
.sp-report-table th { font-size: 12px; color: #64748b; font-weight: 700; letter-spacing: .03em; }
.sp-report-table th button {
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: uppercase;
}
.sp-report-table td { font-size: 14px; color: #0f172a; }
.sp-report-link { color: #2563eb; font-weight: 600; text-decoration: none; }
.sp-report-link:hover { text-decoration: underline; }
.sp-report-empty { color: #64748b; padding: 24px 0; margin: 0; }
.sp-report-headline { font-size: 32px; font-weight: 700; color: #1d4ed8; margin: 0 0 4px; }
.sp-report-compare { color: #b91c1c; }
.sp-report-compare.is-up { color: #15803d; }
.sp-trend {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 700;
}
.sp-trend.is-growing { background: #dcfce7; color: #15803d; }
.sp-trend.is-steady { background: #f1f5f9; color: #475569; }
.sp-trend.is-slowing { background: #fee2e2; color: #b91c1c; }
.sp-trend.is-new { background: #eff6ff; color: #1d4ed8; }
.sp-trend.is-noorders { background: #fef3c7; color: #b45309; }
.sp-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 700;
  background: #f1f5f9;
  color: #334155;
}
.sp-status.is-delivered { background: #dcfce7; color: #15803d; }
.sp-status.is-transit { background: #eff6ff; color: #1d4ed8; }
.sp-status.is-exception { background: #fee2e2; color: #b91c1c; }
.sp-delivery-tools { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 12px; }
.sp-group-row td { background: #f8fafc; font-size: 12px; font-weight: 700; color: #64748b; }
.pr-wrap.is-builder-only { margin-top: 8px; }
@media (max-width: 1199.98px) {
  .sp-report-filters { flex-wrap: wrap; }
  .sp-report-picker { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sp-trend-tiles { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .sp-report-picker { grid-template-columns: 1fr 1fr; }
  .sp-report-card__head { flex-direction: column; }
}

.sp-catalog-tabs { display: flex; gap: 1.25rem; border-bottom: 1px solid var(--sp-line, #e7e9ee); margin: 1.25rem 0 1rem; }
.sp-catalog-tabs a { color: #64748b; text-decoration: none; font-weight: 600; padding-bottom: .65rem; border-bottom: 2px solid transparent; }
.sp-catalog-tabs a.is-active { color: #0f172a; border-bottom-color: #2563eb; }
.sp-catalog-tabs span { color: #64748b; font-weight: 500; margin-left: .25rem; }
.sp-catalog-filters { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-bottom: .75rem; }
.sp-catalog-search input, .sp-catalog-source select, .sp-catalog-editor .form-control, .sp-catalog-editor .form-select {
  border: 1px solid #e7e9ee; border-radius: 10px; padding: .55rem .75rem; min-width: 14rem;
}
.sp-catalog-source { display: flex; align-items: center; gap: .5rem; color: #64748b; font-size: .875rem; }
.sp-catalog-segment { display: flex; align-items: center; gap: .35rem; color: #64748b; font-size: .875rem; }
.sp-catalog-segment a, .sp-catalog-chips a {
  text-decoration: none; color: #334155; border: 1px solid #e7e9ee; border-radius: 999px; padding: .3rem .7rem; background: #fff;
}
.sp-catalog-segment a.is-active, .sp-catalog-chips a.is-active { background: #2563eb; color: #fff; border-color: #2563eb; }
.sp-catalog-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.sp-catalog .sp-card { background: #fff; border: 1px solid #e7e9ee; border-radius: 12px; overflow: hidden; }
.sp-catalog-table { width: 100%; border-collapse: collapse; }
.sp-catalog-table th { text-align: left; font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; color: #64748b; padding: .85rem 1rem; border-bottom: 1px solid #e7e9ee; }
.sp-catalog-table td { padding: .85rem 1rem; border-bottom: 1px solid #f1f5f9; vertical-align: top; }
.sp-catalog-med { font-weight: 600; color: #0f172a; text-decoration: none; }
.sp-catalog-cat { color: #64748b; font-size: .8125rem; }
.sp-catalog-price { font-weight: 600; white-space: nowrap; }
.sp-catalog-more, .sp-catalog-note, .sp-catalog-help { color: #64748b; padding: .75rem 1rem; margin: 0; }
.sp-catalog-note { padding-left: 0; }
.sp-catalog-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .35rem; }
.sp-tag { font-size: .75rem; border-radius: 999px; padding: .1rem .5rem; background: #f1f5f9; color: #334155; }
.sp-tag.is-default { background: #eff6ff; color: #1d4ed8; }
.sp-tag.is-hidden { background: #fff7ed; color: #c2410c; }
.sp-catalog-actions { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: flex-end; }
.sp-catalog-actions form { margin: 0; }
.sp-catalog-actions button, .sp-catalog-actions a { background: none; border: 0; padding: 0; color: #2563eb; font-weight: 600; }
.sp-catalog-editor { padding: 1rem 1.25rem 1.25rem; }
.sp-catalog-check { display: flex; gap: .5rem; align-items: center; margin-top: .85rem; font-weight: 600; }
.sp-catalog-price-input { max-width: 8rem; }
.sp-delta.is-lower { color: #15803d; font-weight: 600; white-space: nowrap; }
.sp-delta.is-higher { color: #b91c1c; font-weight: 600; white-space: nowrap; }
