/* -------------------------------------------------------------------
   Stage 105.1D CLEAN — Reports Workbench Professional Layout v1
   Frontend-only CSS layout transformation for Reports pages.
   Styling/layout only: no route changes, no API calls, no data writes,
   no report query changes, no Billing/SageOne runtime changes,
   no RADIUS, prepaid/topups, products/backend/customer package-speed,
   no Asset Register, Job Card, Calendar, Android, or protected logic.
------------------------------------------------------------------- */

:root{
  --ui2-report-bg:
    radial-gradient(circle at top left, rgba(59,130,246,.16), transparent 31%),
    radial-gradient(circle at top right, rgba(124,58,237,.13), transparent 29%),
    radial-gradient(circle at 85% 82%, rgba(20,184,166,.10), transparent 30%),
    linear-gradient(135deg, rgba(239,246,255,.84), rgba(245,243,255,.72) 58%, rgba(240,253,250,.55));
  --ui2-report-hero: rgba(255,255,255,.972);
  --ui2-report-hero-strong: rgba(255,255,255,.997);
  --ui2-report-panel: rgba(255,255,255,.976);
  --ui2-report-panel-soft: rgba(248,250,252,.92);
  --ui2-report-border: rgba(148,163,184,.25);
  --ui2-report-border-strong: rgba(59,130,246,.28);
  --ui2-report-text: #0f172a;
  --ui2-report-muted: #64748b;
  --ui2-report-accent: #2563eb;
  --ui2-report-accent-2: #7c3aed;
  --ui2-report-accent-3: #0f766e;
  --ui2-report-success: #16a34a;
  --ui2-report-warning: #d97706;
  --ui2-report-danger: #dc2626;
  --ui2-report-shadow: 0 22px 62px rgba(15,23,42,.105);
  --ui2-report-shadow-soft: 0 12px 34px rgba(15,23,42,.068);
  --ui2-report-radius-xl: 30px;
  --ui2-report-radius-lg: 24px;
}

html[data-theme="dark"], body.dark, body.theme-dark{
  --ui2-report-bg:
    radial-gradient(circle at top left, rgba(96,165,250,.15), transparent 33%),
    radial-gradient(circle at top right, rgba(167,139,250,.14), transparent 29%),
    radial-gradient(circle at 86% 82%, rgba(45,212,191,.10), transparent 31%),
    linear-gradient(135deg, rgba(2,6,23,.98), rgba(15,23,42,.93) 60%, rgba(49,46,129,.36));
  --ui2-report-hero: rgba(15,23,42,.92);
  --ui2-report-hero-strong: rgba(15,23,42,.98);
  --ui2-report-panel: rgba(15,23,42,.93);
  --ui2-report-panel-soft: rgba(30,41,59,.72);
  --ui2-report-border: rgba(148,163,184,.22);
  --ui2-report-border-strong: rgba(96,165,250,.26);
  --ui2-report-text: #e5edf8;
  --ui2-report-muted: #9fb0c5;
  --ui2-report-accent: #60a5fa;
  --ui2-report-accent-2: #a78bfa;
  --ui2-report-accent-3: #2dd4bf;
  --ui2-report-shadow: 0 24px 68px rgba(0,0,0,.34);
  --ui2-report-shadow-soft: 0 14px 38px rgba(0,0,0,.24);
}

/* Scope: Reports pages only. Billing keeps the 105.1C Billing workbench pass. */
body.ispforge-ui-v2-reports-professional-active #page,
body.ispforge-ui-v2-reports-professional-active main,
body.ispforge-ui-v2-reports-professional-active .main-content,
body.ispforge-ui-v2-reports-professional-active .content,
body.ispforge-ui-v2-reports-professional-active .page{
  background: var(--ui2-report-bg) !important;
}

