/* CEPC visual polish layer
   Presentation only: keeps the existing CRM behavior, data, and event wiring intact. */
:root {
  --cepc-ink: #17324f;
  --cepc-muted: #687b91;
  --cepc-line: #dbe4ec;
  --cepc-surface: #ffffff;
  --cepc-canvas: #f4f7fa;
  --cepc-primary: #173f68;
  --cepc-success: #208766;
  --cepc-danger: #c74955;
  --cepc-radius: 12px;
  --cepc-shadow: 0 6px 18px rgba(21, 49, 78, .07);
}

/* The generic marketing ticker is not useful inside an operational CRM. */
body[data-page-mode="standalone"] .news-ticker,
body[data-page-mode="standalone"] #marketTicker {
  display: none !important;
}

body[data-page-mode="standalone"] .filter-orbit {
  display: none !important;
}

body[data-page-mode="standalone"] {
  background: var(--cepc-canvas);
  color: var(--cepc-ink);
}

body[data-page-mode="standalone"] .app-shell,
body[data-page-mode="standalone"] .app-main,
body[data-page-mode="standalone"] .main-content {
  max-width: 1440px;
}

body[data-page-mode="standalone"] .topbar {
  min-height: 52px;
  padding: 9px 14px;
  border: 1px solid var(--cepc-line);
  border-radius: var(--cepc-radius);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 2px 8px rgba(21, 49, 78, .04);
}

body[data-page-mode="standalone"] .topbar .eyebrow {
  color: var(--cepc-muted);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .02em;
}

body[data-page-mode="standalone"] .topbar h2 {
  color: var(--cepc-ink);
  font-size: 1.05rem;
  font-weight: 700;
}

body[data-page-mode="standalone"] :is(.panel, .hero-card, .stat-card, .category-card, .table-card, .section-card) {
  border: 1px solid var(--cepc-line);
  border-radius: var(--cepc-radius);
  box-shadow: var(--cepc-shadow);
}

body[data-page-mode="standalone"] :is(.panel, .hero-card, .stat-card, .category-card, .table-card, .section-card) {
  background: var(--cepc-surface);
}

body[data-page-mode="standalone"] :is(.panel, .hero-card) {
  padding: 16px;
}

body[data-page-mode="standalone"] :is(.panel, .hero-card) :is(h1, h2, h3, h4) {
  color: var(--cepc-ink);
}

body[data-page-mode="standalone"] :is(.panel-head, .section-head) {
  margin-bottom: 12px;
  gap: 10px;
}

body[data-page-mode="standalone"] :is(.panel-head, .section-head) :is(h2, h3, h4) {
  font-size: 1rem;
  line-height: 1.45;
}

body[data-page-mode="standalone"] :is(button, .button, .primary-btn, .ghost-btn, .tiny-btn) {
  min-height: 36px;
  border-radius: 9px;
  font-weight: 700;
  box-shadow: none;
}

body[data-page-mode="standalone"] :is(input, select, textarea) {
  border-color: var(--cepc-line);
  border-radius: 9px;
  box-shadow: none;
}

body[data-page-mode="standalone"] :is(input, select, textarea):focus {
  border-color: #7c9fbd;
  box-shadow: 0 0 0 3px rgba(49, 111, 164, .12);
}

/* Keep KPI collections compact; full-width panels remain available for tables/charts. */
body[data-page-section="overview"] #overviewStats,
body[data-page-section="analytics"] .analytics-stats-grid,
body[data-page-section="targets"] .target-metric-grid {
  gap: 10px;
}

body[data-page-section="overview"] #overviewStats > *,
body[data-page-section="analytics"] .analytics-stats-grid > *,
body[data-page-section="targets"] .target-metric-grid > * {
  min-height: 92px;
  padding: 12px;
}

body[data-page-section="overview"] .overview-filter-donut-card {
  min-height: 166px;
  padding: 12px;
  border-radius: 12px;
}

body[data-page-section="overview"] .overview-filter-donut-ring {
  transform: scale(.9);
}

/* The home page should read as a sales command center, not a marketing landing page. */
body[data-page-section="overview"] :is(.overview-command, .overview-profile-card, .sales-profile-hero) {
  min-height: 0;
}

body[data-page-section="overview"] .sales-card-bio {
  max-width: 760px;
  color: var(--cepc-muted);
  font-size: 1rem;
  line-height: 1.75;
}

