/* Sparkols business pages · flat workspace pass
   One hierarchy only: page controls -> page data surface. */

:root {
  --crm-page-line: #e5e8ed;
  --crm-page-line-strong: #d8dde5;
  --crm-page-surface: #ffffff;
  --crm-page-canvas: #f6f7f9;
  --crm-page-text: #20242b;
  --crm-page-muted: #858d99;
  --crm-page-accent: #159b8f;
  --crm-page-accent-dark: #0f7e74;
  --crm-page-accent-soft: #edf8f5;
}

/* The dashboard stylesheet loaded after the shell had removed the header's
   horizontal padding. Restore one shared content axis for every route. */
#main-container.home-shell > .home-content > .home-topbar {
  min-height: 82px;
  margin: 0;
  padding: 17px 28px;
  border-bottom: 1px solid var(--crm-page-line);
  background: rgba(255, 255, 255, 0.97);
}

#main-container.home-shell > .home-content > .home-topbar .home-h1,
#main-container.home-shell > .home-content > .home-topbar .home-hint {
  max-width: min(760px, calc(100vw - 440px));
}

/* Pages share the full working width. Decorative outer cards are removed. */
#main-container.home-shell > .home-content > .sparkols-page:not(.sparkols-page-fullwidth) {
  width: 100%;
  max-width: none;
  padding: 24px 28px 36px;
}

#page-progress,
#page-publish-tracking,
#page-leads-private,
#page-leads-public,
#page-influencers,
#page-projects,
#page-business-briefs,
#page-influencer-analysis,
#page-search-candidates,
#page-reviews,
#page-reviews-history {
  min-height: calc(100vh - 122px);
}

/* The first operational row is a toolbar, not a card. */
#page-progress > .sparkols-form-inline,
#page-publish-tracking > .sparkols-form-inline,
#page-leads-private > .sparkols-form-inline,
#page-leads-public > .sparkols-form-inline,
#page-influencers > .sparkols-form-inline,
#page-reviews .sparkols-reviews-subfilters,
#page-reviews-history > .sparkols-form-inline {
  min-height: 68px;
  margin: 0 0 18px;
  padding: 14px 16px;
  gap: 10px;
  border: 1px solid var(--crm-page-line);
  border-radius: 10px;
  background: #fff;
}

#page-progress .sparkols-progress-search-input,
#page-leads-private .sparkols-input-wide,
#page-leads-public .sparkols-input-wide,
#page-influencers .sparkols-input-wide {
  min-width: 260px;
  max-width: 440px;
  flex: 1 1 300px;
}

#page-leads-private > .sparkols-form-inline,
#page-leads-public > .sparkols-form-inline,
#page-influencers > .sparkols-form-inline {
  align-items: center;
  row-gap: 12px;
}

#page-leads-private > .sparkols-form-inline,
#page-leads-public > .sparkols-form-inline {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

#private-q,
#public-q {
  grid-column: 1 / span 5;
}

#private-ai-q,
#public-ai-q {
  grid-column: 6 / span 5;
}

#private-lc,
#public-contact-scope {
  grid-column: 11 / span 2;
}

#private-search-btn,
#public-search-btn {
  grid-column: 1;
}

#private-refresh-btn,
#public-refresh-btn {
  grid-column: 2;
}

#private-add-open-btn,
#public-add-lead-toggle {
  grid-column: 3 / span 2;
}

#page-leads-private > .sparkols-form-inline .sparkols-btn,
#page-leads-public > .sparkols-form-inline .sparkols-btn {
  width: max-content;
  justify-self: start;
}

#page-leads-private > .sparkols-form-inline .sparkols-input-wide,
#page-leads-public > .sparkols-form-inline .sparkols-input-wide {
  width: 100%;
  min-width: 0;
  max-width: none;
}

#page-leads-private > .sparkols-form-inline select,
#page-leads-public > .sparkols-form-inline select,
#page-influencers > .sparkols-form-inline select {
  min-width: 176px;
  flex: 0 1 210px;
}