body.ispforge-ui-v2-reports-professional-active #page,
body.ispforge-ui-v2-reports-professional-active .page,
body.ispforge-ui-v2-reports-professional-active .main-content{
  max-width: 1680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Professional report hero/header across old and newer report renderers. */
body.ispforge-ui-v2-reports-professional-active .page-title-row,
body.ispforge-ui-v2-reports-professional-active .s1048b-title,
body.ispforge-ui-v2-reports-professional-active .s1048c-title,
body.ispforge-ui-v2-reports-professional-active .s1048d-title,
body.ispforge-ui-v2-reports-professional-active .s1048e-title,
body.ispforge-ui-v2-reports-professional-active .s1048f-title,
body.ispforge-ui-v2-reports-professional-active .s1048fp-title,
body.ispforge-ui-v2-reports-professional-active .s923b-title-row,
body.ispforge-ui-v2-reports-professional-active .s924-title-row,
body.ispforge-ui-v2-reports-professional-active .s925-title-row,
body.ispforge-ui-v2-reports-professional-active .s926-title-row,
body.ispforge-ui-v2-reports-professional-active .s927-title-row,
body.ispforge-ui-v2-reports-professional-active .s928-title-row,
body.ispforge-ui-v2-reports-professional-active .s9212-title-row{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
  position: relative !important;
  isolation: isolate !important;
  margin: 2px 0 22px !important;
  padding: clamp(22px, 2.1vw, 34px) clamp(22px, 2.35vw, 38px) !important;
  border: 1px solid var(--ui2-report-border-strong) !important;
  border-radius: var(--ui2-report-radius-xl) !important;
  background:
    radial-gradient(circle at 88% 14%, rgba(59,130,246,.18), transparent 25%),
    radial-gradient(circle at 2% 92%, rgba(124,58,237,.11), transparent 31%),
    linear-gradient(135deg, var(--ui2-report-hero-strong), var(--ui2-report-hero)) !important;
  box-shadow: var(--ui2-report-shadow) !important;
  overflow: hidden !important;
}

body.ispforge-ui-v2-reports-professional-active .page-title-row::before,
body.ispforge-ui-v2-reports-professional-active .s1048b-title::before,
body.ispforge-ui-v2-reports-professional-active .s1048c-title::before,
body.ispforge-ui-v2-reports-professional-active .s1048d-title::before,
body.ispforge-ui-v2-reports-professional-active .s1048e-title::before,
body.ispforge-ui-v2-reports-professional-active .s1048f-title::before,
body.ispforge-ui-v2-reports-professional-active .s1048fp-title::before,
body.ispforge-ui-v2-reports-professional-active .s923b-title-row::before,
body.ispforge-ui-v2-reports-professional-active .s924-title-row::before,
body.ispforge-ui-v2-reports-professional-active .s925-title-row::before,
body.ispforge-ui-v2-reports-professional-active .s926-title-row::before,
body.ispforge-ui-v2-reports-professional-active .s927-title-row::before,
body.ispforge-ui-v2-reports-professional-active .s928-title-row::before,
body.ispforge-ui-v2-reports-professional-active .s9212-title-row::before{
  content: "" !important;
  position: absolute !important;
  inset: auto 28px 0 28px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--ui2-report-accent), var(--ui2-report-accent-2), var(--ui2-report-accent-3)) !important;
  opacity: .92 !important;
  z-index: 0 !important;
}

body.ispforge-ui-v2-reports-professional-active .page-title-row::after,
body.ispforge-ui-v2-reports-professional-active .s1048b-title::after,
body.ispforge-ui-v2-reports-professional-active .s1048c-title::after,
body.ispforge-ui-v2-reports-professional-active .s1048d-title::after,
body.ispforge-ui-v2-reports-professional-active .s1048e-title::after,
body.ispforge-ui-v2-reports-professional-active .s1048f-title::after,
body.ispforge-ui-v2-reports-professional-active .s1048fp-title::after,
body.ispforge-ui-v2-reports-professional-active .s923b-title-row::after,
body.ispforge-ui-v2-reports-professional-active .s924-title-row::after,
body.ispforge-ui-v2-reports-professional-active .s925-title-row::after,
body.ispforge-ui-v2-reports-professional-active .s926-title-row::after,
body.ispforge-ui-v2-reports-professional-active .s927-title-row::after,
body.ispforge-ui-v2-reports-professional-active .s928-title-row::after,
body.ispforge-ui-v2-reports-professional-active .s9212-title-row::after{
  content: "Reports Workbench" !important;
  position: absolute !important;
  right: 24px !important;
  top: 18px !important;
  padding: 7px 12px !important;
  border: 1px solid rgba(59,130,246,.24) !important;
  border-radius: 999px !important;
  background: rgba(59,130,246,.095) !important;
  color: var(--ui2-report-accent) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
}

body.ispforge-ui-v2-reports-professional-active .page-title-row > *,
body.ispforge-ui-v2-reports-professional-active .s1048b-title > *,
body.ispforge-ui-v2-reports-professional-active .s1048c-title > *,
body.ispforge-ui-v2-reports-professional-active .s1048d-title > *,
body.ispforge-ui-v2-reports-professional-active .s1048e-title > *,
body.ispforge-ui-v2-reports-professional-active .s1048f-title > *,
body.ispforge-ui-v2-reports-professional-active .s1048fp-title > *,
body.ispforge-ui-v2-reports-professional-active .s923b-title-row > *,
body.ispforge-ui-v2-reports-professional-active .s924-title-row > *,
body.ispforge-ui-v2-reports-professional-active .s925-title-row > *,
body.ispforge-ui-v2-reports-professional-active .s926-title-row > *,
body.ispforge-ui-v2-reports-professional-active .s927-title-row > *,
body.ispforge-ui-v2-reports-professional-active .s928-title-row > *,
body.ispforge-ui-v2-reports-professional-active .s9212-title-row > *{
  position: relative !important;
  z-index: 1 !important;
}