body[data-page-section="overview"] .pro-contact-card {
  min-height: 0;
  padding: 20px;
  border-radius: 16px;
}

/* Keep the assistant available, but make it quiet and secondary on work screens. */
body[data-page-mode="standalone"] .sales-assistant-widget {
  z-index: 75 !important;
}

body[data-page-mode="standalone"] .sales-assistant-launcher {
  width: 42px;
  height: 42px;
  border: 1px solid #cdd9e4;
  background: #fff;
  color: var(--cepc-primary);
  box-shadow: 0 5px 14px rgba(21, 49, 78, .12);
}

body[data-page-mode="standalone"] .sales-assistant-panel {
  border: 1px solid var(--cepc-line);
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(21, 49, 78, .16);
}

/* Reduce decorative language and oversized hero treatments on analysis and targets. */
body[data-page-section="analytics"] .analytics-hero,
body[data-page-section="targets"] .targets-hero {
  min-height: 0;
  padding: 18px;
  border-radius: 14px;
  box-shadow: var(--cepc-shadow);
}

body[data-page-section="analytics"] .analytics-hero h3,
body[data-page-section="targets"] :is(.targets-hero h1, .targets-hero h2) {
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
}

body[data-page-section="analytics"] .analytics-hero-text {
  max-width: 760px;
  color: var(--cepc-muted);
  line-height: 1.7;
}

body[data-page-section="analytics"] .analytics-insight-grid {
  gap: 10px;
}

body[data-page-section="analytics"] .analytics-insight-grid > * {
  min-height: 0;
  padding: 13px;
  border-radius: 12px;
}

/* Tables are primary work surfaces: keep the header visible and controls compact. */
body[data-page-section="clients"] :is(.client-workspace, .clients-workspace, .table-card) {
  box-shadow: var(--cepc-shadow);
}

body[data-page-section="clients"] :is(.table-wrap, .client-table-wrap) {
  border: 1px solid var(--cepc-line);
  border-radius: 10px;
  background: #fff;
}

body[data-page-section="clients"] :is(.data-table, .clients-table, table) :is(th, td) {
  padding: 9px 10px;
}

body[data-page-section="clients"] :is(.data-table, .clients-table, table) th {
  background: #f7f9fb;
  color: var(--cepc-ink);
  font-size: .78rem;
}

body[data-page-section="clients"] .client-table-toolbar,
body[data-page-section="clients"] .clients-toolbar {
  gap: 8px;
  padding: 10px 0;
}

/* Avoid decorative status colours being mistaken for chart meaning. */
body[data-page-mode="standalone"] .overview-filter-donut-ring .donut-segment-red,
body[data-page-mode="standalone"] .donut-segment-red {
  stroke: var(--cepc-danger) !important;
}

body[data-page-mode="standalone"] :is(.danger, .negative, .is-overdue, .tone-red) {
  color: var(--cepc-danger);
}

/* Remove emoji-like decoration from prominent utility labels without touching controls. */
body[data-page-mode="standalone"] :is(.smart-assistant-kicker, .smart-assistant-score) {
  display: none !important;
}

