/* Premium sandbox shell shared by all project demo pages. */
:root {
  --sandbox-bg: #f8fafc;
  --sandbox-panel: #ffffff;
  --sandbox-soft: #f1f5f9;
  --sandbox-line: #e2e8f0;
  --sandbox-line-strong: #cbd5e1;
  --sandbox-text: #0f172a;
  --sandbox-muted: #64748b;
  --sandbox-blue: #1d4ed8;
  --sandbox-green: #16a34a;
  --sandbox-amber: #d97706;
  --sandbox-red: #dc2626;
  --sandbox-shadow: 0 14px 40px rgba(15, 23, 42, .08);
}

html[data-theme="dark"] {
  --sandbox-bg: #0b1220;
  --sandbox-panel: #111827;
  --sandbox-soft: #172033;
  --sandbox-line: #263247;
  --sandbox-line-strong: #334155;
  --sandbox-text: #f8fafc;
  --sandbox-muted: #a8b3c5;
  --sandbox-shadow: 0 16px 44px rgba(0, 0, 0, .34);
}

body:has(.sandbox-return-bar) {
  background: var(--sandbox-bg) !important;
  color: var(--sandbox-text) !important;
  min-height: 100vh;
}

body:has(.sandbox-return-bar) .nav {
  display: block !important;
  position: sticky !important;
  top: 0 !important;
  height: 62px !important;
  z-index: 60 !important;
  background: rgba(255, 255, 255, .94) !important;
  border-bottom: 1px solid var(--sandbox-line) !important;
  backdrop-filter: blur(16px);
}

html[data-theme="dark"] body:has(.sandbox-return-bar) .nav {
  background: rgba(11, 18, 32, .94) !important;
}

body:has(.sandbox-return-bar) .nav__inner {
  max-width: 1440px !important;
}