body.ispforge-ui-v2-reports-professional-active .page-title-row h1,
body.ispforge-ui-v2-reports-professional-active .s1048b-title h1,
body.ispforge-ui-v2-reports-professional-active .s1048c-title h1,
body.ispforge-ui-v2-reports-professional-active .s1048d-title h1,
body.ispforge-ui-v2-reports-professional-active .s1048e-title h1,
body.ispforge-ui-v2-reports-professional-active .s1048f-title h1,
body.ispforge-ui-v2-reports-professional-active .s1048fp-title h1,
body.ispforge-ui-v2-reports-professional-active .s923b-title-row h1,
body.ispforge-ui-v2-reports-professional-active .s924-title-row h1,
body.ispforge-ui-v2-reports-professional-active .s925-title-row h1,
body.ispforge-ui-v2-reports-professional-active .s926-title-row h1,
body.ispforge-ui-v2-reports-professional-active .s927-title-row h1,
body.ispforge-ui-v2-reports-professional-active .s928-title-row h1,
body.ispforge-ui-v2-reports-professional-active .s9212-title-row h1{
  margin: 0 0 8px !important;
  color: var(--ui2-report-text) !important;
  font-size: clamp(31px, 2.75vw, 45px) !important;
  font-weight: 950 !important;
  letter-spacing: -.060em !important;
  line-height: .99 !important;
}

body.ispforge-ui-v2-reports-professional-active .page-title-row p,
body.ispforge-ui-v2-reports-professional-active .s1048b-title p,
body.ispforge-ui-v2-reports-professional-active .s1048c-title p,
body.ispforge-ui-v2-reports-professional-active .s1048d-title p,
body.ispforge-ui-v2-reports-professional-active .s1048e-title p,
body.ispforge-ui-v2-reports-professional-active .s1048f-title p,
body.ispforge-ui-v2-reports-professional-active .s1048fp-title p,
body.ispforge-ui-v2-reports-professional-active .page-title-row .muted{
  max-width: 880px !important;
  margin: 0 !important;
  color: var(--ui2-report-muted) !important;
  font-size: 14.5px !important;
  line-height: 1.62 !important;
}

/* Report KPI cards. */
body.ispforge-ui-v2-reports-professional-active .s1048b-kpis,
body.ispforge-ui-v2-reports-professional-active .s1048c-kpis,
body.ispforge-ui-v2-reports-professional-active .s1048d-kpis,
body.ispforge-ui-v2-reports-professional-active .s1048e-kpis,
body.ispforge-ui-v2-reports-professional-active .s1048f-kpis,
body.ispforge-ui-v2-reports-professional-active .s1048fp-kpis,
body.ispforge-ui-v2-reports-professional-active .kpi-row,
body.ispforge-ui-v2-reports-professional-active .stats-row,
body.ispforge-ui-v2-reports-professional-active .summary-row,
body.ispforge-ui-v2-reports-professional-active .metric-row{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
  gap: 16px !important;
  margin: 0 0 22px !important;
}

body.ispforge-ui-v2-reports-professional-active .s1048c-kpi,
body.ispforge-ui-v2-reports-professional-active .s1048d-kpi,
body.ispforge-ui-v2-reports-professional-active .s1048e-kpi,
body.ispforge-ui-v2-reports-professional-active .s1048f-kpi,
body.ispforge-ui-v2-reports-professional-active .s1048fp-kpi,
body.ispforge-ui-v2-reports-professional-active .s9212-kpi-card,
body.ispforge-ui-v2-reports-professional-active .kpi,
body.ispforge-ui-v2-reports-professional-active .stat-card,
body.ispforge-ui-v2-reports-professional-active .summary-card,
body.ispforge-ui-v2-reports-professional-active .metric-card{
  position: relative !important;
  min-height: 116px !important;
  padding: 20px 20px 18px !important;
  border-radius: 26px !important;
  border: 1px solid var(--ui2-report-border) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), transparent),
    var(--ui2-report-panel) !important;
  box-shadow: var(--ui2-report-shadow-soft) !important;
  overflow: hidden !important;
}

html[data-theme="dark"] body.ispforge-ui-v2-reports-professional-active .s1048c-kpi,
body.dark.ispforge-ui-v2-reports-professional-active .s1048c-kpi,
body.theme-dark.ispforge-ui-v2-reports-professional-active .s1048c-kpi,
html[data-theme="dark"] body.ispforge-ui-v2-reports-professional-active .s1048d-kpi,
body.dark.ispforge-ui-v2-reports-professional-active .s1048d-kpi,
body.theme-dark.ispforge-ui-v2-reports-professional-active .s1048d-kpi,
html[data-theme="dark"] body.ispforge-ui-v2-reports-professional-active .s1048e-kpi,
body.dark.ispforge-ui-v2-reports-professional-active .s1048e-kpi,
body.theme-dark.ispforge-ui-v2-reports-professional-active .s1048e-kpi,
html[data-theme="dark"] body.ispforge-ui-v2-reports-professional-active .s1048f-kpi,
body.dark.ispforge-ui-v2-reports-professional-active .s1048f-kpi,
body.theme-dark.ispforge-ui-v2-reports-professional-active .s1048f-kpi,
html[data-theme="dark"] body.ispforge-ui-v2-reports-professional-active .s1048fp-kpi,
body.dark.ispforge-ui-v2-reports-professional-active .s1048fp-kpi,
body.theme-dark.ispforge-ui-v2-reports-professional-active .s1048fp-kpi,
html[data-theme="dark"] body.ispforge-ui-v2-reports-professional-active .s9212-kpi-card,
body.dark.ispforge-ui-v2-reports-professional-active .s9212-kpi-card,
body.theme-dark.ispforge-ui-v2-reports-professional-active .s9212-kpi-card{
  background: linear-gradient(180deg, rgba(30,41,59,.62), rgba(15,23,42,.92)) !important;
}