@media (max-width: 900px) {
  body[data-page-mode="standalone"] .main-content,
  body[data-page-mode="standalone"] .app-main {
    padding-inline: 10px;
  }

  body[data-page-section="overview"] .overview-work-analysis-grid,
  body[data-page-section="analytics"] .analytics-period-analysis .overview-work-analysis-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body[data-page-mode="standalone"] .topbar {
    border-radius: 10px;
  }

  body[data-page-mode="standalone"] :is(.panel, .hero-card) {
    padding: 12px;
  }

  body[data-page-section="overview"] .overview-work-analysis-grid,
  body[data-page-section="analytics"] .analytics-period-analysis .overview-work-analysis-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* Analytics filters: use a real control bar instead of stretching every input equally. */
body[data-page-section="analytics"] .analytics-filter-panel {
  padding: 14px !important;
  border-radius: 13px !important;
}

body[data-page-section="analytics"] .analytics-filter-panel .analytics-panel-head {
  align-items: end !important;
  gap: 8px !important;
  margin-bottom: 4px !important;
}

body[data-page-section="analytics"] .analytics-filter-panel .analytics-panel-head h3 {
  margin: 2px 0 3px !important;
  font-size: 1.02rem !important;
}

body[data-page-section="analytics"] .analytics-filter-panel .analytics-panel-head .subtle {
  max-width: 680px !important;
  font-size: .76rem !important;
  line-height: 1.45 !important;
}

body[data-page-section="analytics"] .analytics-filter-grid {
  display: grid !important;
  grid-template-columns: minmax(150px, 1.05fr) minmax(150px, 1.05fr) minmax(92px, .62fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(150px, 1fr) !important;
  gap: 8px !important;
  align-items: stretch !important;
  margin-top: 8px !important;
}

body[data-page-section="analytics"] .analytics-filter-grid > label {
  display: flex !important;
  min-width: 0 !important;
  min-height: 70px !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 6px !important;
  padding: 8px 9px !important;
  border: 1px solid #dbe5ee !important;
  border-radius: 10px !important;
  background: #fbfdff !important;
}

body[data-page-section="analytics"] .analytics-filter-grid > label > span {
  margin: 0 !important;
  color: #60758c !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body[data-page-section="analytics"] .analytics-filter-grid input:not([type="checkbox"]),
body[data-page-section="analytics"] .analytics-filter-grid select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 7px 9px !important;
  border: 1px solid #d5e1eb !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #17324f !important;
  font-size: .78rem !important;
}

body[data-page-section="analytics"] .analytics-filter-grid input:not([type="checkbox"]):focus,
body[data-page-section="analytics"] .analytics-filter-grid select:focus {
  border-color: #477ca9 !important;
  outline: 3px solid rgba(71, 124, 169, .13) !important;
}

body[data-page-section="analytics"] .analytics-filter-grid .analytics-check-label {
  min-width: 92px !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  cursor: pointer !important;
}

body[data-page-section="analytics"] .analytics-filter-grid .analytics-check-label input[type="checkbox"] {
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  flex: 0 0 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #173f68 !important;
  cursor: pointer !important;
}

body[data-page-section="analytics"] .analytics-filter-grid .form-actions {
  display: flex !important;
  grid-column: 1 / -1 !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin-top: 1px !important;
  padding-top: 2px !important;
}

body[data-page-section="analytics"] .analytics-filter-grid .form-actions button {
  min-height: 38px !important;
  padding: 8px 15px !important;
  border-radius: 9px !important;
  font-size: .78rem !important;
}

@media (max-width: 1100px) {
  body[data-page-section="analytics"] .analytics-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body[data-page-section="analytics"] .analytics-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page-section="analytics"] .analytics-filter-grid .analytics-check-label {
    min-width: 0 !important;
  }
}

@media (max-width: 460px) {
  body[data-page-section="analytics"] .analytics-filter-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page-section="analytics"] .analytics-filter-grid .analytics-check-label {
    min-height: 48px !important;
  }
}

/* Clients workspace: make dense controls readable and consistent. */
body[data-page-section="clients"] {
  --clients-ink: #17324f;
  --clients-muted: #687b91;
  --clients-line: #d7e1eb;
  --clients-primary: #173f68;
  --clients-primary-hover: #102f52;
  --clients-soft: #f4f8fc;
}

body[data-page-section="clients"] .clients-table-card-head {
  gap: 14px;
}

body[data-page-section="clients"] .clients-table-head-controls {
  gap: 8px !important;
}

body[data-page-section="clients"] .clients-table-head-controls > button,
body[data-page-section="clients"] .clients-table-head-controls .table-expand-btn,
body[data-page-section="clients"] .clients-toolbar-actions > .clients-mini-btn {
  color: var(--clients-ink) !important;
  border: 1px solid var(--clients-line) !important;
  background: #fff !important;
  box-shadow: 0 2px 7px rgba(23, 50, 79, .06) !important;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}

body[data-page-section="clients"] .clients-table-head-controls > button:hover,
body[data-page-section="clients"] .clients-table-head-controls .table-expand-btn:hover,
body[data-page-section="clients"] .clients-toolbar-actions > .clients-mini-btn:hover {
  color: var(--clients-primary) !important;
  border-color: #a9bfd3 !important;
  background: var(--clients-soft) !important;
  box-shadow: 0 5px 12px rgba(23, 50, 79, .1) !important;
  transform: translateY(-1px);
}

body[data-page-section="clients"] .clients-toolbar-actions > .primary-btn,
body[data-page-section="clients"] .clients-toolbar-actions > .primary-btn:hover {
  color: #fff !important;
  border-color: var(--clients-primary) !important;
  background: var(--clients-primary) !important;
}