body:has(.sandbox-return-bar) .top,
body:has(.sandbox-return-bar) header.top {
  height: 62px !important;
  padding: 0 20px !important;
  background: rgba(255, 255, 255, .94) !important;
  border-bottom: 1px solid var(--sandbox-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
}

html[data-theme="dark"] body:has(.sandbox-return-bar) .top,
html[data-theme="dark"] body:has(.sandbox-return-bar) header.top {
  background: rgba(11, 18, 32, .94) !important;
}

body:has(.sandbox-return-bar) .brand-mark,
body:has(.sandbox-return-bar) .brand span,
body:has(.sandbox-return-bar) .nav__logo-img {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  background: var(--sandbox-blue) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 8px 20px rgba(29, 78, 216, .18) !important;
}

body:has(.sandbox-return-bar) .top-actions a,
body:has(.sandbox-return-bar) .top-actions button,
body:has(.sandbox-return-bar) .topnav a,
body:has(.sandbox-return-bar) .topnav button,
body:has(.sandbox-return-bar) .nav__cta {
  border: 1px solid var(--sandbox-line) !important;
  border-radius: 999px !important;
  background: var(--sandbox-panel) !important;
  color: var(--sandbox-text) !important;
  padding: 9px 14px !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

body:has(.sandbox-return-bar) .top-actions .primary,
body:has(.sandbox-return-bar) .topnav .primary,
body:has(.sandbox-return-bar) button.primary,
body:has(.sandbox-return-bar) .btn--primary {
  background: var(--sandbox-blue) !important;
  border-color: var(--sandbox-blue) !important;
  color: #fff !important;
}

body:has(.sandbox-return-bar) [style*="padding-top:64px"] {
  padding-top: 0 !important;
}

body:has(.sandbox-return-bar) .wrap,
body:has(.sandbox-return-bar) .container.section,
body:has(.sandbox-return-bar) main.container,
body:has(.sandbox-return-bar) main.section,
body:has(.sandbox-return-bar) .dashboard-shell,
body:has(.sandbox-return-bar) .sandbox-container,
body:has(.sandbox-return-bar) .demo-header > div,
body:has(.sandbox-return-bar) #content {
  width: min(100% - 28px, 1440px) !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 18px 0 88px !important;
}

body:has(.sandbox-return-bar) .container.section > div[style*="justify-content:space-between"],
body:has(.sandbox-return-bar) .head,
body:has(.sandbox-return-bar) .hero,
body:has(.sandbox-return-bar) .page-hero {
  margin-bottom: 14px !important;
}

body:has(.sandbox-return-bar) .breadcrumb,
body:has(.sandbox-return-bar) .sub-nav {
  display: none !important;
  max-width: 1440px !important;
}

body:has(.sandbox-return-bar) .breadcrumb {
  margin-bottom: 10px !important;
  color: var(--sandbox-muted) !important;
}

body:has(.sandbox-return-bar) .sub-nav {
  margin: 0 0 14px !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

body:has(.sandbox-return-bar) h1 {
  color: var(--sandbox-text) !important;
  font-size: clamp(2rem, 4vw, 3.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

body:has(.sandbox-return-bar) .eyebrow,
body:has(.sandbox-return-bar) .section-label {
  color: var(--sandbox-blue) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: .84rem !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

body:has(.sandbox-return-bar) .head p,
body:has(.sandbox-return-bar) .intro p,
body:has(.sandbox-return-bar) .container.section > div[style*="justify-content:space-between"] p,
body:has(.sandbox-return-bar) .page-hero p {
  color: var(--sandbox-muted) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  max-width: 820px !important;
}

body:has(.sandbox-return-bar) .dashboard,
body:has(.sandbox-return-bar) .docai-shell,
body:has(.sandbox-return-bar) .mama-grid,
body:has(.sandbox-return-bar) .fraud-shell {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

body:has(.sandbox-return-bar) .demo-page-wrap {
  background: var(--sandbox-bg) !important;
  padding-top: 0 !important;
}

body:has(.sandbox-return-bar) .demo-header {
  background: var(--sandbox-panel) !important;
  border-bottom: 1px solid var(--sandbox-line) !important;
  padding: 14px 0 0 !important;
}

body:has(.sandbox-return-bar) .app-shell {
  width: min(100% - 28px, 1440px) !important;
  max-width: 1440px !important;
  margin: 14px auto 88px !important;
  min-height: calc(100vh - 210px) !important;
  border: 1px solid var(--sandbox-line) !important;
  border-radius: 14px !important;
  background: var(--sandbox-panel) !important;
  box-shadow: var(--sandbox-shadow) !important;
  overflow: hidden !important;
}

body:has(.sandbox-return-bar) .sidebar {
  border-right: 1px solid var(--sandbox-line) !important;
  top: 0 !important;
}

body:has(.sandbox-return-bar) .main-wrap {
  background: var(--sandbox-bg) !important;
}

body:has(.sandbox-return-bar) .main-grid,
body:has(.sandbox-return-bar) .stack {
  display: grid !important;
  gap: 14px !important;
}

body:has(.sandbox-return-bar) .grid,
body:has(.sandbox-return-bar) .visual-grid,
body:has(.sandbox-return-bar) .docai-grid,
body:has(.sandbox-return-bar) .assistant-box {
  gap: 14px !important;
}

body:has(.sandbox-return-bar) .kpis,
body:has(.sandbox-return-bar) .docai-kpis,
body:has(.sandbox-return-bar) .metric-grid,
body:has(.sandbox-return-bar) .summary-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 12px !important;
}

body:has(.sandbox-return-bar) .filters,
body:has(.sandbox-return-bar) aside .sandbox-panel,
body:has(.sandbox-return-bar) .control,
body:has(.sandbox-return-bar) .intro,
body:has(.sandbox-return-bar) .summary,
body:has(.sandbox-return-bar) .panel,
body:has(.sandbox-return-bar) .visual,
body:has(.sandbox-return-bar) .kpi,
body:has(.sandbox-return-bar) .docai-panel,
body:has(.sandbox-return-bar) .docai-card,
body:has(.sandbox-return-bar) .docai-kpi,
body:has(.sandbox-return-bar) .sandbox-panel,
body:has(.sandbox-return-bar) .workflow-card,
body:has(.sandbox-return-bar) .dashboard-panel,
body:has(.sandbox-return-bar) .chart-box,
body:has(.sandbox-return-bar) .fraud-card,
body:has(.sandbox-return-bar) .card,
body:has(.sandbox-return-bar) .hr-card,
body:has(.sandbox-return-bar) .hr-kpi,
body:has(.sandbox-return-bar) .fraud-kpi,
body:has(.sandbox-return-bar) .hr-chart,
body:has(.sandbox-return-bar) .df-card,
body:has(.sandbox-return-bar) .etl-card,
body:has(.sandbox-return-bar) .metric,
body:has(.sandbox-return-bar) .metric-card,
body:has(.sandbox-return-bar) .mini-stat,
body:has(.sandbox-return-bar) .last-update {
  background: var(--sandbox-panel) !important;
  border: 1px solid var(--sandbox-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--sandbox-shadow) !important;
  overflow: hidden;
}

body:has(.sandbox-return-bar) .visual-head,
body:has(.sandbox-return-bar) .panel-head,
body:has(.sandbox-return-bar) .docai-head,
body:has(.sandbox-return-bar) .sandbox-panel__header,
body:has(.sandbox-return-bar) .workflow-card__header,
body:has(.sandbox-return-bar) .preview-header {
  min-height: 52px !important;
  padding: 13px 14px !important;
  background: var(--sandbox-panel) !important;
  border-bottom: 1px solid var(--sandbox-line) !important;
}

body:has(.sandbox-return-bar) .visual-body,
body:has(.sandbox-return-bar) .docai-body,
body:has(.sandbox-return-bar) .sandbox-panel__body,
body:has(.sandbox-return-bar) .workflow-card__body,
body:has(.sandbox-return-bar) .panel {
  padding: 14px !important;
}

body:has(.sandbox-return-bar) .kpi,
body:has(.sandbox-return-bar) .docai-kpi,
body:has(.sandbox-return-bar) .hr-kpi,
body:has(.sandbox-return-bar) .mini-stat,
body:has(.sandbox-return-bar) .metric,
body:has(.sandbox-return-bar) .metric-card {
  min-height: 104px !important;
  padding: 15px !important;
}

body:has(.sandbox-return-bar) .kpi b,
body:has(.sandbox-return-bar) .docai-kpi b,
body:has(.sandbox-return-bar) .hr-kpi b,
body:has(.sandbox-return-bar) .metric b,
body:has(.sandbox-return-bar) .metric-value,
body:has(.sandbox-return-bar) .kpi__value,
body:has(.sandbox-return-bar) .etl-metric__value,
body:has(.sandbox-return-bar) .mini-stat__value {
  color: var(--sandbox-text) !important;
  font-size: clamp(1.5rem, 2.5vw, 2.15rem) !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}

body:has(.sandbox-return-bar) .kpi span,
body:has(.sandbox-return-bar) .docai-kpi span,
body:has(.sandbox-return-bar) .hr-kpi span,
body:has(.sandbox-return-bar) .metric span,
body:has(.sandbox-return-bar) .kpi__label,
body:has(.sandbox-return-bar) .etl-metric__label,
body:has(.sandbox-return-bar) .mini-stat__label {
  color: var(--sandbox-muted) !important;
  font-size: .82rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  font-weight: 650 !important;
}

body:has(.sandbox-return-bar) select,
body:has(.sandbox-return-bar) input,
body:has(.sandbox-return-bar) textarea {
  border: 1px solid var(--sandbox-line) !important;
  border-radius: 10px !important;
  background: var(--sandbox-bg) !important;
  color: var(--sandbox-text) !important;
}

body:has(.sandbox-return-bar) table {
  font-size: .95rem !important;
}

body:has(.sandbox-return-bar) th {
  background: var(--sandbox-panel) !important;
  color: var(--sandbox-muted) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

body:has(.sandbox-return-bar) .table-wrap {
  border: 1px solid var(--sandbox-line) !important;
  border-radius: 12px !important;
  overflow: auto !important;
}

body:has(.sandbox-return-bar) svg,
body:has(.sandbox-return-bar) canvas,
body:has(.sandbox-return-bar) .map,
body:has(.sandbox-return-bar) .chart,
body:has(.sandbox-return-bar) .chart-box,
body:has(.sandbox-return-bar) .plot,
body:has(.sandbox-return-bar) .doc-text,
body:has(.sandbox-return-bar) .json-box,
body:has(.sandbox-return-bar) .chat-window,
body:has(.sandbox-return-bar) #chat-messages,
body:has(.sandbox-return-bar) .hr-chat-panel,
body:has(.sandbox-return-bar) .risk-bars,
body:has(.sandbox-return-bar) .etl-visual {
  border-radius: 12px !important;
}

body:has(.sandbox-return-bar) .workflow-card,
body:has(.sandbox-return-bar) .dashboard-panel,
body:has(.sandbox-return-bar) .chart-box,
body:has(.sandbox-return-bar) .hr-card,
body:has(.sandbox-return-bar) .hr-chart,
body:has(.sandbox-return-bar) .etl-card {
  margin-bottom: 14px !important;
}

body:has(.sandbox-return-bar) .workflow-card__header h3,
body:has(.sandbox-return-bar) .visual-head h2,
body:has(.sandbox-return-bar) .panel-head h2,
body:has(.sandbox-return-bar) .docai-head h3,
body:has(.sandbox-return-bar) .chart-box h3,
body:has(.sandbox-return-bar) .card h3,
body:has(.sandbox-return-bar) .hr-card h3,
body:has(.sandbox-return-bar) .hr-chart h3,
body:has(.sandbox-return-bar) .fraud-card h3,
body:has(.sandbox-return-bar) .etl-card h3 {
  margin: 0 0 4px !important;
  color: var(--sandbox-text) !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

body:has(.sandbox-return-bar) .workflow-card__header p,
body:has(.sandbox-return-bar) .visual-note,
body:has(.sandbox-return-bar) .panel .note,
body:has(.sandbox-return-bar) .docai-head p,
body:has(.sandbox-return-bar) .helper-text,
body:has(.sandbox-return-bar) .hr-note,
body:has(.sandbox-return-bar) .etl-metric__hint {
  color: var(--sandbox-muted) !important;
  font-size: .88rem !important;
  line-height: 1.55 !important;
}

body:has(.sandbox-return-bar) .mini-stat-grid,
body:has(.sandbox-return-bar) .hr-grid,
body:has(.sandbox-return-bar) .hr-kpi-band,
body:has(.sandbox-return-bar) .fraud-grid,
body:has(.sandbox-return-bar) .etl-metrics {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 12px !important;
}

body:has(.sandbox-return-bar) .split-grid,
body:has(.sandbox-return-bar) .hr-chart-grid,
body:has(.sandbox-return-bar) .etl-grid,
body:has(.sandbox-return-bar) .etl-output-grid,
body:has(.sandbox-return-bar) .fraud-section-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: 14px !important;
}

body:has(.sandbox-return-bar) .churn-layout,
body:has(.sandbox-return-bar) .hr-app,
body:has(.sandbox-return-bar) .fraud-shell {
  display: grid !important;
  grid-template-columns: 330px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

body:has(.sandbox-return-bar) .dashboard-grid {
  display: grid !important;
  gap: 14px !important;
}

@media (max-width: 980px) {
  body:has(.sandbox-return-bar) #cursor,
  #cursor {
    display: none !important;
  }

  body:has(.sandbox-return-bar) .breadcrumb,
  body:has(.sandbox-return-bar) .sub-nav {
    display: none !important;
  }

  body:has(.sandbox-return-bar) .breadcrumb__item {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  body:has(.sandbox-return-bar) .churn-layout,
  body:has(.sandbox-return-bar) .hr-app,
  body:has(.sandbox-return-bar) .fraud-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body:has(.sandbox-return-bar) .churn-layout > *,
  body:has(.sandbox-return-bar) .hr-app > *,
  body:has(.sandbox-return-bar) .fraud-shell > *,
  body:has(.sandbox-return-bar) .workflow-card,
  body:has(.sandbox-return-bar) .workflow-card__body,
  body:has(.sandbox-return-bar) .dashboard-grid,
  body:has(.sandbox-return-bar) .dashboard-panel,
  body:has(.sandbox-return-bar) .hr-view,
  body:has(.sandbox-return-bar) .hr-section-stack,
  body:has(.sandbox-return-bar) .hr-section-stack details,
  body:has(.sandbox-return-bar) .hr-section-stack .inner,
  body:has(.sandbox-return-bar) .fraud-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:has(.sandbox-return-bar) .table-wrap,
  body:has(.sandbox-return-bar) .hr-table-wrap,
  body:has(.sandbox-return-bar) .fraud-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

body:has(.sandbox-return-bar) .upload-zone {
  border: 1px dashed var(--sandbox-line-strong) !important;
  border-radius: 12px !important;
  background: var(--sandbox-soft) !important;
}

body:has(.sandbox-return-bar) .preview-tab,
body:has(.sandbox-return-bar) .hr-tab,
body:has(.sandbox-return-bar) .chip,
body:has(.sandbox-return-bar) .query-chip {
  border-radius: 999px !important;
}

body:has(.sandbox-return-bar) .customer-card,
body:has(.sandbox-return-bar) .segment-row,
body:has(.sandbox-return-bar) .event-card,
body:has(.sandbox-return-bar) .insight,
body:has(.sandbox-return-bar) .review-item {
  border: 1px solid var(--sandbox-line) !important;
  border-radius: 12px !important;
  background: var(--sandbox-panel) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .04) !important;
}

body:has(.sandbox-return-bar) .bar-list {
  display: grid !important;
  gap: 10px !important;
}

body:has(.sandbox-return-bar) .bar {
  display: grid !important;
  grid-template-columns: minmax(130px, 220px) 1fr 58px !important;
  gap: 10px !important;
  align-items: center !important;
  color: var(--sandbox-muted) !important;
  font-size: .88rem !important;
}

body:has(.sandbox-return-bar) .bar label {
  color: var(--sandbox-text) !important;
  font-weight: 900 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body:has(.sandbox-return-bar) .track {
  height: 14px !important;
  border-radius: 999px !important;
  background: var(--sandbox-line) !important;
  overflow: hidden !important;
}

body:has(.sandbox-return-bar) .fill {
  height: 100% !important;
  border-radius: inherit !important;
  background: var(--sandbox-blue) !important;
}

body:has(.sandbox-return-bar) .fill.red {
  background: var(--sandbox-red) !important;
}

body:has(.sandbox-return-bar) .fill.amber {
  background: var(--sandbox-amber) !important;
}

body:has(.sandbox-return-bar) .fill.green {
  background: var(--sandbox-green) !important;
}

body:has(.sandbox-return-bar) .footer {
  display: none !important;
}

@media (min-width: 1280px) {
  body:has(.sandbox-return-bar) .visual-grid.three,
  body:has(.sandbox-return-bar) .docai-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:has(.sandbox-return-bar) .docai-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1180px) {
  body:has(.sandbox-return-bar) .dashboard,
  body:has(.sandbox-return-bar) .docai-shell,
  body:has(.sandbox-return-bar) .mama-grid {
    grid-template-columns: 1fr !important;
  }

  body:has(.sandbox-return-bar) .filters {
    position: static !important;
  }
}

@media (max-width: 680px) {
  body:has(.sandbox-return-bar) .wrap,
  body:has(.sandbox-return-bar) .container.section,
  body:has(.sandbox-return-bar) main.container,
  body:has(.sandbox-return-bar) main.section {
    width: calc(100% - 20px) !important;
    padding-top: 12px !important;
  }

  body:has(.sandbox-return-bar) .top,
  body:has(.sandbox-return-bar) header.top,
  body:has(.sandbox-return-bar) .nav {
    height: auto !important;
  }

  body:has(.sandbox-return-bar) .top,
  body:has(.sandbox-return-bar) header.top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 12px !important;
  }
}

@media (max-width: 640px) {
  body:has(.sandbox-return-bar) .metric-row,
  body:has(.sandbox-return-bar) .kpi-grid,
  body:has(.sandbox-return-bar) .mini-stat-grid,
  body:has(.sandbox-return-bar) .stats-grid,
  body:has(.sandbox-return-bar) .summary-grid,
  body:has(.sandbox-return-bar) .score-grid,
  body:has(.sandbox-return-bar) .dashboard-kpis,
  body:has(.sandbox-return-bar) .docai-kpis,
  body:has(.sandbox-return-bar) .fraud-grid,
  body:has(.sandbox-return-bar) .hr-grid-kpi {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:has(.sandbox-return-bar) .metric-card,
  body:has(.sandbox-return-bar) .kpi-card,
  body:has(.sandbox-return-bar) .mini-stat,
  body:has(.sandbox-return-bar) .kpi,
  body:has(.sandbox-return-bar) .df-kpi,
  body:has(.sandbox-return-bar) .docai-kpi,
  body:has(.sandbox-return-bar) .fraud-card,
  body:has(.sandbox-return-bar) .hr-kpi {
    min-width: 0 !important;
    padding: 12px 10px !important;
  }
}