#page-progress .sparkols-btn,
#page-publish-tracking .sparkols-btn,
#page-leads-private > .sparkols-form-inline .sparkols-btn,
#page-leads-public > .sparkols-form-inline .sparkols-btn,
#page-influencers > .sparkols-form-inline .sparkols-btn {
  min-height: 36px;
}

/* Workflow filters become a compact strip rather than a nested panel. */
#page-progress .sparkols-progress-flow-mount {
  margin: 0;
}

#page-progress .sparkols-progress-flow-guide {
  margin: 0;
  padding: 14px 0 15px;
  border: 0;
  border-bottom: 1px solid var(--crm-page-line);
  border-radius: 0;
  background: transparent;
}

#page-progress .sparkols-progress-flow-title {
  margin-bottom: 9px;
  color: #5f6875;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

#page-progress .sparkols-flow-chip {
  min-height: 28px;
  padding: 0 10px;
  border-color: var(--crm-page-line-strong);
  background: #fff;
}

#page-progress button.sparkols-flow-chip.is-active {
  border-color: #8fd3c8;
  color: var(--crm-page-accent-dark);
  background: var(--crm-page-accent-soft);
}

/* Tables and empty states are the only data surface on list pages. */
#page-progress > .sparkols-table-wrap,
#page-publish-tracking > .sparkols-table-wrap,
#page-leads-private > .sparkols-table-wrap,
#page-leads-public > .sparkols-table-wrap,
#page-influencers > .sparkols-table-wrap,
#page-reviews > .sparkols-table-wrap,
#page-reviews-history > .sparkols-table-wrap {
  margin-top: 0 !important;
  min-height: 360px;
  border: 1px solid var(--crm-page-line);
  border-radius: 10px;
  background: var(--crm-page-surface);
  box-shadow: none;
}

#page-progress > .sparkols-table-wrap > .sparkols-muted,
#page-publish-tracking > .sparkols-table-wrap > .sparkols-muted,
#page-leads-private > .sparkols-table-wrap > .sparkols-muted,
#page-leads-public > .sparkols-table-wrap > .sparkols-muted,
#page-influencers > .sparkols-table-wrap > .sparkols-muted,
#page-reviews > .sparkols-table-wrap > .sparkols-muted,
#page-reviews-history > .sparkols-table-wrap > .sparkols-muted {
  min-height: 358px;
  display: grid;
  place-items: center;
  margin: 0;
  color: var(--crm-page-muted);
  background:
    radial-gradient(circle at 50% 43%, rgba(21, 155, 143, 0.06), transparent 110px),
    #fff;
}

.sparkols-table th {
  height: 44px;
  color: #717a87;
  background: #fafbfc;
}

.sparkols-table th,
.sparkols-table td {
  padding: 11px 13px;
  border-left: 0;
  border-right: 0;
}

/* Reviews use one tab row, one filter row and one result surface. */
#page-reviews .sparkols-reviews-toolbar {
  margin: 0;
}

#page-reviews .sparkols-reviews-theme-tabs {
  min-height: 46px;
  margin: 0;
  gap: 24px;
  border-bottom: 1px solid var(--crm-page-line);
}

#page-reviews .reviews-theme-tab,
#page-reviews .reviews-theme-tab.sparkols-btn-secondary {
  position: relative;
  min-height: 46px;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  color: #727b88;
  background: transparent;
}

#page-reviews .reviews-theme-tab:not(.sparkols-btn-secondary) {
  color: var(--crm-page-text);
}

#page-reviews .reviews-theme-tab:not(.sparkols-btn-secondary)::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  content: "";
  background: var(--crm-page-accent);
}

#page-reviews .sparkols-reviews-subfilters {
  padding-top: 14px;
}

/* Candidate mail workspace: metrics, filters and actions get their own rows. */
#page-search-candidates .search-candidate-summary {
  margin: 0 0 18px;
  border-color: var(--crm-page-line);
  border-radius: 10px;
  box-shadow: none;
}