body[data-page-section="clients"] .clients-toolbar-actions > .danger-text-btn,
body[data-page-section="clients"] .clients-toolbar-actions > .danger-text-btn:hover {
  color: #a33f4b !important;
  border-color: #edc8ce !important;
  background: #fff7f8 !important;
}

/* Row actions are the most frequent controls: give each one a clear target. */
body[data-page-section="clients"] .row-action-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  vertical-align: middle;
}

body[data-page-section="clients"] .row-action-wrap .client-add-action-btn {
  min-height: 36px !important;
  padding: 8px 13px !important;
  border: 1px solid var(--clients-primary) !important;
  border-radius: 10px !important;
  background: var(--clients-primary) !important;
  color: #fff !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 10px rgba(23, 63, 104, .14) !important;
}

body[data-page-section="clients"] .row-action-wrap .client-add-action-btn:hover {
  border-color: var(--clients-primary-hover) !important;
  background: var(--clients-primary-hover) !important;
  transform: translateY(-1px);
}

body[data-page-section="clients"] .row-action-wrap .tiny-icon-btn,
body[data-page-section="clients"] .phone-actions-cell .tiny-icon-btn {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--clients-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--clients-primary) !important;
  line-height: 1 !important;
  box-shadow: 0 2px 7px rgba(23, 50, 79, .06) !important;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease;
}

body[data-page-section="clients"] .row-action-wrap .tiny-icon-btn:hover,
body[data-page-section="clients"] .phone-actions-cell .tiny-icon-btn:hover {
  border-color: #9eb7ce !important;
  background: #edf4fa !important;
  color: var(--clients-primary-hover) !important;
  transform: translateY(-1px);
}

body[data-page-section="clients"] .phone-actions-cell {
  vertical-align: middle !important;
}

body[data-page-section="clients"] .phone-actions-cell > *,
body[data-page-section="clients"] .phone-actions-cell .message-apps-wrap,
body[data-page-section="clients"] .phone-actions-cell .video-call-wrap {
  margin-inline-end: 5px !important;
}

body[data-page-section="clients"] .phone-actions-cell > :last-child,
body[data-page-section="clients"] .phone-actions-cell > .video-call-wrap:last-child {
  margin-inline-end: 0 !important;
}

body[data-page-section="clients"] .client-last-comment .client-comment-cell-content {
  gap: 8px !important;
}

body[data-page-section="clients"] .client-comments-trigger,
body[data-page-section="clients"] .call-entry-note-trigger {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  border-radius: 9px !important;
  color: var(--clients-primary) !important;
  background: #f2f7fb !important;
}

@media (max-width: 760px) {
  body[data-page-section="clients"] .row-action-wrap {
    gap: 6px !important;
  }
}

html[data-theme="dark"] body[data-page-section="clients"] {
  --clients-ink: #e6edf5;
  --clients-muted: #aab8c8;
  --clients-line: rgba(188, 207, 228, .2);
  --clients-primary: #8db6ea;
  --clients-primary-hover: #a9c9f0;
  --clients-soft: #223347;
}

html[data-theme="dark"] body[data-page-section="clients"] .clients-table-head-controls > button,
html[data-theme="dark"] body[data-page-section="clients"] .clients-table-head-controls .table-expand-btn,
html[data-theme="dark"] body[data-page-section="clients"] .clients-toolbar-actions > .clients-mini-btn,
html[data-theme="dark"] body[data-page-section="clients"] .row-action-wrap .tiny-icon-btn,
html[data-theme="dark"] body[data-page-section="clients"] .phone-actions-cell .tiny-icon-btn {
  color: var(--clients-ink) !important;
  border-color: var(--clients-line) !important;
  background: #1c2a39 !important;
}

html[data-theme="dark"] body[data-page-section="clients"] .row-action-wrap .tiny-icon-btn:hover,
html[data-theme="dark"] body[data-page-section="clients"] .phone-actions-cell .tiny-icon-btn:hover {
  color: #fff !important;
  border-color: #5f86af !important;
  background: #2a4661 !important;
}

/* Quick-services controller: replace the cramped circular tiles with a clear
   two-column action panel while keeping the existing click handlers intact. */
#worshipWidget .worship-fab {
  width: 60px !important;
  height: 60px !important;
  border: 2px solid rgba(255, 255, 255, .9) !important;
  background: linear-gradient(145deg, #315f8d, #102f52) !important;
  box-shadow: 0 12px 28px rgba(16, 47, 82, .3), 0 0 0 5px rgba(49, 95, 141, .12) !important;
}