body.ispforge-ui-v2-reports-professional-active .s1048c-kpi::before,
body.ispforge-ui-v2-reports-professional-active .s1048d-kpi::before,
body.ispforge-ui-v2-reports-professional-active .s1048e-kpi::before,
body.ispforge-ui-v2-reports-professional-active .s1048f-kpi::before,
body.ispforge-ui-v2-reports-professional-active .s1048fp-kpi::before,
body.ispforge-ui-v2-reports-professional-active .s9212-kpi-card::before,
body.ispforge-ui-v2-reports-professional-active .kpi::before,
body.ispforge-ui-v2-reports-professional-active .stat-card::before,
body.ispforge-ui-v2-reports-professional-active .summary-card::before,
body.ispforge-ui-v2-reports-professional-active .metric-card::before{
  content: "" !important;
  position: absolute !important;
  right: 18px !important;
  top: 18px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, rgba(59,130,246,.24), rgba(124,58,237,.15)) !important;
  border: 1px solid rgba(59,130,246,.18) !important;
}

body.ispforge-ui-v2-reports-professional-active .s1048c-kpi span,
body.ispforge-ui-v2-reports-professional-active .s1048d-kpi span,
body.ispforge-ui-v2-reports-professional-active .s1048e-kpi span,
body.ispforge-ui-v2-reports-professional-active .s1048f-kpi span,
body.ispforge-ui-v2-reports-professional-active .s1048fp-kpi span,
body.ispforge-ui-v2-reports-professional-active .s9212-kpi-card span,
body.ispforge-ui-v2-reports-professional-active .kpi span,
body.ispforge-ui-v2-reports-professional-active .stat-card span,
body.ispforge-ui-v2-reports-professional-active .summary-card span,
body.ispforge-ui-v2-reports-professional-active .metric-card span{
  color: var(--ui2-report-muted) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.ispforge-ui-v2-reports-professional-active .s1048c-kpi strong,
body.ispforge-ui-v2-reports-professional-active .s1048d-kpi strong,
body.ispforge-ui-v2-reports-professional-active .s1048e-kpi strong,
body.ispforge-ui-v2-reports-professional-active .s1048f-kpi strong,
body.ispforge-ui-v2-reports-professional-active .s1048fp-kpi strong,
body.ispforge-ui-v2-reports-professional-active .s9212-kpi-card strong,
body.ispforge-ui-v2-reports-professional-active .kpi strong,
body.ispforge-ui-v2-reports-professional-active .stat-card strong,
body.ispforge-ui-v2-reports-professional-active .summary-card strong,
body.ispforge-ui-v2-reports-professional-active .metric-card strong{
  color: var(--ui2-report-text) !important;
  font-size: clamp(22px, 1.9vw, 31px) !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
  line-height: 1.1 !important;
}

/* Report control bars and filters. */
body.ispforge-ui-v2-reports-professional-active .s1048b-actions,
body.ispforge-ui-v2-reports-professional-active .s1048c-actions,
body.ispforge-ui-v2-reports-professional-active .s1048d-actions,
body.ispforge-ui-v2-reports-professional-active .s1048e-actions,
body.ispforge-ui-v2-reports-professional-active .s1048f-actions,
body.ispforge-ui-v2-reports-professional-active .s1048fp-actions,
body.ispforge-ui-v2-reports-professional-active .page-actions,
body.ispforge-ui-v2-reports-professional-active .s923b-table-actions,
body.ispforge-ui-v2-reports-professional-active .s927-table-actions,
body.ispforge-ui-v2-reports-professional-active .s928-table-actions{
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

body.ispforge-ui-v2-reports-professional-active .s1048b-filters,
body.ispforge-ui-v2-reports-professional-active .s1048c-filters,
body.ispforge-ui-v2-reports-professional-active .s1048d-filters,
body.ispforge-ui-v2-reports-professional-active .s1048e-filters,
body.ispforge-ui-v2-reports-professional-active .s1048f-filters,
body.ispforge-ui-v2-reports-professional-active .s1048fp-filters,
body.ispforge-ui-v2-reports-professional-active .s923b-top-filters,
body.ispforge-ui-v2-reports-professional-active .s923b-table-tools,
body.ispforge-ui-v2-reports-professional-active .s924-top-filters,
body.ispforge-ui-v2-reports-professional-active .s925-top-filters,
body.ispforge-ui-v2-reports-professional-active .s927-top-filters,
body.ispforge-ui-v2-reports-professional-active .s927-table-tools,
body.ispforge-ui-v2-reports-professional-active .s928-table-tools,
body.ispforge-ui-v2-reports-professional-active .s9212-top-controls,
body.ispforge-ui-v2-reports-professional-active .toolbar,
body.ispforge-ui-v2-reports-professional-active .filter-row,
body.ispforge-ui-v2-reports-professional-active .report-filters{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 13px !important;
  margin: 0 0 18px !important;
  padding: 15px !important;
  border: 1px solid var(--ui2-report-border) !important;
  border-radius: 24px !important;
  background: var(--ui2-report-panel-soft) !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.045) !important;
}

body.ispforge-ui-v2-reports-professional-active .s1048d-left,
body.ispforge-ui-v2-reports-professional-active .s1048d-right,
body.ispforge-ui-v2-reports-professional-active .s1048e-left,
body.ispforge-ui-v2-reports-professional-active .s1048e-right,
body.ispforge-ui-v2-reports-professional-active .s1048f-left,
body.ispforge-ui-v2-reports-professional-active .s1048f-right,
body.ispforge-ui-v2-reports-professional-active .s1048fp-left,
body.ispforge-ui-v2-reports-professional-active .s1048fp-right,
body.ispforge-ui-v2-reports-professional-active .s1048c-left,
body.ispforge-ui-v2-reports-professional-active .s1048c-right,
body.ispforge-ui-v2-reports-professional-active .s1048b-filter-left,
body.ispforge-ui-v2-reports-professional-active .s1048b-filter-right,
body.ispforge-ui-v2-reports-professional-active .s923b-show-rows,
body.ispforge-ui-v2-reports-professional-active .s927-show-rows,
body.ispforge-ui-v2-reports-professional-active .s928-show-rows{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Panels, charts and table cards. */
body.ispforge-ui-v2-reports-professional-active .panel,
body.ispforge-ui-v2-reports-professional-active .card,
body.ispforge-ui-v2-reports-professional-active .report-card,
body.ispforge-ui-v2-reports-professional-active .s1048b-panel,
body.ispforge-ui-v2-reports-professional-active .s1048c-panel,
body.ispforge-ui-v2-reports-professional-active .s1048d-panel,
body.ispforge-ui-v2-reports-professional-active .s1048e-panel,
body.ispforge-ui-v2-reports-professional-active .s1048f-panel,
body.ispforge-ui-v2-reports-professional-active .s1048fp-panel,
body.ispforge-ui-v2-reports-professional-active .s923b-table-panel,
body.ispforge-ui-v2-reports-professional-active .s927-table-panel,
body.ispforge-ui-v2-reports-professional-active .s927-chart-panel,
body.ispforge-ui-v2-reports-professional-active .s928-chart-panel,
body.ispforge-ui-v2-reports-professional-active .s9212-chart-panel,
body.ispforge-ui-v2-reports-professional-active .stage923b-placeholder{
  border-radius: 26px !important;
  border: 1px solid var(--ui2-report-border) !important;
  background: var(--ui2-report-panel) !important;
  box-shadow: var(--ui2-report-shadow) !important;
  overflow: hidden !important;
}

body.ispforge-ui-v2-reports-professional-active .s1048b-graph-head,
body.ispforge-ui-v2-reports-professional-active .panel-header,
body.ispforge-ui-v2-reports-professional-active .card-header,
body.ispforge-ui-v2-reports-professional-active .report-header,
body.ispforge-ui-v2-reports-professional-active .s927-chart-title,
body.ispforge-ui-v2-reports-professional-active .s928-chart-title,
body.ispforge-ui-v2-reports-professional-active .s9212-chart-title{
  min-height: 62px !important;
  padding: 15px 18px !important;
  border-bottom: 1px solid var(--ui2-report-border) !important;
  background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(241,245,249,.72)) !important;
  color: var(--ui2-report-text) !important;
  font-weight: 950 !important;
  letter-spacing: -.025em !important;
}

html[data-theme="dark"] body.ispforge-ui-v2-reports-professional-active .s1048b-graph-head,
body.dark.ispforge-ui-v2-reports-professional-active .s1048b-graph-head,
body.theme-dark.ispforge-ui-v2-reports-professional-active .s1048b-graph-head,
html[data-theme="dark"] body.ispforge-ui-v2-reports-professional-active .panel-header,
body.dark.ispforge-ui-v2-reports-professional-active .panel-header,
body.theme-dark.ispforge-ui-v2-reports-professional-active .panel-header,
html[data-theme="dark"] body.ispforge-ui-v2-reports-professional-active .card-header,
body.dark.ispforge-ui-v2-reports-professional-active .card-header,
body.theme-dark.ispforge-ui-v2-reports-professional-active .card-header{
  background: linear-gradient(180deg, rgba(30,41,59,.92), rgba(15,23,42,.72)) !important;
}

/* Tables and report grids. */
body.ispforge-ui-v2-reports-professional-active .table-wrap,
body.ispforge-ui-v2-reports-professional-active .s1048b-panel,
body.ispforge-ui-v2-reports-professional-active .s1048c-panel,
body.ispforge-ui-v2-reports-professional-active .s1048d-panel,
body.ispforge-ui-v2-reports-professional-active .s1048e-panel,
body.ispforge-ui-v2-reports-professional-active .s1048f-panel,
body.ispforge-ui-v2-reports-professional-active .s1048fp-panel{
  overflow: auto !important;
  max-width: 100% !important;
}

body.ispforge-ui-v2-reports-professional-active table,
body.ispforge-ui-v2-reports-professional-active .s1048b-table,
body.ispforge-ui-v2-reports-professional-active .s1048c-table,
body.ispforge-ui-v2-reports-professional-active .s1048d-table,
body.ispforge-ui-v2-reports-professional-active .s1048e-table,
body.ispforge-ui-v2-reports-professional-active .s1048f-table,
body.ispforge-ui-v2-reports-professional-active .s1048fp-table,
body.ispforge-ui-v2-reports-professional-active .s923b-report-table,
body.ispforge-ui-v2-reports-professional-active .s927-report-table,
body.ispforge-ui-v2-reports-professional-active .s928-report-table{
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  font-size: 13px !important;
}

body.ispforge-ui-v2-reports-professional-active table thead th,
body.ispforge-ui-v2-reports-professional-active .s1048b-table thead th,
body.ispforge-ui-v2-reports-professional-active .s1048c-table thead th,
body.ispforge-ui-v2-reports-professional-active .s1048d-table thead th,
body.ispforge-ui-v2-reports-professional-active .s1048e-table thead th,
body.ispforge-ui-v2-reports-professional-active .s1048f-table thead th,
body.ispforge-ui-v2-reports-professional-active .s1048fp-table thead th,
body.ispforge-ui-v2-reports-professional-active .s923b-report-table thead th,
body.ispforge-ui-v2-reports-professional-active .s927-report-table thead th,
body.ispforge-ui-v2-reports-professional-active .s928-report-table thead th{
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  padding: 13px 14px !important;
  border-bottom: 1px solid var(--ui2-report-border) !important;
  background: linear-gradient(180deg, rgba(239,246,255,.98), rgba(248,250,252,.96)) !important;
  color: var(--ui2-report-muted) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

html[data-theme="dark"] body.ispforge-ui-v2-reports-professional-active table thead th,
body.dark.ispforge-ui-v2-reports-professional-active table thead th,
body.theme-dark.ispforge-ui-v2-reports-professional-active table thead th{
  background: linear-gradient(180deg, rgba(30,41,59,.98), rgba(15,23,42,.96)) !important;
}

body.ispforge-ui-v2-reports-professional-active table tbody td,
body.ispforge-ui-v2-reports-professional-active .s1048b-table tbody td,
body.ispforge-ui-v2-reports-professional-active .s1048c-table tbody td,
body.ispforge-ui-v2-reports-professional-active .s1048d-table tbody td,
body.ispforge-ui-v2-reports-professional-active .s1048e-table tbody td,
body.ispforge-ui-v2-reports-professional-active .s1048f-table tbody td,
body.ispforge-ui-v2-reports-professional-active .s1048fp-table tbody td,
body.ispforge-ui-v2-reports-professional-active .s923b-report-table tbody td,
body.ispforge-ui-v2-reports-professional-active .s927-report-table tbody td,
body.ispforge-ui-v2-reports-professional-active .s928-report-table tbody td{
  padding: 13px 14px !important;
  border-bottom: 1px solid rgba(148,163,184,.16) !important;
  color: var(--ui2-report-text) !important;
  vertical-align: middle !important;
}

body.ispforge-ui-v2-reports-professional-active table tbody tr:hover td,
body.ispforge-ui-v2-reports-professional-active .s1048c-table tbody tr:hover td,
body.ispforge-ui-v2-reports-professional-active .s1048d-table tbody tr:hover td,
body.ispforge-ui-v2-reports-professional-active .s1048e-table tbody tr:hover td,
body.ispforge-ui-v2-reports-professional-active .s1048f-table tbody tr:hover td,
body.ispforge-ui-v2-reports-professional-active .s1048fp-table tbody tr:hover td{
  background: rgba(59,130,246,.055) !important;
}

body.ispforge-ui-v2-reports-professional-active .s923b-total-row td,
body.ispforge-ui-v2-reports-professional-active .s924-total-row td,
body.ispforge-ui-v2-reports-professional-active .s924-month-total-row td{
  background: rgba(59,130,246,.08) !important;
  color: var(--ui2-report-text) !important;
  font-weight: 950 !important;
}

/* Inputs/buttons inside Reports. */
body.ispforge-ui-v2-reports-professional-active input,
body.ispforge-ui-v2-reports-professional-active select,
body.ispforge-ui-v2-reports-professional-active textarea{
  min-height: 42px !important;
  border-radius: 14px !important;
  border: 1px solid var(--ui2-report-border) !important;
  background: var(--ui2-report-hero-strong) !important;
  color: var(--ui2-report-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
}

body.ispforge-ui-v2-reports-professional-active button,
body.ispforge-ui-v2-reports-professional-active .button,
body.ispforge-ui-v2-reports-professional-active .secondary,
body.ispforge-ui-v2-reports-professional-active .primary,
body.ispforge-ui-v2-reports-professional-active .s1048b-btn,
body.ispforge-ui-v2-reports-professional-active .s1048c-btn,
body.ispforge-ui-v2-reports-professional-active .s1048d-btn,
body.ispforge-ui-v2-reports-professional-active .s1048e-btn,
body.ispforge-ui-v2-reports-professional-active .s1048f-btn,
body.ispforge-ui-v2-reports-professional-active .s1048fp-btn,
body.ispforge-ui-v2-reports-professional-active .s1048c-open,
body.ispforge-ui-v2-reports-professional-active .s1048d-open,
body.ispforge-ui-v2-reports-professional-active .s1048e-open,
body.ispforge-ui-v2-reports-professional-active .s1048fp-open{
  min-height: 40px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
  border: 1px solid rgba(59,130,246,.24) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.075) !important;
}

body.ispforge-ui-v2-reports-professional-active .success,
body.ispforge-ui-v2-reports-professional-active button.success,
body.ispforge-ui-v2-reports-professional-active .s1048b-btn.success,
body.ispforge-ui-v2-reports-professional-active .s1048c-btn.success,
body.ispforge-ui-v2-reports-professional-active .s1048d-btn.success,
body.ispforge-ui-v2-reports-professional-active .s1048e-btn.success,
body.ispforge-ui-v2-reports-professional-active .s1048f-btn.success,
body.ispforge-ui-v2-reports-professional-active .s1048fp-btn.success{
  background: linear-gradient(135deg, var(--ui2-report-accent), var(--ui2-report-accent-2)) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* Status chips and empty/error states. */
body.ispforge-ui-v2-reports-professional-active [class*="-status"],
body.ispforge-ui-v2-reports-professional-active .badge,
body.ispforge-ui-v2-reports-professional-active .chip{
  display: inline-flex !important;
  align-items: center !important;
  min-height: 25px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(59,130,246,.22) !important;
  background: rgba(59,130,246,.09) !important;
  color: var(--ui2-report-accent) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

body.ispforge-ui-v2-reports-professional-active .empty,
body.ispforge-ui-v2-reports-professional-active .s1048c-empty,
body.ispforge-ui-v2-reports-professional-active .s1048d-empty,
body.ispforge-ui-v2-reports-professional-active .s1048e-empty,
body.ispforge-ui-v2-reports-professional-active .s1048f-empty,
body.ispforge-ui-v2-reports-professional-active .s1048fp-empty,
body.ispforge-ui-v2-reports-professional-active .s1048b-error,
body.ispforge-ui-v2-reports-professional-active .s1048c-error,
body.ispforge-ui-v2-reports-professional-active .s1048d-error,
body.ispforge-ui-v2-reports-professional-active .s1048e-error,
body.ispforge-ui-v2-reports-professional-active .s1048f-error,
body.ispforge-ui-v2-reports-professional-active .s1048fp-error{
  margin: 16px !important;
  padding: 22px !important;
  border-radius: 22px !important;
  border: 1px dashed rgba(59,130,246,.32) !important;
  background: rgba(59,130,246,.065) !important;
  color: var(--ui2-report-muted) !important;
  font-weight: 750 !important;
  text-align: center !important;
}

/* Reports landing cards and chart areas. */
body.ispforge-ui-v2-reports-professional-active .stage923b-card-grid{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 16px !important;
}

body.ispforge-ui-v2-reports-professional-active .stage923b-card{
  min-height: 124px !important;
  padding: 20px !important;
  border-radius: 26px !important;
  border: 1px solid var(--ui2-report-border) !important;
  background: var(--ui2-report-panel) !important;
  box-shadow: var(--ui2-report-shadow-soft) !important;
  text-align: left !important;
}

body.ispforge-ui-v2-reports-professional-active .s1048b-chart-grid,
body.ispforge-ui-v2-reports-professional-active .s927-layout,
body.ispforge-ui-v2-reports-professional-active .s9212-layout{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .36fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

body.ispforge-ui-v2-reports-professional-active .s1048b-tabs,
body.ispforge-ui-v2-reports-professional-active .s1048b-legend,
body.ispforge-ui-v2-reports-professional-active .s927-chart-legend,
body.ispforge-ui-v2-reports-professional-active .s928-chart-legend,
body.ispforge-ui-v2-reports-professional-active .s9212-chart-legend{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--ui2-report-muted) !important;
}

/* Modal surfaces that belong to report pages only. */
body.ispforge-ui-v2-reports-professional-active .s924-modal,
body.ispforge-ui-v2-reports-professional-active .s1048fp-modal{
  border-radius: 28px !important;
  border: 1px solid var(--ui2-report-border) !important;
  background: var(--ui2-report-panel) !important;
  box-shadow: 0 28px 80px rgba(15,23,42,.24) !important;
  overflow: hidden !important;
}

body.ispforge-ui-v2-reports-professional-active .s924-modal-header,
body.ispforge-ui-v2-reports-professional-active .s1048fp-modal-head{
  padding: 18px 20px !important;
  border-bottom: 1px solid var(--ui2-report-border) !important;
  background: linear-gradient(135deg, rgba(59,130,246,.12), rgba(124,58,237,.08)) !important;
}

@media (max-width: 1100px){
  body.ispforge-ui-v2-reports-professional-active .page-title-row,
  body.ispforge-ui-v2-reports-professional-active .s1048b-title,
  body.ispforge-ui-v2-reports-professional-active .s1048c-title,
  body.ispforge-ui-v2-reports-professional-active .s1048d-title,
  body.ispforge-ui-v2-reports-professional-active .s1048e-title,
  body.ispforge-ui-v2-reports-professional-active .s1048f-title,
  body.ispforge-ui-v2-reports-professional-active .s1048fp-title,
  body.ispforge-ui-v2-reports-professional-active .s923b-title-row,
  body.ispforge-ui-v2-reports-professional-active .s924-title-row,
  body.ispforge-ui-v2-reports-professional-active .s925-title-row,
  body.ispforge-ui-v2-reports-professional-active .s927-title-row,
  body.ispforge-ui-v2-reports-professional-active .s928-title-row,
  body.ispforge-ui-v2-reports-professional-active .s9212-title-row{
    grid-template-columns: 1fr !important;
  }
  body.ispforge-ui-v2-reports-professional-active .s1048b-kpis,
  body.ispforge-ui-v2-reports-professional-active .s1048c-kpis,
  body.ispforge-ui-v2-reports-professional-active .s1048d-kpis,
  body.ispforge-ui-v2-reports-professional-active .s1048e-kpis,
  body.ispforge-ui-v2-reports-professional-active .s1048f-kpis,
  body.ispforge-ui-v2-reports-professional-active .s1048fp-kpis,
  body.ispforge-ui-v2-reports-professional-active .kpi-row,
  body.ispforge-ui-v2-reports-professional-active .stats-row,
  body.ispforge-ui-v2-reports-professional-active .summary-row,
  body.ispforge-ui-v2-reports-professional-active .metric-row{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.ispforge-ui-v2-reports-professional-active .s1048b-chart-grid,
  body.ispforge-ui-v2-reports-professional-active .s927-layout,
  body.ispforge-ui-v2-reports-professional-active .s9212-layout{
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px){
  body.ispforge-ui-v2-reports-professional-active #page,
  body.ispforge-ui-v2-reports-professional-active .page{
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body.ispforge-ui-v2-reports-professional-active .s1048b-kpis,
  body.ispforge-ui-v2-reports-professional-active .s1048c-kpis,
  body.ispforge-ui-v2-reports-professional-active .s1048d-kpis,
  body.ispforge-ui-v2-reports-professional-active .s1048e-kpis,
  body.ispforge-ui-v2-reports-professional-active .s1048f-kpis,
  body.ispforge-ui-v2-reports-professional-active .s1048fp-kpis,
  body.ispforge-ui-v2-reports-professional-active .kpi-row,
  body.ispforge-ui-v2-reports-professional-active .stats-row,
  body.ispforge-ui-v2-reports-professional-active .summary-row,
  body.ispforge-ui-v2-reports-professional-active .metric-row{
    grid-template-columns: 1fr !important;
  }
  body.ispforge-ui-v2-reports-professional-active .page-title-row::after,
  body.ispforge-ui-v2-reports-professional-active .s1048b-title::after,
  body.ispforge-ui-v2-reports-professional-active .s1048c-title::after,
  body.ispforge-ui-v2-reports-professional-active .s1048d-title::after,
  body.ispforge-ui-v2-reports-professional-active .s1048e-title::after,
  body.ispforge-ui-v2-reports-professional-active .s1048f-title::after,
  body.ispforge-ui-v2-reports-professional-active .s1048fp-title::after,
  body.ispforge-ui-v2-reports-professional-active .s923b-title-row::after,
  body.ispforge-ui-v2-reports-professional-active .s924-title-row::after,
  body.ispforge-ui-v2-reports-professional-active .s925-title-row::after,
  body.ispforge-ui-v2-reports-professional-active .s927-title-row::after,
  body.ispforge-ui-v2-reports-professional-active .s928-title-row::after,
  body.ispforge-ui-v2-reports-professional-active .s9212-title-row::after{
    position: static !important;
    width: max-content !important;
    margin-top: 12px !important;
  }
}