#page-search-candidates .search-candidate-summary > div {
  min-width: 0;
  padding: 16px 18px;
}

#page-search-candidates .search-candidate-toolbar {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  gap: 12px 10px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--crm-page-line);
  border-radius: 10px;
  background: #fff;
}

#page-search-candidates #search-candidate-q {
  grid-column: 1 / span 6;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  max-width: none;
}

#page-search-candidates #search-candidate-platform {
  grid-column: 7 / span 2;
  grid-row: 1;
}

#page-search-candidates #search-candidate-email-scope {
  grid-column: 9 / span 2;
  grid-row: 1;
}

#page-search-candidates #search-candidate-mode {
  grid-column: 11 / span 2;
  grid-row: 1;
}

#page-search-candidates .search-candidate-select-all {
  grid-column: 1 / span 3;
  grid-row: 2;
  width: max-content;
  max-width: 100%;
}

#page-search-candidates #search-candidate-refresh {
  grid-column: 4;
  grid-row: 2;
  width: max-content;
}

#page-search-candidates .search-candidate-toolbar > a[href="/search-center"] {
  grid-column: 5 / span 2;
  grid-row: 2;
  width: max-content;
}

#page-search-candidates .search-candidate-selected-count {
  grid-column: 8 / span 2;
  grid-row: 2;
  margin-left: 0;
  text-align: right;
}

#page-search-candidates #search-candidate-mail {
  grid-column: 10 / span 3;
  grid-row: 2;
  justify-self: end;
  width: max-content;
}

#page-search-candidates .search-candidate-list {
  gap: 14px;
}

#page-search-candidates .search-candidate-empty {
  min-height: 320px;
  display: grid;
  place-items: center;
  padding: 24px;
  border-color: var(--crm-page-line-strong);
  background:
    radial-gradient(circle at 50% 43%, rgba(21, 155, 143, 0.05), transparent 110px),
    #fff;
}

/* Project and analysis pages: remove the outer shell; keep records as the one
   meaningful card level. */
#page-projects > .home-panel,
#page-business-briefs > .home-panel,
#page-business-briefs > details.home-panel,
#page-influencer-analysis > .home-panel {
  margin-top: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#page-projects > .home-panel + .home-panel,
#page-business-briefs > .home-panel + .home-panel,
#page-influencer-analysis > .home-panel + .home-panel {
  margin-top: 24px !important;
  padding-top: 22px;
  border-top: 1px solid var(--crm-page-line);
}

#page-projects > .home-panel > p:first-child {
  max-width: 940px;
  margin: 0 0 18px !important;
  color: #727b87;
  line-height: 1.7;
}

#page-projects .sparkols-project-bd-cards {
  grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
  gap: 14px;
}

#page-projects .sparkols-project-bd-card,
#page-projects .sparkols-project-card-skeleton {
  min-height: 188px;
  padding: 17px;
  border-color: var(--crm-page-line);
  border-radius: 10px;
  box-shadow: none;
}

#page-projects .sparkols-toolbar.sparkols-form-inline,
#page-business-briefs .sparkols-toolbar.sparkols-form-inline,
#page-influencer-analysis .sparkols-form-inline {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

/* Nested content sections use dividers instead of another rounded rectangle. */
#page-business-briefs .sparkols-business-brief-hero,
#page-business-briefs .sparkols-business-rec-panel,
#page-influencer-analysis .sparkols-analysis-history-panel {
  border: 0;
  background: transparent;
}

#page-business-briefs .sparkols-business-brief-history {
  padding: 16px 0;
  border-width: 1px 0 0;
  border-radius: 0;
  background: transparent;
}

/* Mail keeps its step workflow but drops card-within-card decoration. */
#page-mail .sparkols-mail-campaign-workbench {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#page-mail .sparkols-mail-campaign-panel {
  border: 0;
  background: transparent;
  box-shadow: none;
}