#worshipWidget .worship-menu-orbit {
  top: -112px !important;
  left: 0 !important;
  width: 246px !important;
  height: 258px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#worshipWidget .worship-orbit-trigger {
  width: 70px !important;
  height: 70px !important;
  padding: 7px !important;
  border: 1px solid #cbd9e6 !important;
  color: #173f68 !important;
  background: #fff !important;
  box-shadow: 0 8px 18px rgba(23, 50, 79, .14) !important;
}

#worshipWidget .worship-orbit-trigger:hover,
#worshipWidget .worship-orbit-trigger[aria-expanded="true"] {
  color: #fff !important;
  border-color: #173f68 !important;
  background: #173f68 !important;
  box-shadow: 0 11px 24px rgba(23, 63, 104, .24) !important;
}

#worshipWidget .worship-orbit-trigger span:last-child {
  max-width: 58px !important;
  color: inherit !important;
  font-size: .65rem !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  text-align: center !important;
}

#worshipWidget .worship-orbit-icon {
  font-size: 1.35rem !important;
}

#worshipWidget .orbit-islamic { top: 0 !important; left: 76px !important; }
#worshipWidget .orbit-projects { top: 58px !important; left: 154px !important; }
#worshipWidget .orbit-performance { top: 146px !important; left: 154px !important; }
#worshipWidget .orbit-system { top: 204px !important; left: 76px !important; }

#worshipWidget .worship-submenu {
  top: 50% !important;
  left: 76px !important;
  right: auto !important;
  bottom: auto !important;
  width: min(344px, calc(100vw - 92px)) !important;
  min-height: 0 !important;
  max-height: min(72vh, 560px) !important;
  overflow: auto !important;
  transform: translateY(-50%) !important;
  padding: 16px !important;
  border: 1px solid #d5e1ec !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 20px 48px rgba(16, 39, 70, .22), 0 2px 0 rgba(255, 255, 255, .9) inset !important;
  backdrop-filter: blur(14px) !important;
}

#worshipWidget .worship-submenu-group {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

#worshipWidget .worship-submenu .worship-menu-label {
  grid-column: 1 / -1 !important;
  margin: 0 2px 2px !important;
  padding: 0 0 9px !important;
  border-bottom: 1px solid #e4ebf2 !important;
  color: #5f7389 !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

#worshipWidget .worship-submenu .worship-menu-action {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  padding: 8px 10px !important;
  border: 1px solid #d8e3ed !important;
  border-radius: 12px !important;
  color: #17324f !important;
  background: #f8fbfe !important;
  box-shadow: 0 3px 9px rgba(23, 50, 79, .06) !important;
  text-align: start !important;
  font-size: .78rem !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease !important;
}

#worshipWidget .worship-submenu .worship-menu-action:hover {
  border-color: #9db7ce !important;
  background: #edf5fb !important;
  box-shadow: 0 7px 14px rgba(23, 63, 104, .12) !important;
  transform: translateY(-1px) !important;
}

#worshipWidget .worship-submenu .worship-menu-action .worship-menu-icon {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  border: 1px solid #d5e3ee !important;
  border-radius: 10px !important;
  color: #1a527c !important;
  background: #fff !important;
  font-size: 1.05rem !important;
}

#worshipWidget .worship-submenu .worship-menu-action span:last-child {
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  color: inherit !important;
}

html[data-theme="dark"] #worshipWidget .worship-submenu {
  border-color: rgba(188, 207, 228, .2) !important;
  background: rgba(22, 34, 48, .98) !important;
}

/* Final clients-table pass: restore the original beige header and keep the
   dense data area calm instead of turning every value into a pill/button. */
body[data-page-section="clients"] .clients-table thead th,
body[data-page-section="clients"] .leads-table thead th {
  height: 44px !important;
  padding: 8px 10px !important;
  vertical-align: middle !important;
  background: linear-gradient(180deg, #fffaf4, #f6ecdf) !important;
  color: #17324f !important;
  line-height: 1.25 !important;
}

body[data-page-section="clients"] .clients-table thead th:nth-child(8),
body[data-page-section="clients"] .leads-table thead th:nth-child(8) {
  text-align: right !important;
  white-space: nowrap !important;
}

body[data-page-section="clients"] .clients-summary-card {
  align-items: center !important;
  min-height: 96px !important;
  padding: 14px !important;
  border: 1px solid #e2d4c2 !important;
  border-top: 3px solid #c99f70 !important;
  border-radius: 10px !important;
  background: #fffaf3 !important;
  box-shadow: none !important;
}

body[data-page-section="clients"] .clients-summary-card::after {
  display: none !important;
}

body[data-page-section="clients"] .clients-summary-card-icon,
body[data-page-section="clients"] .clients-summary-card.tone-gold .clients-summary-card-icon,
body[data-page-section="clients"] .clients-summary-card.tone-blue .clients-summary-card-icon,
body[data-page-section="clients"] .clients-summary-card.tone-green .clients-summary-card-icon,
body[data-page-section="clients"] .clients-summary-card.tone-purple .clients-summary-card-icon,
body[data-page-section="clients"] .clients-summary-card.tone-red .clients-summary-card-icon {
  width: 28px !important;
  height: 28px !important;
  flex-basis: 28px !important;
  border-radius: 7px !important;
  background: #173f68 !important;
  box-shadow: none !important;
}

body[data-page-section="clients"] .clients-summary-card-copy > span {
  color: #687b91 !important;
  font-size: .7rem !important;
}

body[data-page-section="clients"] .clients-summary-card-copy strong {
  color: #173f68 !important;
  font-size: 1.42rem !important;
}

body[data-page-section="clients"] .clients-summary-card-copy small {
  color: #7b6d60 !important;
}

body[data-page-section="clients"] .client-comment-cell-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 3px 8px !important;
  min-height: 30px !important;
  padding-inline-end: 0 !important;
}

body[data-page-section="clients"] .client-last-comment-text {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body[data-page-section="clients"] .scheduled-note-meta {
  grid-column: 1 !important;
  grid-row: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  width: fit-content !important;
  max-width: 100% !important;
  color: #8a6b4e !important;
  font-size: .66rem !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  cursor: pointer !important;
}

body[data-page-section="clients"] .scheduled-note-meta:hover,
body[data-page-section="clients"] .scheduled-note-meta:focus-visible {
  color: #173f68 !important;
  text-decoration: underline !important;
  outline: none !important;
}

body[data-page-section="clients"] .scheduled-note-meta small {
  font-size: inherit !important;
}

body[data-page-section="clients"] .client-comments-trigger {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
}

body[data-page-section="clients"] .call-entry-note-trigger {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  justify-self: start !important;
}

body[data-page-section="clients"] .clients-table {
  table-layout: fixed !important;
}

body[data-page-section="clients"] .clients-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 6 !important;
  overflow: visible !important;
  box-shadow: 0 1px 0 rgba(177, 124, 49, .18), 0 3px 8px rgba(16, 39, 70, .06) !important;
}

body[data-page-section="clients"] .client-column-resizer {
  position: absolute !important;
  inset-block: 0 !important;
  inset-inline-end: -4px !important;
  z-index: 3 !important;
  width: 8px !important;
  cursor: col-resize !important;
  touch-action: none !important;
}

body[data-page-section="clients"] .client-column-resizer:hover {
  background: #c99f70 !important;
}

body.is-resizing-client-column,
body.is-resizing-client-column * {
  cursor: col-resize !important;
  user-select: none !important;
}

html[data-theme="dark"] body[data-page-section="clients"] .clients-table thead th {
  background: linear-gradient(180deg, #3a3028, #2f2924) !important;
  color: #f4e7d7 !important;
}

html[data-theme="dark"] body[data-page-section="clients"] .clients-summary-card {
  border-color: #604c39 !important;
  background: #29231f !important;
}

/* Do not reserve a full scrolling viewport when the filtered result is empty. */
@media (min-width: 761px) {
  body[data-page-section="clients"] .clients-table-wrap,
  body[data-page-section="clients"] .leads-table-wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: min(58vh, 640px) !important;
    overflow: auto !important;
  }

  body[data-page-section="clients"] .clients-table-wrap:has(.clients-empty-row),
  body[data-page-section="clients"] .leads-table-wrap:has(.clients-empty-row) {
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
  }

  body[data-page-section="clients"] .clients-table-wrap:has(.clients-empty-row) .clients-table,
  body[data-page-section="clients"] .leads-table-wrap:has(.clients-empty-row) .leads-table {
    width: 100% !important;
    min-width: 100% !important;
  }

  body[data-page-section="clients"] .clients-empty-row td {
    height: 92px !important;
    padding: 18px !important;
    text-align: center !important;
    vertical-align: middle !important;
  }

  body[data-page-section="clients"] .clients-empty-row .empty-state {
    min-height: 0 !important;
    padding: 4px !important;
  }
}