#page-mail .sparkols-mail-auto-block {
  margin: 0;
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid var(--crm-page-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#page-mail .sparkols-mail-auto-block:last-child {
  border-bottom: 0;
}

@media (max-width: 900px) {
  #main-container.home-shell > .home-content > .sparkols-page:not(.sparkols-page-fullwidth) {
    padding: 20px 18px 30px;
  }

  #page-progress .sparkols-progress-search-input,
  #page-leads-private .sparkols-input-wide,
  #page-leads-public .sparkols-input-wide,
  #page-influencers .sparkols-input-wide {
    max-width: none;
    flex-basis: 100%;
  }

  #page-leads-private > .sparkols-form-inline select,
  #page-leads-public > .sparkols-form-inline select,
  #page-influencers > .sparkols-form-inline select {
    flex: 1 1 220px;
  }

  #page-search-candidates .search-candidate-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #page-search-candidates .search-candidate-summary > div:nth-child(2) {
    border-right: 0;
  }

  #page-search-candidates .search-candidate-summary > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--crm-page-line);
  }

  #page-search-candidates #search-candidate-q {
    grid-column: 1 / span 12;
    grid-row: auto;
  }

  #page-search-candidates #search-candidate-platform,
  #page-search-candidates #search-candidate-email-scope,
  #page-search-candidates #search-candidate-mode {
    grid-column: span 4;
    grid-row: auto;
    width: 100%;
  }

  #page-search-candidates .search-candidate-select-all {
    grid-column: 1 / span 5;
    grid-row: auto;
  }

  #page-search-candidates #search-candidate-refresh {
    grid-column: 6 / span 2;
    grid-row: auto;
  }

  #page-search-candidates .search-candidate-toolbar > a[href="/search-center"] {
    grid-column: 8 / span 2;
    grid-row: auto;
  }

  #page-search-candidates .search-candidate-selected-count {
    grid-column: 1 / span 6;
    grid-row: auto;
    text-align: left;
  }

  #page-search-candidates #search-candidate-mail {
    grid-column: 7 / span 6;
    grid-row: auto;
  }
}

@media (max-width: 760px) {
  #main-container.home-shell > .home-content > .home-topbar {
    min-height: 70px;
    padding: 13px 14px 13px 58px;
  }

  #main-container.home-shell > .home-content > .home-topbar .home-h1,
  #main-container.home-shell > .home-content > .home-topbar .home-hint {
    max-width: calc(100vw - 88px);
  }

  #main-container.home-shell > .home-content > .sparkols-page:not(.sparkols-page-fullwidth) {
    padding: 16px 14px 26px;
  }

  #page-progress > .sparkols-form-inline,
  #page-publish-tracking > .sparkols-form-inline,
  #page-leads-private > .sparkols-form-inline,
  #page-leads-public > .sparkols-form-inline,
  #page-influencers > .sparkols-form-inline,
  #page-reviews .sparkols-reviews-subfilters,
  #page-reviews-history > .sparkols-form-inline {
    padding: 12px;
  }

  #page-progress > .sparkols-form-inline > .sparkols-input,
  #page-publish-tracking > .sparkols-form-inline > .sparkols-input,
  #page-leads-private > .sparkols-form-inline > .sparkols-input,
  #page-leads-public > .sparkols-form-inline > .sparkols-input,
  #page-influencers > .sparkols-form-inline > .sparkols-input {
    width: 100%;
    min-width: 0;
    max-width: none;
    flex: 1 1 100%;
  }

  #page-leads-private > .sparkols-form-inline,
  #page-leads-public > .sparkols-form-inline {
    display: flex;
  }

  #page-search-candidates .search-candidate-toolbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 12px;
  }

  #page-search-candidates .search-candidate-toolbar > * {
    width: 100% !important;
    max-width: none !important;
    justify-content: center;
  }

  #page-search-candidates .search-candidate-selected-count {
    padding: 4px 0;
    text-align: left;
  }

  #page-search-candidates #search-candidate-mail {
    justify-self: stretch;
  }
}