html[data-theme="dark"] #worshipWidget .worship-submenu .worship-menu-label {
  border-color: rgba(188, 207, 228, .16) !important;
  color: #aab8c8 !important;
}

html[data-theme="dark"] #worshipWidget .worship-submenu .worship-menu-action {
  border-color: rgba(188, 207, 228, .18) !important;
  color: #e6edf5 !important;
  background: #1c2a39 !important;
}

html[data-theme="dark"] #worshipWidget .worship-submenu .worship-menu-action:hover {
  border-color: #5f86af !important;
  background: #2a4661 !important;
}

html[data-theme="dark"] #worshipWidget .worship-submenu .worship-menu-action .worship-menu-icon {
  border-color: rgba(188, 207, 228, .18) !important;
  color: #b9d5ef !important;
  background: #25384c !important;
}

@media (max-width: 640px) {
  #worshipWidget .worship-menu-orbit {
    top: -98px !important;
    width: 214px !important;
    height: 226px !important;
  }

  #worshipWidget .worship-orbit-trigger {
    width: 60px !important;
    height: 60px !important;
  }

  #worshipWidget .orbit-islamic { left: 66px !important; }
  #worshipWidget .orbit-projects { top: 51px !important; left: 132px !important; }
  #worshipWidget .orbit-performance { top: 127px !important; left: 132px !important; }
  #worshipWidget .orbit-system { top: 178px !important; left: 66px !important; }

  #worshipWidget .worship-submenu {
    left: 66px !important;
    width: min(312px, calc(100vw - 78px)) !important;
    padding: 12px !important;
  }

  #worshipWidget .worship-submenu-group {
    grid-template-columns: 1fr !important;
  }
}

/* Analytics finishing pass: calm, compact cards with a clear reading order. */
body[data-page-section="analytics"] .analytics-hero {
  min-height: 0 !important;
  padding: 16px 18px !important;
  border-radius: 14px !important;
  background: #173f68 !important;
  box-shadow: 0 10px 24px rgba(16, 39, 70, .14) !important;
}

body[data-page-section="analytics"] .analytics-hero h3 {
  margin: 3px 0 6px !important;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem) !important;
  line-height: 1.3 !important;
}

body[data-page-section="analytics"] .analytics-hero-text {
  max-width: 720px !important;
  font-size: .82rem !important;
  line-height: 1.55 !important;
}

body[data-page-section="analytics"] .analytics-command-summary {
  gap: 6px !important;
}

body[data-page-section="analytics"] .analytics-command-value {
  padding: 9px 10px !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .09) !important;
  border-color: rgba(255, 255, 255, .16) !important;
}

body[data-page-section="analytics"] .analytics-command-value strong {
  font-size: 1.2rem !important;
}

body[data-page-section="analytics"] .analytics-insight-grid {
  gap: 9px !important;
  margin: 10px 0 !important;
}

body[data-page-section="analytics"] .analytics-insight-card {
  position: relative !important;
  min-height: 100px !important;
  padding: 11px 12px !important;
  border-radius: 11px !important;
  overflow: hidden !important;
  box-shadow: 0 3px 10px rgba(18, 42, 68, .06) !important;
  transition: border-color .16s ease, box-shadow .16s ease !important;
}

body[data-page-section="analytics"] .analytics-insight-card::before,
body[data-page-section="analytics"] .analytics-insight-card::after {
  display: none !important;
  content: none !important;
}

body[data-page-section="analytics"] .analytics-insight-card:hover {
  transform: none !important;
  box-shadow: 0 5px 14px rgba(18, 42, 68, .09) !important;
}

body[data-page-section="analytics"] .analytics-insight-card .insight-tag {
  display: inline-block !important;
  margin: 0 !important;
  font-size: .59rem !important;
  letter-spacing: .08em !important;
  line-height: 1.2 !important;
}

body[data-page-section="analytics"] .analytics-insight-card h4 {
  margin: 5px 0 5px !important;
  font-size: .9rem !important;
  line-height: 1.25 !important;
}

body[data-page-section="analytics"] .analytics-insight-card p {
  display: -webkit-box !important;
  min-height: 2.75em !important;
  max-height: 2.9em !important;
  overflow: hidden !important;
  font-size: .72rem !important;
  line-height: 1.45 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

body[data-page-section="analytics"] .analytics-insight-card .insight-arrow {
  display: none !important;
}

body[data-page-section="analytics"] .analytics-main-grid {
  gap: 10px !important;
  align-items: start !important;
}

body[data-page-section="analytics"] .analytics-chart-panel,
body[data-page-section="analytics"] .analytics-progress-panel {
  min-height: 0 !important;
  padding: 14px !important;
  border-radius: 13px !important;
}

body[data-page-section="analytics"] .analytics-chart-panel canvas {
  height: 220px !important;
  min-height: 180px !important;
  animation: none !important;
}

body[data-page-section="analytics"] .analytics-progress-panel .donut-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: 8px !important;
}

body[data-page-section="analytics"] .analytics-progress-panel .donut-card {
  display: grid !important;
  min-width: 0 !important;
  min-height: 108px !important;
  place-items: center !important;
  align-content: center !important;
  gap: 5px !important;
  padding: 8px !important;
  border: 1px solid #e0e8ef !important;
  border-radius: 10px !important;
  background: #fbfdff !important;
}

body[data-page-section="analytics"] .analytics-progress-panel .donut-ring {
  width: 62px !important;
  height: 62px !important;
}

body[data-page-section="analytics"] .analytics-progress-panel .donut-card strong {
  max-width: 100% !important;
  font-size: .7rem !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

body[data-page-mode="standalone"] .main-content {
  padding-bottom: max(118px, calc(env(safe-area-inset-bottom) + 108px)) !important;
}

body[data-page-mode="standalone"] #crmFloatingDock .crm-dock-panel {
  gap: 4px !important;
  padding: 6px 8px !important;
  border-radius: 14px !important;
}

body[data-page-mode="standalone"] #crmFloatingDock .crm-dock-link {
  width: 46px !important;
  min-width: 46px !important;
}

body[data-page-mode="standalone"] #crmFloatingDock .crm-dock-link svg {
  width: 33px !important;
  height: 33px !important;
  padding: 7px !important;
}

body[data-page-mode="standalone"] #crmFloatingDock .crm-dock-link span {
  font-size: .58rem !important;
}

@media (max-width: 760px) {
  body[data-page-section="analytics"] .analytics-chart-panel canvas {
    height: 200px !important;
  }

  body[data-page-section="analytics"] .analytics-progress-panel .donut-card {
    min-height: 102px !important;
  }
}

@media (max-width: 560px) {
  body[data-page-mode="standalone"] #crmFloatingDock .crm-dock-link {
    width: 40px !important;
    min-width: 40px !important;
  }

  body[data-page-mode="standalone"] #crmFloatingDock .crm-dock-link svg {
    width: 29px !important;
    height: 29px !important;
    padding: 6px !important;
  }
}

/* Restore the original circular quick-control orbit. Keep the new links in
   the central menu, but never turn the four orbit controls into tiles. */
#worshipWidget .worship-menu-orbit {
  top: -78px !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 196px !important;
  height: 196px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  transform: none !important;
}
#worshipWidget .worship-orbit-trigger {
  position: absolute !important;
  width: 62px !important;
  height: 62px !important;
  padding: 4px !important;
  border: 1px solid rgba(30,67,103,.14) !important;
  border-radius: 50% !important;
  color: #17385f !important;
  background: linear-gradient(145deg,#fff,#eef5f9) !important;
  box-shadow: 0 8px 18px rgba(20,46,74,.14), inset 0 1px 0 #fff !important;
}
#worshipWidget .worship-orbit-trigger:hover,
#worshipWidget .worship-orbit-trigger[aria-expanded="true"] {
  color: #fff !important;
  border-color: #173f68 !important;
  background: linear-gradient(145deg,#2c638f,#143961) !important;
  box-shadow: 0 10px 22px rgba(20,55,91,.28) !important;
}
#worshipWidget .worship-orbit-trigger span:last-child {
  max-width: 58px !important;
  font-size: .57rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-align: center !important;
}
#worshipWidget .worship-orbit-icon { font-size: 1.18rem !important; line-height: 1 !important; }
#worshipWidget .orbit-islamic { top: 13px !important; left: 76px !important; }
#worshipWidget .orbit-projects { top: 67px !important; left: 120px !important; }
#worshipWidget .orbit-performance { bottom: 13px !important; left: 76px !important; }
#worshipWidget .orbit-system { top: 67px !important; left: 32px !important; }

