/* CRM overrides — loaded after vyzorTheme styles.css (/theme/css/styles.css).
 * Form controls (.form-control, .form-select, .choices__inner, modals, cards): inherit Vyzor light/dark tokens; CRM adds layout/validation/Dynamics chrome only. */

/* ========== Vyzor control bridge (app shell + modals) ========== */
.crm-shell-dynamics .btn-light,
.crm-shell-dynamics a.btn-light,
.crm-shell-dynamics button.btn-light {
  --bs-btn-bg: rgb(var(--light-rgb));
  --bs-btn-border-color: var(--input-border, var(--default-border));
  --bs-btn-color: var(--default-text-color);
  --bs-btn-hover-bg: var(--list-hover-focus-bg);
  --bs-btn-hover-border-color: var(--default-border);
  --bs-btn-hover-color: var(--default-text-color);
  --bs-btn-active-bg: var(--list-hover-focus-bg);
  --bs-btn-active-border-color: var(--default-border);
  --bs-btn-active-color: var(--default-text-color);
  --bs-btn-disabled-bg: rgb(var(--light-rgb));
  --bs-btn-disabled-border-color: var(--default-border);
  --bs-btn-disabled-color: var(--text-muted);
}

.crm-shell-dynamics .btn-light.border {
  --bs-btn-border-color: var(--input-border, var(--default-border));
}

.crm-shell-dynamics .badge.bg-light,
.crm-shell-dynamics .badge.bg-light.text-default {
  background-color: rgb(var(--light-rgb)) !important;
  color: var(--default-text-color) !important;
  border-color: var(--default-border) !important;
}

.crm-shell-dynamics .badge.bg-light.text-muted {
  color: var(--text-muted) !important;
}

.crm-shell-dynamics .bg-light:not(.btn):not(.badge) {
  background-color: rgb(var(--light-rgb)) !important;
  color: var(--default-text-color);
}

.crm-shell-dynamics .form-control.bg-light,
.crm-shell-dynamics .bg-light.form-control {
  background-color: rgb(var(--light-rgb)) !important;
  border-color: var(--input-border);
  color: var(--default-text-color);
}

.crm-shell-dynamics .text-muted {
  color: var(--text-muted) !important;
}

.crm-shell-dynamics .form-control-plaintext {
  color: var(--default-text-color);
  font-size: 0.875rem;
  padding-inline: 0;
}

.crm-shell-dynamics .crm-bulk-assign-bar {
  background: var(--default-background, rgb(var(--light-rgb))) !important;
  border-color: var(--default-border) !important;
}

.crm-shell-dynamics .crm-filter .form-control,
.crm-shell-dynamics .crm-filter .form-select {
  font-size: 0.875rem;
}

.crm-shell-dynamics .crm-filter .input-group-text {
  background-color: rgb(var(--light-rgb));
  border-color: var(--input-border);
  color: var(--default-text-color);
}

.crm-shell-dynamics .crm-filter-label {
  color: var(--default-text-color);
  font-size: 0.8rem;
  font-weight: 500;
}

.crm-shell-dynamics .modal .form-control,
.crm-shell-dynamics .modal .form-select,
.crm-shell-dynamics .modal textarea.form-control {
  font-size: 0.875rem;
}

.crm-shell-dynamics .modal .input-group-text {
  background-color: rgb(var(--light-rgb));
  border-color: var(--input-border);
  color: var(--default-text-color);
}

.crm-shell-dynamics .modal .form-label {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--default-text-color);
}

.crm-shell-dynamics .table {
  color: var(--default-text-color);
  --bs-table-border-color: var(--default-border);
}

.crm-shell-dynamics .table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--default-text-color);
  --bs-table-bg-state: var(--list-hover-focus-bg);
}

/* Auth pages (no app shell) — same control tokens as Vyzor sign-in-basic */
.authentication-background .form-label,
.authentication-background .crm-user-form .form-label {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--default-text-color);
}

.authentication-background .form-control,
.authentication-background .form-select,
.authentication-background .crm-user-form .form-control {
  font-size: 0.875rem;
}

.authentication-background .input-group-text {
  background-color: rgb(var(--light-rgb));
  border-color: var(--input-border);
  color: var(--default-text-color);
}

.authentication-background .text-muted {
  color: var(--text-muted) !important;
}

.authentication-background .btn-light {
  --bs-btn-bg: rgb(var(--light-rgb));
  --bs-btn-border-color: var(--input-border, var(--default-border));
  --bs-btn-color: var(--default-text-color);
}

/* Property / field values hug the visual right (RTL). LTR content stays readable. */
.main-body-container .crm-prop-value,
.main-body-container .form-label,
.main-body-container .form-control,
.main-body-container .form-select,
.main-body-container .table > :not(caption) > * > * {
  text-align: right !important;
}

.main-body-container .crm-prop-value[dir="ltr"],
.main-body-container .form-control[dir="ltr"],
.main-body-container .form-select[dir="ltr"],
.main-body-container .table td[dir="ltr"],
.main-body-container .table th[dir="ltr"] {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: right !important;
}

.main-body-container .table .text-end,
.main-body-container .table td .d-flex.justify-content-end {
  text-align: end !important;
}

/* Field validation: Persian message + danger border (AI_RULES §8.1) */
.crm-user-form .field-validation-error,
.crm-user-form [data-valmsg-for].field-validation-error {
  display: block;
  font-size: 0.8125rem;
  margin-top: 0.25rem;
  color: var(--bs-danger, #dc3545);
}

.crm-user-form .form-control.is-invalid,
.crm-user-form .form-select.is-invalid,
.crm-user-form .form-control.input-validation-error,
.crm-user-form .form-select.input-validation-error,
.crm-user-form textarea.form-control.is-invalid,
.crm-user-form textarea.form-control.input-validation-error {
  border-color: var(--bs-danger, #dc3545);
}

.crm-user-form .form-control.is-invalid:focus,
.crm-user-form .form-select.is-invalid:focus,
.crm-user-form .form-control.input-validation-error:focus,
.crm-user-form .form-select.input-validation-error:focus {
  border-color: var(--bs-danger, #dc3545);
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-danger-rgb, 220, 53, 69), 0.2);
}

.crm-user-form .input-group > .form-control.is-invalid,
.crm-user-form .input-group > .form-select.is-invalid,
.crm-user-form .input-group > .form-control.input-validation-error,
.crm-user-form .input-group > .form-select.input-validation-error {
  z-index: 3;
}

.crm-user-form .input-group.is-invalid > .input-group-text,
.crm-user-form .input-group:has(> .form-control.is-invalid) > .input-group-text,
.crm-user-form .input-group:has(> .form-select.is-invalid) > .input-group-text,
.crm-user-form .input-group:has(> .form-control.input-validation-error) > .input-group-text,
.crm-user-form .input-group:has(> .form-select.input-validation-error) > .input-group-text {
  border-color: var(--bs-danger, #dc3545);
  color: var(--bs-danger, #dc3545);
}

.crm-presence {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.crm-presence-dot {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: #9aa0a6;
  flex: 0 0 auto;
}

.crm-presence-dot.is-online {
  background: #22c55e;
  animation: crm-presence-pulse 1.4s ease-out infinite;
}

@keyframes crm-presence-pulse {
  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.65); }
  70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

/* Small helpers so existing CRM pages sit on the Vyzor shell. */
.bg-label-primary {
  background-color: rgba(var(--primary-rgb), 0.15) !important;
  color: rgb(var(--primary-rgb)) !important;
}

.bg-label-secondary {
  background-color: rgba(var(--secondary-rgb), 0.15) !important;
  color: rgb(var(--secondary-rgb)) !important;
}

.bg-label-success {
  background-color: rgba(var(--success-rgb), 0.15) !important;
  color: rgb(var(--success-rgb)) !important;
}

.bg-label-info {
  background-color: rgba(var(--info-rgb), 0.15) !important;
  color: rgb(var(--info-rgb)) !important;
}

.bg-label-warning {
  background-color: rgba(var(--warning-rgb), 0.15) !important;
  color: rgb(var(--warning-rgb)) !important;
}

.bg-label-danger {
  background-color: rgba(var(--danger-rgb), 0.15) !important;
  color: rgb(var(--danger-rgb)) !important;
}

/* Pipeline (قیف فروش) — Dynamics-style kanban */
.crm-pipeline-page {
  --crm-pipeline-board-bg: #e8ecf1;
  --crm-pipeline-surface: #fff;
  --crm-pipeline-surface-muted: #f4f6f9;
  --crm-pipeline-surface-canvas: #f8fafc;
  --crm-pipeline-border: #d0d7e2;
  --crm-pipeline-border-soft: #e2e8f0;
  --crm-pipeline-flow-height: 2.625rem;
  --crm-pipeline-col-radius: 0.5rem;
  --crm-pipeline-card-radius: 0.375rem;
  --crm-pipeline-shadow-col: 0 1px 2px rgba(15, 23, 42, 0.05);
  --crm-pipeline-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.05);
  --crm-pipeline-shadow-card-hover: 0 6px 16px rgba(15, 23, 42, 0.08);
  direction: rtl;
  background: transparent;
  border-radius: 0;
  overflow: visible;
}

[data-theme-mode="dark"] .crm-pipeline-page {
  /* Vyzor dark tokens: styles.css [data-theme-mode=dark] — body rgb2, surfaces custom-white / form-control-bg */
  --crm-pipeline-board-bg: var(--default-body-bg-color, rgb(var(--body-bg-rgb2)));
  --crm-pipeline-surface: var(--custom-white, rgb(var(--body-bg-rgb)));
  --crm-pipeline-surface-muted: var(--form-control-bg, var(--custom-white));
  --crm-pipeline-surface-canvas: var(--default-body-bg-color, rgb(var(--body-bg-rgb2)));
  --crm-pipeline-border: var(--default-border);
  --crm-pipeline-border-soft: var(--default-border);
  --crm-pipeline-shadow-col: 0 1px 2px rgba(0, 0, 0, 0.35);
  --crm-pipeline-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.3);
  --crm-pipeline-shadow-card-hover: 0 6px 16px rgba(0, 0, 0, 0.45);
}

/* Dark: lane pastels → accent mixed into surface (keeps lane hue without light hex) */
[data-theme-mode="dark"] .crm-pipeline-stage {
  --crm-pipeline-flow-bg: color-mix(in srgb, var(--crm-pipeline-stage-accent) 28%, var(--crm-pipeline-surface));
}

[data-theme-mode="dark"] .crm-pipeline-board-toolbar {
  box-shadow: none;
}

.crm-pipeline-shell {
  overflow: visible;
}

.crm-pipeline-board-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0 0.65rem;
  margin: 0;
  min-height: var(--crm-command-bar-height, 2.75rem);
  padding: 0 0.75rem 0 1rem;
  border-block-end: 1px solid var(--crm-pipeline-border-soft);
  background: var(--crm-pipeline-surface);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
  box-sizing: border-box;
}

.crm-pipeline-board-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  min-height: 0;
}

.crm-pipeline-board-toolbar__views {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
  margin-inline-start: auto;
  min-height: 0;
  padding-block: 0.35rem;
}

.crm-pipeline-board-toolbar__cancel {
  display: flex;
  align-items: stretch;
  margin-inline-start: auto;
  min-height: 0;
}

.crm-pipeline-page--empty {
  padding: 1rem;
}

.crm-page-body--full-bleed {
  padding: 0;
  max-width: 100%;
}

.page:has(.crm-pipeline-page) .crm-page-body--full-bleed {
  padding: 0;
}

.page:has(.crm-pipeline-page) .main-content.app-content.crm-main-content {
  padding-inline: 0 !important;
  margin-top: 0 !important;
}

.crm-pipeline-board-toolbar__pipeline .form-select {
  min-width: 8rem;
}

.crm-pipeline-board-toolbar__list {
  padding-inline: 0.45rem;
}

.crm-pipeline-board-toolbar__hide .form-check-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--bs-secondary-color, #6c757d);
  cursor: pointer;
}

.crm-pipeline-board-toolbar .form-select {
  border-color: var(--crm-pipeline-border);
  background-color: var(--crm-pipeline-surface-muted);
  font-size: 0.8125rem;
  border-radius: 0.45rem;
  box-shadow: none;
}

.crm-pipeline-board-toolbar__sort {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.crm-pipeline-board-toolbar__sort .form-select {
  min-width: 10rem;
}

.crm-pipeline-board.is-hide-empty .crm-pipeline-stage.is-empty {
  display: none;
}

.crm-pipeline-shell__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
  background: linear-gradient(
    180deg,
    rgba(var(--primary-rgb, 132, 90, 223), 0.04) 0%,
    transparent 100%
  );
}

.crm-pipeline-shell__title-row {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
}

.crm-pipeline-shell__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.05rem;
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.12);
}

.crm-pipeline-shell__title {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
}

.crm-pipeline-shell__subtitle {
  margin-top: 0.15rem;
  font-size: 0.6875rem;
  color: var(--bs-secondary-color, #6c757d);
  line-height: 1.45;
}

.crm-pipeline-shell__subtitle--lead {
  margin-top: 0;
  font-size: 0.8125rem;
}

.crm-pipeline-metrics {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.45rem;
  flex: 1 1 auto;
  justify-content: flex-end;
}

.crm-pipeline-metric {
  min-width: 4.5rem;
  padding: 0.35rem 0.55rem;
  border-radius: 0.45rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
  background: var(--custom-white, #fff);
}

.crm-pipeline-metric__label {
  display: block;
  font-size: 0.625rem;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.1rem;
}

.crm-pipeline-metric__value {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
}

.crm-pipeline-metric__value small {
  font-size: 0.625rem;
  font-weight: 500;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-pipeline-metric--won .crm-pipeline-metric__value {
  color: var(--bs-success, #198754);
}

.crm-pipeline-metric--lost .crm-pipeline-metric__value {
  color: var(--bs-danger, #dc3545);
}

.crm-pipeline-shell__actions {
  flex-shrink: 0;
}

.crm-pipeline-board-wrap {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.75rem;
  padding: 0.85rem 1rem 1.15rem;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  background: none;
  background-color: transparent;
}

.crm-pipeline-stage {
  --crm-pipeline-stage-accent: #3b6bff;
  --crm-pipeline-flow-bg: #e9efff;
  --crm-pipeline-stage-head-height: 5.35rem;
  flex: 0 0 min(17.5rem, 88vw);
  scroll-snap-align: start;
  position: relative;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 13.5rem);
  min-height: 14rem;
  margin: 0;
  overflow: hidden;
  background: var(--crm-pipeline-surface);
  border: 1px solid var(--crm-pipeline-border-soft);
  border-radius: var(--crm-pipeline-col-radius);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  transition: box-shadow 0.18s ease, border-color 0.18s ease;
}

.crm-pipeline-stage--lane-0 {
  --crm-pipeline-stage-accent: #3b6bff;
  --crm-pipeline-flow-bg: #e9efff;
}
.crm-pipeline-stage--lane-1 {
  --crm-pipeline-stage-accent: #d4622a;
  --crm-pipeline-flow-bg: #fdf0e8;
}
.crm-pipeline-stage--lane-2 {
  --crm-pipeline-stage-accent: #7c5ce0;
  --crm-pipeline-flow-bg: #f1ebfd;
}
.crm-pipeline-stage--lane-3 {
  --crm-pipeline-stage-accent: #4b6a8a;
  --crm-pipeline-flow-bg: #edf1f5;
}
.crm-pipeline-stage--lane-4 {
  --crm-pipeline-stage-accent: #1f8f52;
  --crm-pipeline-flow-bg: #e8f6ee;
}
.crm-pipeline-stage--lane-5 {
  --crm-pipeline-stage-accent: #6b6560;
  --crm-pipeline-flow-bg: #f2f1f0;
}

.crm-pipeline-stage--won {
  --crm-pipeline-stage-accent: #1a7f4b;
  --crm-pipeline-flow-bg: #e6f4ec;
}

.crm-pipeline-stage--lost {
  --crm-pipeline-stage-accent: #c73e3e;
  --crm-pipeline-flow-bg: #fdecec;
}

.crm-pipeline-stage__head {
  position: relative;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  background: var(--crm-pipeline-surface);
  border-bottom: 0;
  overflow: hidden;
}

.crm-pipeline-stage__flow {
  --crm-flow-chevron: 0.65rem;
  --crm-flow-point: 0.4rem;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--crm-pipeline-flow-height);
  margin: 0;
  padding: 0 0.85rem;
  background: var(--crm-pipeline-flow-bg);
  color: var(--default-text-color);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
  box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--crm-pipeline-stage-accent) 28%, transparent);
}

.crm-pipeline-stage__flow.is-next {
  width: 100%;
  margin: 0;
  padding-inline: calc(0.85rem + var(--crm-flow-point)) 0.85rem;
  clip-path: polygon(
    0 50%,
    var(--crm-flow-point) 0,
    100% 0,
    100% 100%,
    var(--crm-flow-point) 100%
  );
}

.crm-pipeline-stage__flow.is-prev {
  padding-right: calc(0.85rem + var(--crm-flow-chevron));
  clip-path: polygon(
    0 0,
    100% 0,
    calc(100% - var(--crm-flow-chevron)) 50%,
    100% 100%,
    0 100%
  );
}

.crm-pipeline-stage__flow.is-next.is-prev {
  clip-path: polygon(
    0 50%,
    var(--crm-flow-point) 0,
    100% 0,
    calc(100% - var(--crm-flow-chevron)) 50%,
    100% 100%,
    var(--crm-flow-point) 100%
  );
}

.crm-pipeline-stage__toolbar,
.crm-pipeline-stage__hint {
  position: relative;
  z-index: 1;
  background: var(--crm-pipeline-surface);
  border-block-end: 1px solid var(--crm-pipeline-border-soft);
}

.crm-pipeline-stage__flow-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-width: 0;
  max-width: 100%;
}

.crm-pipeline-stage__flow-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-pipeline-stage__flow-sep {
  opacity: 0.45;
  font-weight: 500;
}

.crm-pipeline-stage__flow-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: 1.35rem;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--crm-pipeline-stage-accent) 16%, var(--crm-pipeline-surface, #fff));
  color: color-mix(in srgb, var(--crm-pipeline-stage-accent) 78%, var(--default-text-color, #0f172a));
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.crm-pipeline-stage__banner {
  display: none;
}

.crm-pipeline-stage__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
  box-sizing: border-box;
  padding: 0.3rem 0.75rem 0.4rem;
  min-height: 1.65rem;
}

.crm-pipeline-stage__sortmeta {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--text-muted);
  min-width: 0;
}

.crm-pipeline-stage__sortmeta i {
  font-size: 0.85rem;
  opacity: 0.55;
}

.crm-pipeline-stage__sortlabel {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.crm-pipeline-stage__toolbar-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  flex-shrink: 0;
}

.crm-pipeline-stage__hint {
  margin: 0;
  padding: 0 0.5rem 0.35rem;
  font-size: 0.6875rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-pipeline-stage__lane-menu,
.crm-pipeline-stage__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 0;
  border-radius: 0.4rem;
  background: transparent;
  color: var(--text-muted);
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease;
}

.crm-pipeline-stage__lane-menu:hover,
.crm-pipeline-stage__lane-menu:focus-visible,
.crm-pipeline-stage__toggle:hover,
.crm-pipeline-stage__toggle:focus-visible {
  color: var(--default-text-color);
  background: var(--crm-pipeline-surface-muted);
}

.crm-pipeline-stage__toggle-icon {
  font-size: 1.1rem;
  line-height: 1;
}

.crm-pipeline-stage__count {
  font-weight: 600;
  color: var(--bs-body-color, inherit);
}

.crm-pipeline-stage__meta {
  padding: 0 0.5rem 0.35rem;
  font-size: 0.6875rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-pipeline-stage__meta .crm-amount-unit {
  font-size: 0.625rem;
}

.crm-pipeline-metric__value .crm-amount-value {
  font-size: inherit;
  font-weight: inherit;
}

.crm-pipeline-stage__body {
  flex: 1;
  overflow-y: auto;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-height: 3.25rem;
  border: 0;
  border-radius: 0;
  background: var(--crm-pipeline-surface-canvas);
  box-shadow: none;
  scrollbar-width: thin;
  scrollbar-color: var(--default-border) transparent;
}

.crm-pipeline-stage__body:has(.crm-pipeline-card) .crm-pipeline-stage__empty {
  display: none;
}

.crm-pipeline-stage__body.sortable-drag-active,
.crm-pipeline-board.is-pipeline-dragging .crm-pipeline-stage.crm-pipeline-stage--drag-over .crm-pipeline-stage__body {
  background: color-mix(
    in srgb,
    rgb(var(--primary-rgb, 132, 90, 223)) 6%,
    var(--crm-pipeline-surface)
  );
}

.crm-pipeline-board.is-pipeline-dragging .crm-pipeline-stage.crm-pipeline-stage--drag-over {
  border-color: rgba(var(--primary-rgb, 132, 90, 223), 0.4);
  box-shadow:
    0 0 0 2px rgba(var(--primary-rgb, 132, 90, 223), 0.14),
    var(--crm-pipeline-shadow-col);
}

.crm-pipeline-board.is-pipeline-dragging .crm-pipeline-stage__head {
  pointer-events: none;
}

.crm-pipeline-board.is-pipeline-dragging .crm-pipeline-stage__body {
  display: flex !important;
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: var(--crm-pipeline-stage-head-height) 0 0 0;
  margin: 0;
  min-height: 100%;
  box-sizing: border-box;
}

.crm-pipeline-board.is-pipeline-dragging .crm-pipeline-stage__head {
  position: relative;
  z-index: 2;
}

.crm-pipeline-stage__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  flex: 1;
  min-height: 8.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-muted);
  text-align: center;
  padding: 1.75rem 1rem;
  margin: 0;
  background: var(--crm-pipeline-surface);
  border: 0;
  border-top: 1px dashed var(--crm-pipeline-border);
  border-radius: 0;
  order: 999;
}

.crm-pipeline-stage__empty i {
  font-size: 2.15rem;
  opacity: 0.35;
  color: var(--text-muted);
  font-weight: 400;
}

.crm-pipeline-stage__create,
.crm-pipeline-stage__quick-add {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 2.65rem;
  padding: 0.6rem 0.85rem;
  border: 1px dashed var(--crm-pipeline-border);
  border-radius: var(--crm-pipeline-card-radius);
  background: var(--crm-pipeline-surface);
  color: var(--default-text-color);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  transition:
    border-color 0.15s ease,
    background-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.15s ease;
}

.crm-pipeline-stage__create {
  order: 1000;
  margin: 0;
}

.crm-pipeline-stage__quick-add {
  order: -1;
  margin: 0;
}

.crm-pipeline-stage__body > .crm-pipeline-stage__create,
.crm-pipeline-stage__body > .crm-pipeline-stage__quick-add {
  border-radius: 0;
  border-left: 0;
  border-right: 0;
  box-shadow: none;
}

.crm-pipeline-stage__create:hover,
.crm-pipeline-stage__create:focus-visible,
.crm-pipeline-stage__quick-add:hover,
.crm-pipeline-stage__quick-add:focus-visible {
  border-color: var(--crm-pipeline-stage-accent, #64748b);
  background: var(--crm-pipeline-surface, #fff);
  color: var(--default-text-color, #111827);
  box-shadow: none;
}

.crm-pipeline-stage__create i {
  font-size: 1.25rem;
  line-height: 1;
}

.crm-pipeline-card {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-self: stretch;
  flex-shrink: 0;
  margin: 0;
  background: var(--crm-pipeline-surface);
  border: 1px solid var(--crm-pipeline-border-soft);
  border-radius: var(--crm-pipeline-card-radius);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.15s ease;
  cursor: grab;
  touch-action: none;
}

.crm-pipeline-stage__body > .crm-pipeline-card {
  border-radius: 0;
  margin-block: 10px;
  margin-inline: 0;
  box-shadow: none;
  border: 0;
  border-bottom: 1px solid var(--crm-pipeline-border-soft);
  border-inline-end: 0;
  border-right: 0;
}

.crm-pipeline-stage__body > .crm-pipeline-card:last-child {
  border-bottom-width: 0;
}

.crm-pipeline-card__accent {
  width: 4px;
  flex-shrink: 0;
  margin: 0;
  align-self: stretch;
  background: var(--crm-pipeline-stage-accent, #5b9bd5);
  border-radius: var(--crm-pipeline-card-radius) 0 0 var(--crm-pipeline-card-radius);
}

.crm-pipeline-stage__body .crm-pipeline-card__accent {
  border-radius: 0;
}

.crm-pipeline-stage .crm-pipeline-card__accent {
  background: var(--crm-pipeline-stage-accent);
}

.crm-pipeline-card__inner {
  flex: 1;
  width: 100%;
  min-width: 0;
  padding: 0.7rem 0.85rem 0.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  box-sizing: border-box;
}

.crm-pipeline-card--compact {
  padding: 0.45rem 0.55rem;
  align-items: center;
  gap: 0.35rem;
}

.crm-pipeline-card--compact .crm-pipeline-card__accent {
  align-self: stretch;
}

.crm-pipeline-card:hover {
  background: var(--crm-pipeline-surface);
  border-color: color-mix(in srgb, var(--crm-pipeline-stage-accent, #64748b) 32%, var(--crm-pipeline-border-soft));
  box-shadow: var(--crm-pipeline-shadow-card-hover);
  transform: translateY(-1px);
}

.crm-pipeline-stage__body > .crm-pipeline-card:hover,
.crm-pipeline-stage__body > .crm-pipeline-card.crm-pipeline-card--chosen {
  transform: none;
  box-shadow: none;
  border: 0;
  border-bottom: 1px solid var(--crm-pipeline-border-soft);
  border-inline-end: 0;
  border-right: 0;
  background: color-mix(
    in srgb,
    var(--crm-pipeline-stage-accent, #64748b) 5%,
    var(--crm-pipeline-surface)
  );
}

.crm-pipeline-card--ghost {
  opacity: 0.55;
  box-shadow: none;
  transform: none;
}

.crm-pipeline-card--chosen {
  background: var(--crm-pipeline-surface);
  border-color: color-mix(in srgb, var(--crm-pipeline-stage-accent, #64748b) 45%, var(--crm-pipeline-border-soft));
  box-shadow: var(--crm-pipeline-shadow-card-hover);
  transform: none;
}

.crm-pipeline-card--chosen,
.crm-pipeline-card--drag {
  cursor: grabbing;
}

.crm-pipeline-card__row,
.crm-pipeline-card__top {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  width: 100%;
}

.crm-pipeline-card__text {
  flex: 1;
  min-width: 0;
}

.crm-pipeline-card__title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--default-text-color, #111827);
  line-height: 1.45;
  cursor: pointer;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.crm-pipeline-card__subtitle {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.crm-pipeline-card__subtitle.is-priority-high {
  color: var(--primary-color);
}

.crm-pipeline-card__subtitle.is-priority-low {
  color: var(--text-muted);
  opacity: 0.85;
}

.crm-pipeline-card__subtitle.is-priority-normal {
  color: var(--text-muted);
}

.crm-pipeline-card__subtitle.is-stagnant {
  color: var(--bs-warning, #ffc107);
  font-weight: 600;
}

.crm-pipeline-card__expand {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0;
  margin: 0.1rem 0 0;
  border: 0;
  background: transparent;
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}

.crm-pipeline-card__expand:hover {
  color: var(--crm-pipeline-stage-accent, var(--primary-color));
}

.crm-pipeline-card__actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  margin: 0.15rem 0 0;
  padding: 0;
  border: 0;
}

.crm-pipeline-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  min-width: 1.25rem;
  min-height: 1.25rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--default-text-color, #323130);
  text-decoration: none;
  font-size: 1rem;
  cursor: pointer;
  box-shadow: none;
}

.crm-pipeline-card__action.is-disabled {
  opacity: 0.38;
  cursor: default;
}

.crm-pipeline-card__action:hover:not(.is-disabled) {
  color: var(--crm-pipeline-stage-accent, #0078d4);
  background: transparent;
}

.crm-pipeline-card__title:hover {
  color: rgb(var(--primary-rgb));
}

.crm-pipeline-card__title:focus-visible {
  outline: 2px solid rgba(var(--primary-rgb, 132, 90, 223), 0.45);
  outline-offset: 2px;
  border-radius: 0.2rem;
}

.crm-pipeline-card__menu {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  margin-top: -0.1rem;
}

.crm-pipeline-card__menu-btn {
  width: 1.65rem;
  height: 1.65rem;
  padding: 0;
  line-height: 1;
  border: 0;
  background: transparent;
  color: var(--bs-secondary-color, #6c757d);
  opacity: 0.55;
  border-radius: 0.35rem;
}

.crm-pipeline-card:hover .crm-pipeline-card__menu-btn,
.crm-pipeline-card__menu-btn:focus-visible,
.crm-pipeline-card__menu.show .crm-pipeline-card__menu-btn {
  opacity: 1;
  background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.04));
}

.crm-pipeline-card__dropdown {
  z-index: 1085;
}

.crm-pipeline-card:has(.dropdown.show) {
  position: relative;
  z-index: 30;
}

.crm-pipeline-stage:has(.dropdown.show) {
  position: relative;
  z-index: 25;
}

.crm-pipeline-card__meta {
  font-size: 0.6875rem;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.crm-pipeline-card__meta-sep {
  margin-inline: 0.2rem;
  opacity: 0.65;
}

.crm-pipeline-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin-top: 0.35rem;
  padding-top: 0.35rem;
  border-top: 1px dashed var(--bs-border-color, rgba(0, 0, 0, 0.08));
}

.crm-pipeline-card__amount {
  font-size: 0.75rem;
  font-weight: 600;
}

.crm-pipeline-card__amount .crm-amount-value {
  font-size: inherit;
  font-weight: inherit;
}

.crm-pipeline-card__amount .crm-amount-unit {
  font-size: 0.625rem;
  font-weight: 500;
}

.crm-pipeline-card__foot-end {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

.crm-pipeline-card__date {
  font-size: 0.625rem;
  color: var(--bs-secondary-color, #6c757d);
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
}

.crm-pipeline-card__date.is-overdue {
  color: var(--bs-danger, #dc3545);
  font-weight: 600;
}

.crm-pipeline-card__avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 700;
  flex-shrink: 0;
  color: #fff;
  background: hsl(var(--crm-pipeline-avatar-hue, 220) 52% 46%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
  letter-spacing: 0.02em;
}

.crm-pipeline-move-form {
  margin: 0;
}

.crm-pipeline-move-form .dropdown-item {
  width: 100%;
  text-align: inherit;
  border: 0;
  background: transparent;
}

@media (max-width: 991.98px) {
  .crm-pipeline-metrics {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .crm-pipeline-shell__top {
    padding: 0.75rem;
  }

  .crm-pipeline-board-wrap {
    flex-direction: column;
    overflow-x: visible;
    scroll-snap-type: none;
  }

  .crm-pipeline-stage {
    flex: 1 1 auto;
    max-height: none;
    min-height: 0;
    width: 100%;
  }

  .crm-pipeline-stage__flow.is-next {
    width: 100%;
    height: calc(var(--crm-pipeline-flow-height) + var(--crm-flow-point));
    margin-left: 0;
    margin-bottom: calc(var(--crm-flow-point) * -1);
    padding-left: 0.85rem;
    padding-bottom: var(--crm-flow-point);
    clip-path: polygon(
      0 0,
      100% 0,
      100% var(--crm-pipeline-flow-height),
      50% 100%,
      0 var(--crm-pipeline-flow-height)
    );
  }

  .crm-pipeline-stage:has(.crm-pipeline-stage__flow.is-prev) {
    border-right-color: var(--crm-pipeline-border-soft);
  }

  .crm-pipeline-stage__flow.is-prev {
    padding-right: 0.85rem;
    padding-top: var(--crm-flow-chevron);
    clip-path: polygon(
      0 0,
      50% var(--crm-flow-chevron),
      100% 0,
      100% 100%,
      0 100%
    );
  }

  .crm-pipeline-stage__flow.is-next.is-prev {
    padding: var(--crm-flow-chevron) 0.85rem var(--crm-flow-point);
    clip-path: polygon(
      0 0,
      50% var(--crm-flow-chevron),
      100% 0,
      100% var(--crm-pipeline-flow-height),
      50% 100%,
      0 var(--crm-pipeline-flow-height)
    );
  }

  .crm-pipeline-stage__lane-menu,
  .crm-pipeline-stage__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .crm-pipeline-stage.is-collapsed .crm-pipeline-stage__body {
    display: none;
  }

  .crm-pipeline-stage.is-collapsed .crm-pipeline-stage__head {
    border-bottom: 0;
  }

  .crm-pipeline-stage__body {
    max-height: none;
    overflow-y: visible;
  }

  .crm-pipeline-card__menu-btn {
    opacity: 1;
  }
}

/* Legacy aliases (crm-app.css) */
.pipeline-column {
  background-color: rgba(var(--light-rgb), 1);
  border: 1px solid var(--default-border);
  border-radius: 0.3rem;
  min-height: 12rem;
}

.pipeline-card {
  margin-block-end: 0.75rem !important;
}

/* Doublemenu second panel: full height like simplebar wrapper */
@media (min-width: 992px) {
  [data-vertical-style=doublemenu] .app-sidebar .slide.has-sub > ul.slide-menu {
    height: 100% !important;
    inset-block-end: 0 !important;
  }
}

/* Brand logo (transparent CRM mark) */
.crm-brand-mark {
  height: 2.15rem !important;
  width: auto !important;
  max-width: 2.75rem;
  object-fit: contain;
}

.app-sidebar .header-logo .crm-brand-mark {
  height: 2.4rem !important;
  max-width: 3rem;
}

.crm-login-mobile-logo {
  height: 3rem;
  width: auto;
  max-width: 3.5rem;
  object-fit: contain;
}

.crm-login-cover .authentication-cover-logo .crm-brand-mark {
  height: 2.75rem !important;
  max-width: 3.25rem;
}

/* Login page */
.crm-login-page {
  min-height: 100vh;
}

.crm-login-cover {
  position: relative;
  align-items: flex-end !important;
  justify-content: stretch !important;
}

.crm-login-cover .authentication-cover-background {
  opacity: 1 !important;
  z-index: 0 !important;
}

.crm-login-cover .authentication-cover-background img {
  object-position: center 35%;
}

.crm-login-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to top,
    rgba(15, 23, 42, 0.82) 0%,
    rgba(15, 23, 42, 0.42) 45%,
    rgba(15, 23, 42, 0.12) 100%
  );
  pointer-events: none;
}

.crm-login-cover .authentication-cover-logo {
  position: relative;
  z-index: 2;
}

.crm-login-cover-content {
  position: relative;
  z-index: 2;
  width: 100%;
}

.crm-login-cover-text {
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.7;
  max-width: 28rem;
}

#loginCoverTitle.is-typing::after,
#loginCoverSubtitle.is-typing::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 1em;
  margin-inline-start: 2px;
  vertical-align: text-bottom;
  background: rgba(255, 255, 255, 0.95);
  animation: crm-login-caret 0.8s steps(1) infinite;
}

@keyframes crm-login-caret {
  50% { opacity: 0; }
}

/* Mobile / tablet: image hero on top, form sheet below */
@media (max-width: 1199.98px) {
  .crm-login-page {
    display: flex;
    flex-direction: column;
  }

  .crm-login-cover {
    min-height: 0;
    height: clamp(200px, 38vh, 280px);
  }

  .crm-login-cover-content .p-4 {
    padding-bottom: 2rem !important;
  }

  .crm-login-cover-title {
    font-size: 1.15rem;
  }

  #loginCoverTitle {
    min-height: 1.6rem;
    margin-bottom: 0.35rem;
  }

  .crm-login-cover-text {
    font-size: 0.875rem;
    line-height: 1.6;
    min-height: 2.6rem;
    max-width: none;
  }

  .crm-login-form-col {
    position: relative;
    z-index: 3;
    margin-top: -1.25rem;
    flex: 1 1 auto;
    background: var(--custom-white, #fff);
  }

  .crm-login-form-card {
    border-radius: 1.25rem 1.25rem 0 0 !important;
    box-shadow: 0 -10px 28px rgba(15, 23, 42, 0.1) !important;
    margin-bottom: 0 !important;
    background: var(--custom-white, #fff);
  }
}

@media (min-width: 1200px) {
  .crm-login-cover {
    min-height: 100vh;
  }

  .crm-login-cover .authentication-cover-background img {
    object-position: center center;
  }

  #loginCoverTitle {
    min-height: 2.6rem;
  }

  .crm-login-cover-text {
    min-height: 3.2rem;
  }
}

/* Platform users KPI — equal height + online filter */
#platform-users-kpi > [class*="col"] {
  display: flex;
}

#platform-users-kpi .crm-kpi-card {
  width: 100%;
  display: flex;
  flex-direction: column;
}

#platform-users-kpi .crm-kpi-card .card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

#platform-users-kpi .crm-kpi-card .card-body > .d-flex {
  flex: 1 1 auto;
}

#platform-users-kpi .crm-kpi-online-slot {
  min-height: 1.4rem;
  display: flex;
  align-items: center;
}

.crm-kpi-online {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  color: var(--bs-body-color, inherit);
  line-height: 1.4;
}

.crm-kpi-online:hover {
  color: var(--primary-color, var(--bs-primary));
}

.crm-kpi-card.is-kpi-active {
  outline: 2px solid var(--primary-color, var(--bs-primary));
  outline-offset: 1px;
}

/* Platform user create/edit form */
.crm-form-section-title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color, #6c757d);
  letter-spacing: 0.01em;
  padding-bottom: 0.4rem;
  border-bottom: 1px dashed var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.12)));
  margin-bottom: 0.25rem;
}

.crm-form-section-title i {
  font-size: 1rem;
  opacity: 0.85;
}

.crm-form-option-panel {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  border: 1px solid var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.12)));
  border-radius: 0;
  padding: 1rem 1.15rem;
  /* Match card-body inset (~1.25rem) on top/bottom; sides already come from card-body padding */
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  background: var(--crm-form-panel-muted-bg, var(--bs-tertiary-bg, rgba(0, 0, 0, 0.02)));
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.crm-form-option-panel.is-on {
  border-color: var(--crm-form-option-on-border, rgba(255, 193, 7, 0.55));
  background: var(--crm-form-option-on-bg, rgba(255, 193, 7, 0.08));
}

/* Let Bootstrap/Vyzor .form-switch layout stand — do not flex/zero padding here */
.crm-form-option-panel > .form-check.form-switch {
  margin-bottom: 0;
}

.crm-form-option-panel .d-flex .form-check.form-switch .form-check-input {
  float: none;
  margin-inline: 0;
}

/* Keep space under the last option panel so it does not stick to the card footer */
.crm-user-form .card-body {
  padding-bottom: 1.25rem;
}

.crm-user-form .card-body > .row:last-child {
  margin-bottom: 0;
  padding-bottom: 0.25rem;
}

.crm-user-form .input-group-text {
  min-width: 2.75rem;
  justify-content: center;
}

.crm-user-form .form-label {
  font-weight: 500;
}

.crm-user-form .card-footer {
  background: transparent;
}

/* Keep form cards clear of the page bottom (same as theme card margin) */
form.crm-user-form > .card.custom-card,
.card.custom-card.crm-user-form {
  margin-block-end: 1.5rem;
}

/* Tenant CRM sales create/edit forms */
.crm-sales-form .crm-sales-form-errors {
  margin-bottom: 1rem;
}

/* Contact form — راه‌های ارتباطی */
.crm-contact-comm {
  border: 1px solid var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  background: var(--crm-form-panel-bg, var(--custom-white, #fff));
  padding: 0.9rem 1rem 1.05rem;
}

.crm-contact-comm__label {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--default-text-color, var(--bs-body-color, inherit));
}

.crm-contact-comm__req {
  margin-inline-start: 0.1rem;
}

.crm-contact-comm__hint {
  margin-top: 0.2rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-contact-comm__phones-head {
  margin-bottom: 0.7rem;
}

.crm-contact-comm__phones-title {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}

.crm-contact-comm__phones-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  min-height: 0;
}

.crm-contact-comm__list-error {
  font-size: 0.8125rem;
}

.crm-contact-comm__divider {
  height: 1px;
  margin: 1rem 0;
  background: var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
}

.crm-contact-comm__email-input {
  max-width: none;
}

.crm-contact-phone-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.crm-contact-phone-row {
  min-width: 0;
}

.crm-contact-phone-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  min-width: 2.5rem;
  padding: 0;
  color: var(--bs-secondary-color, #6c757d);
  box-shadow: none;
}

.crm-contact-phone-input-group .crm-contact-phone-remove {
  border-inline-start: 0;
}

.crm-contact-phone-remove:hover:not(:disabled),
.crm-contact-phone-remove:focus-visible:not(:disabled) {
  color: var(--bs-danger, #dc3545);
  background: rgba(var(--danger-rgb, 220, 53, 69), 0.08);
}

.crm-contact-phone-remove:disabled {
  opacity: 0.35;
}

.crm-contact-phone-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  min-height: 2.5rem;
  margin-top: 0.5rem;
  padding: 0.4rem 0.75rem;
  border: 1px dashed rgba(var(--primary-rgb, 132, 90, 223), 0.4);
  background: transparent;
  color: var(--primary-color, var(--bs-primary));
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
}

.crm-contact-phone-add i {
  font-size: 1.1rem;
  line-height: 1;
}

.crm-contact-phone-add:hover,
.crm-contact-phone-add:focus-visible {
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.08);
  border-style: solid;
}

.crm-contact-phone-add.disabled,
.crm-contact-phone-add:disabled {
  opacity: 0.45;
  pointer-events: none;
}

.crm-contact-phone-input-group {
  width: 100%;
  flex-wrap: nowrap;
}

.crm-contact-phone-row.is-invalid .crm-contact-phone-input-group .form-control,
.crm-contact-phone-row.is-invalid .crm-contact-phone-icon-wrap,
.crm-contact-phone-row.is-invalid .crm-contact-phone-remove {
  border-color: rgba(var(--danger-rgb, 220, 53, 69), 0.55);
}

.crm-contact-phone-number-col {
  min-width: 0;
}

.crm-contact-phone-number-col .crm-contact-phone-number {
  width: 100%;
  text-align: right;
}

.crm-contact-phone-hint {
  margin: 0.25rem 0 0;
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--bs-danger, #dc3545);
}

.crm-contact-phone-field-error {
  display: block;
  font-size: 0.75rem;
  margin-top: 0.2rem;
}

.crm-contact-phone-icon-wrap {
  position: relative;
  min-width: 2.5rem;
  color: var(--primary-color, var(--bs-primary));
}

.crm-contact-phone-warn {
  position: absolute;
  top: 0.15rem;
  inset-inline-end: 0.15rem;
  font-size: 0.7rem;
  line-height: 1;
  color: var(--bs-danger, #dc3545);
  pointer-events: none;
}

.crm-contact-phone-icon-wrap.is-mobile-invalid {
  color: var(--bs-danger, #dc3545);
}

@media (max-width: 767.98px) {
  .crm-contact-phone-remove,
  .crm-contact-phone-add {
    min-height: 2.5rem;
  }

  .crm-contact-comm__email-input {
    max-width: none;
  }
}

@media (max-width: 767.98px) {
  .crm-form-page .crm-contact-form .form-control,
  .crm-form-page .crm-contact-form .form-select,
  .crm-form-page .crm-contact-form .input-group-text {
    min-height: calc(1.5em + 1rem + 2px);
    font-size: 0.875rem;
  }

  .crm-form-page .crm-contact-form .crm-sales-form-footer .btn {
    min-height: 2.5rem;
  }
}

.crm-sales-form-layout {
  align-items: flex-start;
}

:is(.crm-contact-form, .crm-opportunity-form) .crm-form-section-panel {
  border: 1px solid var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  border-radius: 0;
  padding: 0.75rem 1.35rem;
  background: var(--crm-form-panel-bg, var(--custom-white, #fff));
  box-shadow: none;
}

:is(.crm-contact-form, .crm-opportunity-form) .crm-form-section-head {
  margin-bottom: 0.65rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
}

.crm-opportunity-form--edit-layout .crm-form-section-head.crm-opportunity-edit__col-head {
  margin-bottom: 0.2rem;
  padding-bottom: 0.28rem;
}

:is(.crm-contact-form, .crm-opportunity-form) .crm-form-section-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--default-text-color, var(--bs-body-color, inherit));
}

:is(.crm-contact-form, .crm-opportunity-form) .crm-form-section-gap {
  margin-top: 0;
}

:is(.crm-contact-form, .crm-opportunity-form) .crm-form-aside {
  margin-top: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  height: auto;
}

:is(.crm-contact-form, .crm-opportunity-form) .crm-form-aside > .row {
  --bs-gutter-y: 1rem;
  margin: 0;
}

:is(.crm-contact-form, .crm-opportunity-form) .crm-form-aside .crm-form-section-panel {
  margin-bottom: 0;
  border: 1px solid var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  padding: 0.75rem 1.35rem;
  background: var(--crm-form-panel-bg, var(--custom-white, #fff));
  box-shadow: none;
}

:is(.crm-contact-form, .crm-opportunity-form) .crm-form-aside .crm-form-section-head {
  margin-bottom: 0.65rem;
  border-bottom-color: var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
}

@media (min-width: 1200px) {
  :is(.crm-contact-form, .crm-opportunity-form) .crm-sales-form-layout > .col-xl-4 {
    padding-top: 0;
  }

  :is(.crm-contact-form, .crm-opportunity-form) .crm-form-aside {
    position: sticky;
    top: 0.75rem;
  }
}

@media (max-width: 1199.98px) {
  .crm-contact-form .crm-form-aside,
  .crm-opportunity-form .crm-form-aside {
    margin-top: 0.75rem;
    padding-top: 0;
    border-top: 0;
  }

  .crm-opportunity-form .crm-form-aside .crm-form-section-first {
    margin-top: 0;
  }
}

/* Flat form surface (no wrapping card); actions live on the page command bar */
.crm-sales-form-surface {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0 0 1rem;
}

/* Dynamics flat section shells only — controls keep Vyzor border-radius (styles.css .form-control / .choices__inner) */
.crm-form-page .crm-form-section-panel,
.crm-form-page .crm-form-option-panel,
.crm-form-page .crm-sales-form-card,
.crm-form-page .crm-lead-convert-party-card,
.crm-form-page .table-responsive.border.rounded,
.crm-user-form .crm-form-option-panel,
.crm-user-form .table-responsive.border.rounded,
.crm-contact-comm,
:is(.crm-contact-form, .crm-opportunity-form) .crm-form-section-panel {
  border-radius: 0 !important;
}

.crm-sales-form-card {
  overflow: visible;
}

.crm-sales-form-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem 1.05rem;
  background: transparent;
  border-bottom: 1px solid var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
}

.crm-sales-form-subtitle {
  margin-top: 0.35rem;
  font-size: 0.8125rem;
  color: var(--text-muted, var(--bs-secondary-color, #6c757d));
  line-height: 1.45;
}

.crm-sales-form-header-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.65rem;
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.12);
  color: var(--primary-color, var(--bs-primary));
  font-size: 1.25rem;
}

.crm-sales-form-body {
  padding-top: 1.35rem;
  padding-bottom: 1.35rem;
}

.crm-form-section-gap {
  margin-top: 0;
}

.crm-form-section-first {
  margin-top: 0;
}

.crm-sales-form-main-only > .col-12.crm-form-section-first,
.crm-sales-form-main-only > .col-12.crm-form-section-gap,
.crm-sales-form-layout > .col-xl-8 > .row > .col-12.crm-form-section-first,
.crm-sales-form-layout > .col-xl-8 > .row > .col-12.crm-form-section-gap {
  margin-bottom: 0;
}

.crm-sales-form-main-only,
.crm-sales-form-layout > .col-xl-8 > .row {
  row-gap: 1rem;
}

.page:has(.crm-form-page) .crm-sales-form-main-only,
.page:has(.crm-form-page) .crm-sales-form-layout > .col-xl-8 > .row {
  row-gap: 10px;
}

.crm-sales-form-body {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.crm-lead-form .crm-form-section-panel {
  margin-bottom: 0;
}

.crm-lead-form .crm-sales-form-main-only {
  margin: 0;
}

.crm-form-section-panel {
  border: 1px solid var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  border-radius: 0;
  padding: 0.75rem 1.35rem;
  background: var(--crm-form-panel-bg, var(--custom-white));
  box-shadow: var(--crm-form-section-shadow, 0 1px 2px rgba(15, 23, 42, 0.04));
}

.crm-form-section-head {
  margin-bottom: 0.65rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
}

.crm-form-section-panel .crm-form-section-title {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bs-body-color, inherit);
  gap: 0.45rem;
}

.crm-form-section-hint {
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: var(--bs-secondary-color, #6c757d);
  line-height: 1.45;
}

.crm-form-aside {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  height: 100%;
}

.crm-form-aside > .row {
  --bs-gutter-y: 1rem;
}

.crm-form-aside .crm-form-section-panel {
  /* each aside section is its own box (same as main sections) */
  background: var(--crm-form-panel-bg, var(--custom-white, #fff));
  border: 1px solid var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  box-shadow: none;
  padding: 0.75rem 1.35rem;
}

.crm-form-aside .crm-form-section-head {
  border-bottom-color: var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
}

.crm-sales-form-layout--single {
  margin: 0;
}

.crm-form-req {
  font-weight: 600;
  margin-inline-start: 0.15rem;
}

.crm-modal-form .modal-body.crm-sales-form-body {
  padding-top: 1.25rem;
}

.crm-modal-form .crm-activity-modal-field .form-label {
  margin-bottom: 0.5rem;
}

.crm-modal-form .crm-jalali-field .form-control.jalali-datepicker-time {
  width: 100%;
}

.crm-modal-form .crm-direction-toggle--field {
  max-width: none;
  width: 100%;
  min-height: calc(1.5em + 1rem + 2px);
}

.crm-modal-form .crm-direction-toggle--field .crm-direction-toggle__btn {
  padding-block: 0.5rem;
}

.crm-modal-form .crm-jalali-field .flatpickr-wrapper {
  width: 100%;
}

.crm-modal-form .crm-jalali-field .flatpickr-calendar.static.open {
  margin-top: 0.35rem;
}

#activityFormModal .modal-body.crm-sales-form-body {
  overflow: visible;
}

#activityFormModal .crm-jalali-field--dropup {
  position: relative;
}

#activityFormModal .crm-jalali-field--dropup .flatpickr-wrapper {
  position: relative;
}

#activityFormModal .crm-jalali-field--dropup .flatpickr-calendar.static,
#activityFormModal .crm-jalali-field--dropup .flatpickr-calendar.static.open {
  top: auto;
  bottom: calc(100% + 0.4rem);
  margin-top: 0;
  z-index: 20060;
}

.crm-activity-modal-header {
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0.5rem 0.75rem;
}

.crm-activity-modal-header__main {
  flex: 1 1 auto;
  min-width: 0;
}

.crm-activity-modal-header__actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  order: 2;
}

.crm-activity-modal-header .btn-close {
  order: 3;
  margin: 0;
}

.crm-activity-modal-header__actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
}

.crm-page-command-bar--embedded {
  position: relative;
  height: auto;
  min-height: var(--crm-command-bar-height, 2.75rem);
  margin: 0;
  padding: 0 0.85rem;
  border-bottom: 1px solid var(--header-border-color, var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.1))));
  background: var(--header-bg, var(--custom-white, #fff));
}

.crm-page-command-bar--embedded .crm-page-command-bar__inner {
  min-height: var(--crm-command-bar-height, 2.75rem);
}

.crm-page-command-bar--embedded .crm-page-command-bar__actions {
  width: 100%;
  justify-content: flex-start;
}

#activityFormModal .crm-activity-form-toolbar {
  flex-shrink: 0;
  --crm-command-bar-hover-bg: var(--list-hover-focus-bg, #edebe9);
}

#activityFormModal .crm-activity-form-toolbar.crm-page-command-bar--embedded {
  border-bottom-color: var(--header-border-color, var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.1))));
}

#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn.btn {
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: var(--crm-command-bar-hover-bg);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-bg: var(--crm-command-bar-hover-bg);
  --bs-btn-active-border-color: transparent;
  --bs-btn-color: var(--default-text-color, #323130);
  --bs-btn-hover-color: var(--default-text-color, #323130);
  --bs-btn-active-color: var(--default-text-color, #323130);
  --bs-btn-disabled-color: var(--text-muted, var(--bs-secondary-color, #6c757d));
  --bs-btn-disabled-bg: transparent;
  --bs-btn-box-shadow: none;
  --bs-btn-focus-box-shadow: none;
  background: transparent;
  border: 0;
  box-shadow: none;
}

#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn.btn:hover,
#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn.btn:focus-visible,
#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn.btn:active {
  background: var(--crm-command-bar-hover-bg);
  color: var(--default-text-color, #323130);
  border: 0;
  box-shadow: none;
}

#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--success.btn {
  --bs-btn-color: rgb(var(--success-rgb, 25, 135, 84));
  --bs-btn-hover-color: rgb(var(--success-rgb, 25, 135, 84));
  --bs-btn-active-color: rgb(var(--success-rgb, 25, 135, 84));
  color: rgb(var(--success-rgb, 25, 135, 84));
}

#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--success.btn:hover,
#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--success.btn:focus-visible {
  background: color-mix(in srgb, rgb(var(--success-rgb, 25, 135, 84)) 20%, transparent);
  color: rgb(var(--success-rgb, 25, 135, 84));
}

#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--danger.btn {
  --bs-btn-color: rgb(var(--danger-rgb, 220, 53, 69));
  --bs-btn-hover-color: rgb(var(--danger-rgb, 220, 53, 69));
  --bs-btn-active-color: rgb(var(--danger-rgb, 220, 53, 69));
  color: rgb(var(--danger-rgb, 220, 53, 69));
}

#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--danger.btn:hover,
#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--danger.btn:focus-visible {
  background: color-mix(in srgb, rgb(var(--danger-rgb, 220, 53, 69)) 16%, transparent);
  color: rgb(var(--danger-rgb, 220, 53, 69));
}

#activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__list-divider {
  background: var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.12)));
}

#confirmDeleteModal.modal.show {
  z-index: 1096;
}

.crm-activity-form-toolbar__readonly {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.65rem;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--bs-warning-text-emphasis, #664d03);
}

.crm-activity-form-toolbar__reopen {
  font-size: inherit;
  font-weight: 600;
  text-decoration: underline;
  color: var(--bs-warning-text-emphasis, #664d03);
}

.crm-activity-form-toolbar__reopen:hover,
.crm-activity-form-toolbar__reopen:focus {
  color: var(--bs-warning-text-emphasis, #664d03);
}

.crm-sales-form-surface > .crm-activity-form-toolbar {
  margin-bottom: 0.75rem;
  border-radius: 0.25rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
}

.crm-activity-modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  width: 100%;
}

.crm-activity-modal-footer__assign {
  min-width: 10rem;
  max-width: 14rem;
  flex: 1 1 auto;
}

.crm-activity-modal-footer__assign .form-select {
  min-width: 9rem;
}

.crm-activity-modal-footer__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  width: 100%;
  margin-inline-start: 0;
}

.crm-activity-modal-footer__commit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-inline-start: auto;
}

.crm-activity-modal-footer--readonly {
  align-items: center;
  padding-block: 0.55rem;
  color: var(--bs-warning-text-emphasis, #664d03);
  background: var(--bs-warning-bg-subtle, #fff3cd);
  border-top: 1px solid var(--bs-warning-border-subtle, #ffe69c);
}

.crm-activity-modal-footer__actions--readonly {
  direction: ltr;
  align-items: center;
  gap: 0.75rem 1rem;
  font-size: 0.8125rem;
  line-height: 1.35;
}

.crm-activity-modal-footer__readonly-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex: 0 0 auto;
  font-weight: 700;
  white-space: nowrap;
  direction: rtl;
}

.crm-activity-modal-footer__readonly-message {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.35rem 0.5rem;
  flex: 1 1 auto;
  min-width: 0;
  margin-inline-start: auto;
  font-weight: 500;
  direction: rtl;
  text-align: right;
}

.crm-activity-modal-footer__reopen {
  font-size: inherit;
  font-weight: 600;
  text-decoration: underline;
  color: var(--bs-warning-text-emphasis, #664d03);
}

.crm-activity-modal-footer__reopen:hover,
.crm-activity-modal-footer__reopen:focus {
  color: var(--bs-warning-text-emphasis, #664d03);
}

.crm-activity-modal-footer--readonly .crm-activity-modal-footer__dismiss {
  flex: 0 0 auto;
}

.crm-activity-form--readonly .form-control:disabled,
.crm-activity-form--readonly .form-select:disabled,
.crm-activity-form--readonly .crm-direction-toggle__btn:disabled {
  opacity: 1;
  cursor: default;
}

.crm-activity-modal-meta-row {
  padding-top: 0.15rem;
  border-top: 1px solid var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
  margin-top: 0.15rem;
}

/* Activity modal — CRM command bar + widgets; modal/inputs follow vyzorTheme .modal-content / .form-control */
[data-theme-mode="dark"] #activityFormModal .btn-close {
  filter: var(--bs-btn-close-white-filter, invert(1) grayscale(100%) brightness(200%));
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar {
  --crm-command-bar-hover-bg: var(--list-hover-focus-bg);
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar.crm-page-command-bar--embedded,
[data-theme-mode="dark"] #activityFormModal .crm-page-command-bar--embedded {
  background: var(--default-background, var(--custom-white));
  border-bottom-color: var(--default-border);
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn.btn {
  --bs-btn-color: var(--default-text-color);
  --bs-btn-hover-color: var(--default-text-color);
  --bs-btn-active-color: var(--default-text-color);
  color: var(--default-text-color);
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn.btn:hover,
[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn.btn:focus-visible,
[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn.btn:active {
  background: var(--crm-command-bar-hover-bg);
  color: var(--default-text-color);
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--success.btn {
  --bs-btn-color: rgb(var(--success-rgb));
  --bs-btn-hover-color: rgb(var(--success-rgb));
  --bs-btn-active-color: rgb(var(--success-rgb));
  color: rgb(var(--success-rgb));
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--success.btn:hover,
[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--success.btn:focus-visible {
  background: rgba(var(--success-rgb), 0.22);
  color: rgb(var(--success-rgb));
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--danger.btn {
  --bs-btn-color: rgb(var(--danger-rgb));
  --bs-btn-hover-color: rgb(var(--danger-rgb));
  --bs-btn-active-color: rgb(var(--danger-rgb));
  color: rgb(var(--danger-rgb));
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--danger.btn:hover,
[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__btn--danger.btn:focus-visible {
  background: rgba(var(--danger-rgb), 0.2);
  color: rgb(var(--danger-rgb));
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar .crm-page-command-bar__list-divider {
  background: var(--default-border);
}

[data-theme-mode="dark"] #activityFormModal .crm-form-option-panel {
  background: var(--default-background);
  border-color: var(--default-border);
}

[data-theme-mode="dark"] #activityFormModal .crm-form-option-panel.is-on {
  border-color: rgba(var(--warning-rgb), 0.45);
  background: rgba(var(--warning-rgb), 0.1);
}

[data-theme-mode="dark"] #activityFormModal .crm-direction-toggle {
  border-color: var(--input-border, var(--default-border));
  background: var(--form-control-bg);
}

[data-theme-mode="dark"] #activityFormModal .crm-direction-toggle__btn + .crm-direction-toggle__btn {
  border-inline-start-color: var(--default-border);
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar__readonly,
[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar__reopen,
[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar__reopen:hover,
[data-theme-mode="dark"] #activityFormModal .crm-activity-form-toolbar__reopen:focus {
  color: rgba(var(--warning-rgb), 0.95);
}

[data-theme-mode="dark"] #activityFormModal .crm-activity-form--readonly .crm-direction-toggle__btn:disabled:not(.is-active) {
  background: transparent;
  color: var(--default-text-color);
  opacity: 0.65;
}

[data-theme-mode="dark"] #activityFormModal .flatpickr-calendar.static {
  z-index: 20070;
}

.crm-activity-feed__open {
  border: 0;
  background: transparent;
  padding: 0;
  text-align: inherit;
  cursor: pointer;
  color: inherit;
}

.crm-activity-feed__icon.crm-activity-feed__open {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 3rem;
  width: 3rem;
  align-self: stretch;
  min-height: 3.25rem;
  height: auto;
  margin: 0;
  border: 0;
  border-inline-end: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
  border-radius: 0;
  background: var(--custom-white, var(--form-control-bg, #fff));
  color: var(--text-muted, var(--bs-secondary-color, #6c757d));
  font-size: 1.35rem;
}

.crm-activity-feed__title.crm-activity-feed__open {
  font-weight: 600;
  color: var(--bs-body-color);
  line-height: 1.35;
}

.crm-activity-feed__open:hover,
.crm-activity-feed__open:focus-visible {
  opacity: 0.9;
  outline: none;
}

.crm-activity-feed__title.crm-activity-feed__open:hover,
.crm-activity-feed__title.crm-activity-feed__open:focus-visible {
  text-decoration: underline;
}

.crm-modal-form .crm-form-section-panel {
  margin-bottom: 0.25rem;
}

.crm-sales-form .form-text {
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

.crm-sales-form-footer {
  padding-block: 0.85rem 1rem;
  border-top: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
}

.crm-sales-form .validation-summary-valid {
  display: none;
}

.crm-sales-form-footer-hint {
  max-width: 14rem;
  line-height: 1.4;
}

/*
 * App shell — Dynamics-style chrome; form/list surfaces alias Vyzor theme tokens
 * (vyzorTheme/assets/css/styles.css :root + [data-theme-mode=dark]). Do not edit vyzorTheme/.
 */
.crm-shell-dynamics {
  --crm-header-row-height: 4.25rem;
  --crm-command-bar-height: 2.75rem;
  --crm-command-bar-hover-bg: rgba(var(--success-rgb, 25, 135, 84), 0.16);
  --crm-form-surface: var(--custom-white, #fff);
  --crm-form-panel-bg: var(--custom-white, #fff);
  --crm-form-panel-muted-bg: var(--default-background, var(--list-hover-focus-bg, #f5f6f7));
  --crm-form-control-bg: var(--form-control-bg, var(--custom-white, #fff));
  --crm-form-control-disabled-bg: var(--form-control-bg, var(--bs-secondary-bg, #e9ecef));
  --crm-form-border: var(--input-border, var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.12))));
  --crm-form-border-subtle: var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
  /* Aliases for CRM panels; inputs use global Vyzor .form-control / .form-select / .input-group-text */
  --crm-form-section-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  --crm-form-option-on-border: rgba(255, 193, 7, 0.55);
  --crm-form-option-on-bg: rgba(255, 193, 7, 0.08);
}

[data-theme-mode="dark"] .crm-shell-dynamics {
  --crm-command-bar-hover-bg: var(--list-hover-focus-bg);
  --crm-form-section-shadow: none;
  --crm-form-option-on-border: rgba(var(--warning-rgb, 255, 193, 7), 0.45);
  --crm-form-option-on-bg: rgba(var(--warning-rgb, 255, 193, 7), 0.1);
}

/*
 * CRM forms — layout/widgets only. Control colors, radii, focus, disabled: vyzorTheme styles.css.
 */
.crm-shell-dynamics :is(.crm-user-form, .crm-sales-form, .crm-modal-form) .crm-sales-form-footer,
.crm-shell-dynamics :is(.crm-user-form, .crm-sales-form, .crm-modal-form) .card-footer.crm-sales-form-footer {
  border-top-color: var(--crm-form-border-subtle);
}

.crm-shell-dynamics .crm-direction-toggle {
  border-color: var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.12)));
  background: var(--crm-form-panel-muted-bg, var(--bs-tertiary-bg, rgba(0, 0, 0, 0.03)));
}

.crm-shell-dynamics .crm-direction-toggle__btn + .crm-direction-toggle__btn {
  border-inline-start-color: var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.12)));
}

[data-theme-mode="dark"] .crm-shell-dynamics .crm-direction-toggle__btn:not(.is-active) {
  color: var(--default-text-color);
}

[data-theme-mode="dark"] .crm-shell-dynamics .modal-content:has(:is(.crm-user-form, .crm-sales-form, .crm-modal-form)) .crm-page-command-bar--embedded {
  background: var(--crm-form-panel-muted-bg);
  border-bottom-color: var(--crm-form-border);
}

[data-theme-mode="dark"] .crm-shell-dynamics :is(.crm-user-form, .crm-sales-form, .crm-modal-form) tags.tagify {
  --tag-inset-shadow-size: 1px;
  box-shadow: 0 0 0 var(--tag-inset-shadow-size) var(--crm-form-border) inset !important;
}

.crm-shell-dynamics .modal-content:has(:is(.crm-user-form, .crm-sales-form, .crm-modal-form)) .crm-page-command-bar--embedded {
  --crm-command-bar-hover-bg: var(--list-hover-focus-bg, #edebe9);
}

.crm-shell-dynamics .modal-content:has(:is(.crm-user-form, .crm-sales-form, .crm-modal-form)) .crm-page-command-bar__btn.btn {
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: var(--crm-command-bar-hover-bg);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-bg: var(--crm-command-bar-hover-bg);
  --bs-btn-color: var(--default-text-color, #323130);
  --bs-btn-hover-color: var(--default-text-color, #323130);
  --bs-btn-box-shadow: none;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.crm-shell-dynamics .modal-content:has(:is(.crm-user-form, .crm-sales-form, .crm-modal-form)) .crm-page-command-bar__btn.btn:hover,
.crm-shell-dynamics .modal-content:has(:is(.crm-user-form, .crm-sales-form, .crm-modal-form)) .crm-page-command-bar__btn.btn:focus-visible {
  background: var(--crm-command-bar-hover-bg);
  color: var(--default-text-color, #323130);
}

[data-theme-mode="dark"] .crm-shell-dynamics .modal-content:has(:is(.crm-user-form, .crm-sales-form, .crm-modal-form)) .crm-page-command-bar--embedded {
  --crm-command-bar-hover-bg: var(--list-hover-focus-bg, rgba(255, 255, 255, 0.1));
}

[data-theme-mode="dark"] .crm-shell-dynamics .modal-content:has(:is(.crm-user-form, .crm-sales-form, .crm-modal-form)) .crm-page-command-bar__btn.btn {
  --bs-btn-color: var(--default-text-color);
  --bs-btn-hover-color: var(--default-text-color);
  color: var(--default-text-color);
}

/* Cards/modals: vyzorTheme .card.custom-card + .modal-content (light & dark via CSS variables) */

[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-panel__title,
[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-hero__title,
[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-hero__subscription-plan,
[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-account-grid__value {
  color: var(--default-text-color);
}

[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-form .btn-light {
  --bs-btn-bg: var(--crm-form-panel-muted-bg);
  --bs-btn-border-color: var(--crm-form-border);
  --bs-btn-color: var(--default-text-color);
  --bs-btn-hover-bg: var(--list-hover-focus-bg, rgba(255, 255, 255, 0.1));
  --bs-btn-hover-color: var(--default-text-color);
}

[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-email-row--ok .crm-profile-email-row__icon {
  color: rgb(var(--success-rgb, 117, 183, 152));
}

[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-email-row--pending .crm-profile-email-row__icon {
  color: rgba(var(--warning-rgb, 255, 193, 7), 0.95);
}

[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-panel__icon.is-success {
  color: rgb(var(--success-rgb, 117, 183, 152));
}

[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-panel__desc,
[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-form .form-text,
[data-theme-mode="dark"] .crm-shell-dynamics .crm-profile-panel .crm-profile-crm-setting .form-text {
  color: var(--text-muted, var(--bs-secondary-color, #9ca3af));
}

.crm-shell-dynamics .app-header {
  border-bottom: 0;
  box-shadow: none;
}

.crm-shell-dynamics .app-header .main-header-container {
  display: flex;
  align-items: center;
  height: var(--crm-header-row-height);
  min-height: var(--crm-header-row-height);
  max-height: var(--crm-header-row-height);
  box-sizing: border-box;
  border-bottom: 1px solid var(--header-border-color, var(--default-border, #edebe9));
  background: var(--header-bg, var(--custom-white, #fff));
}

.crm-shell-dynamics .app-header .main-header-container .header-content-left,
.crm-shell-dynamics .app-header .main-header-container .header-content-right {
  display: flex;
  align-items: center;
  align-self: stretch;
  height: 100%;
  min-height: 0;
}

.crm-shell-dynamics .app-header .main-header-container .header-content-left {
  flex: 1 1 auto;
  min-width: 0;
}

.crm-shell-dynamics .app-header .main-header-container .header-content-left > .header-element {
  display: flex;
  align-items: center;
  align-self: stretch;
  height: 100%;
}

/* Same height + bottom border level as main header row */
.crm-shell-dynamics .app-sidebar .main-sidebar-header {
  height: var(--crm-header-row-height) !important;
  min-height: var(--crm-header-row-height) !important;
  max-height: var(--crm-header-row-height);
  box-sizing: border-box;
  border-block-end: 1px solid var(--header-border-color, var(--menu-border-color, var(--default-border, #edebe9)));
}

/* Breadcrumb sits in main header (visual right / start in RTL) */
.crm-header-breadcrumb-el {
  display: flex;
  align-items: center;
  align-self: stretch;
  height: 100%;
  max-width: min(42vw, 28rem);
  min-width: 0;
  padding-inline: 0.35rem 0.75rem;
}

.crm-app-header-breadcrumb {
  display: flex;
  align-items: center;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.crm-app-header-breadcrumb .breadcrumb {
  font-size: 1rem;
  --bs-breadcrumb-divider: "›";
  --bs-breadcrumb-margin-bottom: 0;
  align-items: center;
  flex-wrap: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-app-header-breadcrumb .breadcrumb-item {
  max-width: 12rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-app-header-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: var(--text-muted, #a19f9d);
}

.crm-app-header-breadcrumb .breadcrumb-item a {
  color: var(--primary-color, #0078d4);
  text-decoration: none;
}

.crm-app-header-breadcrumb .breadcrumb-item a:hover {
  text-decoration: underline;
}

.crm-app-header-breadcrumb__current {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--default-text-color, #323130);
  line-height: 1.25;
}

.crm-app-header-breadcrumb__solo {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--default-text-color, #323130);
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Header search on visual left (end of header in RTL) */
.crm-shell-dynamics .header-content-right > .header-search {
  margin-inline-end: 0.35rem;
}

.crm-shell-dynamics .header-content-right .header-search-bar {
  min-width: 11rem;
  max-width: 16rem;
}

.crm-shell-dynamics .app-header {
  height: auto;
  min-height: var(--crm-header-row-height);
  background: var(--header-bg, #fff);
}

.crm-page-command-bar {
  background: var(--header-bg, #fff);
  /* no top border — main-header-container already draws the single divider */
  border-top: 0;
  border-bottom: 1px solid var(--header-border-color, var(--default-border, #edebe9));
  padding: 0;
  margin: 0;
  width: 100%;
  height: var(--crm-command-bar-height);
  min-height: var(--crm-command-bar-height);
  box-sizing: border-box;
}

.crm-shell-dynamics .main-content.app-content {
  padding-block-start: var(--crm-header-row-height);
  margin-top: 10px;
}

.crm-shell-dynamics:has(.crm-page-command-bar) .main-content.app-content {
  /* clear fixed header + command bar */
  padding-block-start: calc(var(--crm-header-row-height) + var(--crm-command-bar-height));
  margin-top: 10px;
}

.crm-page-command-bar__inner {
  height: 100%;
  min-height: var(--crm-command-bar-height);
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 0 0.75rem;
  padding: 0 0.75rem 0 1rem;
  box-sizing: border-box;
}

.crm-page-command-bar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  min-height: 0;
}

.crm-page-command-bar__actions > form {
  display: flex;
  align-self: stretch;
  margin: 0;
}

.crm-page-command-bar__list-divider {
  align-self: stretch;
  width: 1px;
  margin-inline: 0.35rem;
  background: var(--bs-border-color, rgba(0, 0, 0, 0.12));
}

.crm-bulk-assign-modal__title-icon {
  font-size: 1.25rem;
  opacity: 0.85;
}

.crm-page-command-bar__btn--assign i {
  font-size: 1.05rem;
}

.crm-page-command-bar__cancel {
  display: flex;
  align-items: stretch;
  margin-inline-start: auto;
  min-height: 0;
}

.crm-page-command-bar__btn--icon {
  min-width: 2.25rem;
  padding-inline: 0.45rem;
  justify-content: center;
}

.crm-page-command-bar__btn--icon i {
  margin: 0;
  font-size: 1.25rem;
}

.crm-action-balloon {
  position: fixed;
  z-index: 1080;
  max-width: min(18rem, calc(100vw - 1.5rem));
  padding: 0.45rem 0.65rem;
  border-radius: 0.25rem;
  background: var(--default-text-color, #323130);
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.45;
  text-align: center;
  pointer-events: none;
  transform: translate(-50%, -100%);
  opacity: 0;
  transition: opacity 0.15s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.crm-action-balloon::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 10px;
  height: 10px;
  background: inherit;
  transform: translateX(-50%) rotate(45deg);
}

.crm-action-balloon.is-visible {
  opacity: 1;
}

.crm-page-command-bar__btn {
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  gap: 0.35rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--default-text-color, #323130);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.25;
  height: 100%;
  min-height: var(--crm-command-bar-height);
  padding: 0 0.65rem;
  box-shadow: none;
  text-decoration: none;
  white-space: nowrap;
  box-sizing: border-box;
}

.crm-page-command-bar .crm-page-command-bar__btn.btn-sm {
  --bs-btn-padding-y: 0;
  --bs-btn-padding-x: 0.65rem;
  --bs-btn-line-height: 1.25;
  --bs-btn-font-size: 0.9375rem;
  --bs-btn-font-weight: 400;
  padding-block: 0;
  border-radius: 0;
  font-size: 0.9375rem;
  font-weight: 400;
}

.crm-page-command-bar__btn i {
  font-size: 1.125rem;
  line-height: 1;
  color: inherit;
}

.crm-page-command-bar__btn:hover,
.crm-page-command-bar__btn:focus-visible {
  background: var(--crm-command-bar-hover-bg, #dff6dd);
  color: var(--default-text-color, #323130);
}

.crm-page-command-bar__btn--primary {
  color: var(--default-text-color, #323130);
  font-weight: 400;
}

.crm-page-command-bar__btn--primary:hover,
.crm-page-command-bar__btn--primary:focus-visible {
  background: var(--crm-command-bar-hover-bg, #dff6dd);
  color: var(--default-text-color, #323130);
}

.crm-page-command-bar__inline-form {
  display: inline-flex;
  align-self: stretch;
  margin: 0;
}

.crm-page-command-bar__btn--success {
  color: var(--bs-success-text-emphasis, #0a3622);
}

.crm-page-command-bar__btn--success:hover,
.crm-page-command-bar__btn--success:focus-visible {
  background: color-mix(in srgb, var(--bs-success, #198754) 18%, var(--crm-command-bar-hover-bg, #dff6dd));
  color: var(--bs-success-text-emphasis, #0a3622);
}

.crm-page-command-bar__btn--danger {
  color: var(--bs-danger-text-emphasis, #58151c);
}

.crm-page-command-bar__btn--danger:hover,
.crm-page-command-bar__btn--danger:focus-visible {
  background: color-mix(in srgb, var(--bs-danger, #dc3545) 14%, var(--crm-command-bar-hover-bg, #dff6dd));
  color: var(--bs-danger-text-emphasis, #58151c);
}

.crm-page-command-bar__search {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 0.15rem;
  margin-inline-start: auto;
  align-self: center;
  min-width: min(100%, 16rem);
  max-width: 22rem;
  flex: 1 1 14rem;
}

.crm-page-view-search {
  position: relative;
  display: flex;
  align-items: center;
}

.crm-page-view-search__icon {
  position: absolute;
  inset-inline-start: 0.55rem;
  color: var(--text-muted, #605e5c);
  font-size: 0.95rem;
  pointer-events: none;
}

.crm-page-view-search__input {
  border-radius: 2px;
  border-color: var(--default-border, #8a8886);
  background: var(--custom-white, #fff);
  color: var(--default-text-color, #323130);
  padding-inline-start: 1.85rem;
  padding-inline-end: 1.75rem;
  min-height: 2rem;
  font-size: 0.8125rem;
}

.crm-page-view-search__clear {
  position: absolute;
  inset-inline-end: 0.2rem;
  border: 0;
  background: transparent;
  color: var(--text-muted, #605e5c);
  width: 1.6rem;
  height: 1.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.crm-page-view-search__clear:hover {
  color: var(--default-text-color, #323130);
}

.crm-page-view-search__meta {
  font-size: 0.6875rem;
  color: var(--text-muted, #605e5c);
  padding-inline-start: 0.15rem;
}

.crm-pipeline-stage.crm-page-search-stage-empty {
  opacity: 0.35;
}

/* List/index command bar — mobile (Leads, Organizations, Contacts, …) */
@media (max-width: 767.98px) {
  .crm-shell-dynamics {
    --crm-command-bar-height: 3rem;
  }

  .crm-page-command-bar {
    height: var(--crm-command-bar-height);
    min-height: var(--crm-command-bar-height);
  }

  .crm-page-command-bar__inner {
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    padding-inline: 0.25rem 0.15rem;
    min-width: 0;
  }

  .crm-page-command-bar__actions {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    align-items: stretch;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    touch-action: pan-x;
  }

  .crm-page-command-bar__actions::-webkit-scrollbar {
    display: none;
  }

  /* Selection actions only when usable — keeps bar clean until a row is selected */
  .crm-page-command-bar__actions [data-crm-list-action]:disabled {
    display: none !important;
  }

  .crm-page-command-bar__actions:not(:has([data-crm-list-action]:not(:disabled))) .crm-page-command-bar__list-divider {
    display: none;
  }

  .crm-page-command-bar__list-divider {
    margin-inline: 0.2rem;
    flex: 0 0 1px;
  }

  .crm-page-command-bar__cancel {
    flex: 0 0 auto;
    margin-inline-start: 0;
    border-inline-start: 1px solid var(--header-border-color, var(--default-border, #edebe9));
  }

  .crm-page-command-bar__btn {
    flex: 0 0 auto;
    min-height: var(--crm-command-bar-height);
    padding-inline: 0.7rem;
    font-size: 0.875rem;
    gap: 0.3rem;
  }

  .crm-page-command-bar .crm-page-command-bar__btn.btn-sm {
    --bs-btn-padding-x: 0.7rem;
    --bs-btn-font-size: 0.875rem;
  }

  .crm-page-command-bar__btn i {
    font-size: 1.2rem;
  }

  .crm-page-command-bar__btn--icon {
    min-width: 2.85rem;
    padding-inline: 0.55rem;
  }

  .crm-page-command-bar__search {
    display: none;
  }

  /* Compact selection strip under the table header area */
  [data-crm-list-selection-meta] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--custom-white, #fff);
    padding-block: 0.55rem !important;
    padding-inline: 0.85rem !important;
    font-size: 0.8125rem !important;
  }
}

@media (max-width: 419.98px) {
  /* Narrow phones: icon-first for secondary actions; keep primary create labeled */
  .crm-page-command-bar__btn:not(.crm-page-command-bar__btn--primary):not(.crm-page-command-bar__btn--icon) span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .crm-page-command-bar__btn:not(.crm-page-command-bar__btn--primary):not(.crm-page-command-bar__btn--icon) {
    position: relative;
    min-width: 2.85rem;
    padding-inline: 0.55rem;
    justify-content: center;
  }
}

/* Sidebar nav: Vyzor menu chrome — crm-vyzor-sidebar-parity.css (Persian section titles keep normal casing). */

.crm-main-content .crm-page-body {
  padding-inline: 1rem;
  padding-bottom: 1rem;
}

/* Create/edit forms: full width; 10px theme top margin + 10px horizontal inset on .crm-form-page */
.page:has(.crm-form-page) .main-content.app-content.crm-main-content,
.crm-shell-dynamics:has(.crm-form-page) .main-content.app-content {
  padding-block-start: calc(var(--crm-header-row-height) + var(--crm-command-bar-height)) !important;
  padding-inline: 0 !important;
  margin-top: 10px !important;
}

.page:has(.crm-form-page):not(:has(.crm-page-command-bar)) .main-content.app-content.crm-main-content,
.crm-shell-dynamics:has(.crm-form-page):not(:has(.crm-page-command-bar)) .main-content.app-content {
  padding-block-start: var(--crm-header-row-height) !important;
  margin-top: 10px !important;
}

.page:has(.crm-form-page) .main-body-container.page-container,
.page:has(.crm-opportunity-form--edit-layout) .main-body-container.page-container {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow-x: clip;
}

/* Create/edit forms — 10px left/right inset; vertical gap between panels via row-gap / gap */
.page:has(.crm-form-page) .crm-form-page {
  margin: 0 10px;
  width: calc(100% - 20px);
  max-width: calc(100% - 20px);
  box-sizing: border-box;
}

.page:has(.crm-form-page) .crm-form-option-panel,
.page:has(.crm-form-page) .crm-user-form .crm-form-option-panel {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.page:has(.crm-form-page) .card.custom-card > .card-body {
  padding: 1.25rem !important;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.page:has(.crm-form-page) .card.custom-card > .card-body > .row {
  --bs-gutter-y: 1.5rem;
  --bs-gutter-x: 1.5rem;
  margin: 0;
  row-gap: 1.5rem;
}

.page:has(.crm-form-page) .crm-sales-form-main-only,
.page:has(.crm-form-page) .crm-form-aside > .row {
  row-gap: 10px;
}

.page:has(.crm-form-page) .crm-sales-form-layout {
  --bs-gutter-x: 10px !important;
  --bs-gutter-y: 10px !important;
  column-gap: 10px;
  row-gap: 10px;
}

.page:has(.crm-form-page) .crm-page-body,
.page:has(.crm-form-page) .crm-page-body.container-fluid {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none;
  width: 100%;
}

.page:has(.crm-form-page) .crm-sales-form-surface {
  padding: 0 !important;
  margin: 0 !important;
}

.page:has(.crm-form-page) .crm-sales-form-body {
  padding: 0 !important;
  margin: 0 !important;
}

.page:has(.crm-form-page) .crm-sales-form-intro {
  padding: 0.5rem 0.75rem 0;
  margin-bottom: 0.5rem !important;
}

.page:has(.crm-form-page) .crm-sales-form-errors,
.page:has(.crm-form-page) .crm-duplicate-mobile-warning {
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Section boxes: comfortable horizontal padding; gap is between boxes */
.page:has(.crm-form-page) .crm-form-section-panel,
.page:has(.crm-form-page) .crm-form-aside .crm-form-section-panel,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__info,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__feed {
  padding: 1.25rem !important;
}

/* Tighter vertical rhythm between form controls */
.crm-form-page .crm-form-section-panel > .row,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__info > .row,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline > .row {
  --bs-gutter-y: 1.5rem !important;
  --bs-gutter-x: 1.5rem !important;
}

.crm-form-page .crm-inline-field,
.crm-opportunity-form--inline .crm-inline-field,
.crm-opportunity-form--edit-layout .crm-inline-field {
  margin-bottom: 0.1rem;
}

.crm-opportunity-form--inline .crm-inline-field--horiz,
.crm-opportunity-form--inline .crm-inline-field--stack,
.crm-opportunity-form--edit-layout .crm-inline-field--horiz,
.crm-opportunity-form--edit-layout .crm-inline-field--stack {
  gap: 0.5rem 0.75rem;
}

.page:has(.crm-form-page) .crm-sales-form-main-only,
.page:has(.crm-form-page) .crm-sales-form-layout > .col-xl-8 > .row,
.page:has(.crm-form-page) .crm-form-aside > .row {
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
  margin: 0 !important;
  row-gap: 10px;
  display: flex;
  flex-wrap: wrap;
}

.page:has(.crm-form-page) .crm-sales-form-main-only > [class*="col-"],
.page:has(.crm-form-page) .crm-sales-form-layout > .col-xl-8 > .row > [class*="col-"],
.page:has(.crm-form-page) .crm-form-aside > .row > [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

.page:has(.crm-form-page) .crm-sales-form-layout {
  --bs-gutter-x: 10px !important;
  --bs-gutter-y: 10px !important;
  margin: 0 !important;
  gap: 10px;
}

.page:has(.crm-pipeline-page) .crm-page-command-bar {
  margin-bottom: 0;
}

.crm-shell-dynamics .app-sidebar {
  border-inline-end: 1px solid var(--menu-border-color, var(--default-border, #edebe9));
}

.crm-shell-dynamics[data-vertical-style="overlay"] .slide.has-sub .slide-menu.child1 {
  position: relative;
  inset: auto;
  width: 100%;
  box-shadow: none;
  border: 0;
  background: transparent;
  padding-inline-start: 0.35rem;
}

.crm-shell-dynamics .slide.has-sub .slide-menu .side-menu__label1 {
  display: none;
}

.crm-shell-dynamics .crm-sidebar-footer {
  margin-top: auto;
  padding-top: 0.35rem;
}

.crm-sidebar-footer .crm-theme-daynight.side-menu__item {
  cursor: default;
  user-select: none;
}

.crm-theme-daynight__label-row {
  display: inline-flex !important;
  align-items: center;
  gap: 0.55rem;
  flex: 1;
  min-width: 0;
}

.crm-theme-daynight__mode-label {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  white-space: nowrap;
}

.crm-theme-daynight__switch {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  padding: 0;
  margin: 0;
  flex-shrink: 0;
}

.crm-theme-daynight__switch .form-check-input {
  width: 2.35rem;
  height: 1.125rem;
  margin: 0;
  cursor: pointer;
  float: none;
}


/* Legacy page chrome aliases */
.crm-page-chrome__secondary-action {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}

.crm-page-chrome__secondary-action i {
  font-size: 1.05rem;
  line-height: 1;
}

.crm-page-chrome__lead-reopen {
  align-self: flex-end;
  margin-inline-start: auto;
}

.crm-page-chrome .crm-page-breadcrumb {
  margin-top: 0.4rem;
}

.crm-page-chrome .breadcrumb {
  font-size: 1rem;
  --bs-breadcrumb-margin-bottom: 0;
}

.crm-sales-form-intro {
  font-size: 0.8125rem;
  line-height: 1.5;
  margin-bottom: 1.15rem !important;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
}

.crm-sales-form-card--page-titled .crm-sales-form-body {
  padding-top: 1.15rem;
}

.crm-list-card-toolbar {
  padding-block: 0.75rem;
}

/* Mobile create/edit — app-like full-width forms (AI_RULES §9.2) */
@media (max-width: 767.98px) {
  .main-body-container.page-container:has(.crm-form-page) {
    padding-inline: 0;
  }

  .main-body-container.page-container:has(.crm-form-page) .page-header-breadcrumb {
    margin-bottom: 0.5rem !important;
    padding-inline: 0.85rem;
  }

  .main-body-container.page-container:has(.crm-form-page) .page-header-breadcrumb .breadcrumb {
    display: none;
  }

  .main-body-container.page-container:has(.crm-form-page) .crm-sales-form-intro {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0.85rem !important;
  }

  .main-body-container.page-container:has(.crm-form-page) .page-title {
    font-size: 1.05rem !important;
  }

  .crm-form-page form.crm-sales-form {
    padding-bottom: calc(4.25rem + env(safe-area-inset-bottom, 0px));
  }

  .crm-form-page .crm-sales-form-card {
    border-radius: 0;
    border-inline: 0;
    margin-block-end: 0;
    box-shadow: none;
  }

  .crm-form-page .crm-sales-form-header {
    padding: 0.85rem 0.85rem 0.75rem;
  }

  .crm-form-page .crm-sales-form-subtitle {
    font-size: 0.75rem;
    margin-top: 0.25rem;
  }

  .crm-form-page .crm-sales-form-header-icon {
    width: 2.15rem;
    height: 2.15rem;
    font-size: 1.05rem;
  }

  .crm-form-page .crm-sales-form-body {
    padding: 0.75rem 0.85rem 0.85rem;
  }

  .crm-form-page .crm-form-section-panel {
    padding: 0.75rem 1.15rem;
    border-radius: 0;
    box-shadow: none;
  }

  .crm-form-page .crm-contact-form .crm-form-section-panel,
  .crm-form-page .crm-opportunity-form .crm-form-section-panel {
    padding: 0.75rem 1.15rem;
    border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
    border-radius: 0;
    background: var(--custom-white, #fff);
    box-shadow: none;
  }

  .crm-form-page .crm-contact-form .crm-form-aside,
  .crm-form-page .crm-opportunity-form .crm-form-aside {
    padding: 0;
  }

  .crm-form-page .crm-form-section-head {
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
  }

  .crm-form-page .crm-form-section-hint {
    font-size: 0.7rem;
    line-height: 1.35;
  }

  .crm-form-page .crm-sales-form-main-only,
  .crm-form-page .crm-sales-form-layout > .col-xl-8 > .row {
    row-gap: 0.65rem;
  }

  .crm-form-page .crm-form-aside {
    padding: 0.65rem 0.7rem;
    margin-top: 0.25rem;
  }

  .crm-form-page .crm-sales-form-layout {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0.65rem;
  }

  .crm-form-page .form-label {
    font-size: 0.8125rem;
    margin-bottom: 0.3rem;
  }

  .crm-form-page .form-control,
  .crm-form-page .form-select,
  .crm-form-page .input-group-text {
    min-height: 2.75rem;
    font-size: 1rem;
  }

  .crm-form-page textarea.form-control {
    min-height: 5.5rem;
  }

  .crm-form-page .crm-sales-form-footer {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 1025;
    margin: 0;
    padding: 0.65rem 0.85rem;
    padding-bottom: max(0.65rem, env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
    box-shadow: 0 -6px 18px rgba(15, 23, 42, 0.08);
  }

  /* Theme forces .card.custom-card .card-footer transparent with !important */
  .crm-form-page .card.custom-card .card-footer.crm-sales-form-footer {
    background: var(--custom-white, #fff) !important;
  }

  .crm-form-page .crm-sales-form-footer .d-flex.gap-2 {
    width: 100%;
  }

  .crm-form-page .crm-sales-form-footer .btn {
    min-height: 2.75rem;
    padding-inline: 1rem;
  }

  .crm-form-page .crm-sales-form-footer .btn-primary {
    flex: 1 1 auto;
  }

  .crm-modal-form.crm-sales-form .modal-body {
    padding-inline: 0.85rem;
  }

  .crm-modal-form.crm-sales-form .crm-form-section-panel {
    padding: 0.75rem 0.7rem;
  }
}

/* Module permission circle toggles */
.crm-perm-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
}

.crm-perm-circle-ui {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  border: 2px solid var(--default-border, #adb5bd);
  background: transparent;
  box-sizing: border-box;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.crm-perm-circle:hover .crm-perm-circle-ui {
  border-color: rgb(var(--success-rgb, 25, 135, 84));
}

/* :has — Tag Helpers may insert a hidden false input after the checkbox */
.crm-perm-circle:has(input[type="checkbox"]:checked) .crm-perm-circle-ui {
  background-color: rgb(var(--success-rgb, 25, 135, 84));
  border-color: rgb(var(--success-rgb, 25, 135, 84));
  box-shadow: inset 0 0 0 2px var(--custom-white, #fff);
}

.crm-perm-circle:has(input[type="checkbox"]:focus-visible) .crm-perm-circle-ui {
  outline: 2px solid rgba(var(--success-rgb, 25, 135, 84), 0.45);
  outline-offset: 2px;
}

/* Sortable table headers (products / Grid.js style) */
.crm-th-sort {
  white-space: nowrap;
  vertical-align: middle;
}

.crm-th-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  cursor: pointer;
  text-decoration: none;
}

a.crm-th-sort-btn:hover,
a.crm-th-sort-btn:focus-visible {
  color: inherit;
  text-decoration: none;
}

.crm-th-sort-icon {
  display: inline-block;
  width: 0.65rem;
  height: 0.85rem;
  position: relative;
  opacity: 0.35;
}

.crm-th-sort-icon::before,
.crm-th-sort-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  margin-left: -0.28rem;
  border-left: 0.28rem solid transparent;
  border-right: 0.28rem solid transparent;
}

.crm-th-sort-icon::before {
  top: 0;
  border-bottom: 0.32rem solid currentColor;
}

.crm-th-sort-icon::after {
  bottom: 0;
  border-top: 0.32rem solid currentColor;
}

.crm-th-sort.is-asc .crm-th-sort-icon,
.crm-th-sort.is-desc .crm-th-sort-icon {
  opacity: 1;
}

.crm-th-sort.is-asc .crm-th-sort-icon::after {
  opacity: 0.25;
}

.crm-th-sort.is-desc .crm-th-sort-icon::before {
  opacity: 0.25;
}

/* Profile page */
.crm-profile-page .card-body,
.crm-profile-page__body {
  padding-block: 1.25rem;
}

.crm-profile-page .card-body .btn-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.crm-profile-page .card-body .btn-list .btn {
  margin: 0;
}

.crm-profile-page .d-flex .form-check.form-switch .form-check-input {
  float: none;
  margin-inline: 0;
}

.crm-profile-page__body > .alert {
  margin-bottom: 1rem;
}

.crm-profile-hero {
  position: relative;
  border-bottom: 1px solid var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  overflow: hidden;
}

.crm-profile-hero__banner {
  height: 5.5rem;
  background: linear-gradient(
    120deg,
    rgba(var(--primary-rgb, 111, 66, 193), 0.22) 0%,
    rgba(var(--primary-rgb, 111, 66, 193), 0.08) 55%,
    rgba(var(--primary-rgb, 111, 66, 193), 0.03) 100%
  );
}

.crm-profile-hero__body {
  padding: 0 1.25rem 1.35rem;
  margin-top: -2.75rem;
}

.crm-profile-hero__main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem 1.5rem;
}

.crm-profile-hero__identity {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem 1.35rem;
  flex: 1 1 14rem;
  min-width: min(100%, 14rem);
}

.crm-profile-hero__subscription {
  flex: 0 1 20rem;
  width: min(100%, 22rem);
  padding: 0.85rem 1rem;
  border-radius: 0.75rem;
  background: var(--crm-form-panel-bg, var(--custom-white, var(--custom-white)));
  border: 1px solid var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  box-shadow: var(--crm-form-section-shadow, 0 4px 18px rgba(0, 0, 0, 0.06));
  color: var(--default-text-color, var(--bs-body-color));
}

.crm-profile-hero__subscription-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem 0.5rem;
  margin-bottom: 0.35rem;
}

.crm-profile-hero__subscription-kicker {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--primary-color, var(--bs-primary));
}

.crm-profile-hero__subscription-plan {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 0.65rem;
  line-height: 1.35;
}

.crm-profile-hero__subscription-bar {
  height: 0.45rem;
}

.crm-profile-hero__subscription-modules {
  margin-top: 0.75rem;
}

.crm-profile-hero__subscription-modules-label {
  font-size: 0.72rem;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.35rem;
}

.crm-profile-hero__subscription-empty {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-profile-hero__subscription-empty i {
  font-size: 1.15rem;
  opacity: 0.85;
}

/* Tenant settings — subscription summary (shared partial) */
.crm-settings-subscription .card-body {
  padding-top: 1rem;
}

.crm-subscription-summary__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem 0.5rem;
  margin-bottom: 0.35rem;
}

.crm-subscription-summary__kicker {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--primary-color, var(--bs-primary));
}

.crm-subscription-summary__plan {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  line-height: 1.35;
}

.crm-subscription-summary__bar {
  height: 0.45rem;
}

.crm-subscription-summary__modules {
  margin-top: 0.85rem;
}

.crm-subscription-summary__modules-label {
  font-size: 0.72rem;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.35rem;
}

.crm-subscription-summary__empty {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--bs-secondary-color, #6c757d);
  padding: 0.5rem 0;
}

.crm-subscription-summary__empty i {
  font-size: 1.15rem;
  opacity: 0.85;
}

.crm-profile-hero__avatar-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}

.crm-profile-hero__avatar-ring {
  position: relative;
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 50%;
  padding: 3px;
  background: linear-gradient(
    145deg,
    rgba(var(--primary-rgb, 111, 66, 193), 0.55),
    rgba(var(--primary-rgb, 111, 66, 193), 0.12)
  );
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.crm-profile-hero__avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
  border: 3px solid var(--custom-white);
}

.crm-profile-hero__camera {
  position: absolute;
  inset-inline-end: 0;
  bottom: 0.15rem;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary-color, var(--bs-primary));
  color: #fff;
  border: 2px solid var(--custom-white);
  cursor: pointer;
  font-size: 1.05rem;
  line-height: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.crm-profile-hero__camera:hover {
  filter: brightness(1.05);
  color: #fff;
}

.crm-profile-hero__photo-link {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--primary-color, var(--bs-primary));
  cursor: pointer;
  text-decoration: none;
}

.crm-profile-hero__photo-link:hover {
  text-decoration: underline;
  color: var(--primary-color, var(--bs-primary));
}

.crm-profile-hero__info {
  flex: 1;
  min-width: 0;
  padding-bottom: 0.15rem;
}

.crm-profile-hero__eyebrow {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.25rem;
}

.crm-profile-hero__title {
  font-size: clamp(1.25rem, 2.5vw, 1.65rem);
  font-weight: 700;
  margin: 0 0 0.65rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.crm-profile-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
}

.crm-profile-hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8125rem;
  padding: 0.22rem 0.6rem;
  border-radius: 2rem;
  background: var(--custom-white);
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  color: var(--bs-secondary-color, #6c757d);
}

.crm-profile-hero__meta-item i {
  opacity: 0.75;
  font-size: 1rem;
}

.crm-profile-side-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

.crm-profile-form-split {
  --bs-gutter-y: 1rem;
  margin-block: 0;
}

.crm-profile-panel .crm-profile-crm-setting {
  border: 1px solid var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.12)));
  border-radius: 0.5rem;
  padding: 0.9rem 1rem;
  background: var(--crm-form-panel-muted-bg, var(--bs-tertiary-bg, rgba(0, 0, 0, 0.02)));
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.crm-profile-panel .crm-profile-crm-setting.is-on {
  border-color: rgba(var(--bs-success-rgb, 25, 135, 84), 0.4);
  background: rgba(var(--bs-success-rgb, 25, 135, 84), 0.06);
}

.crm-profile-crm-setting__switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.crm-profile-crm-setting__switch .form-check-input {
  position: static;
  float: none;
  flex: 0 0 auto;
  width: 2.5em;
  height: 1.25em;
  margin: 0;
  cursor: pointer;
}

.crm-profile-crm-setting__switch .form-check-label {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--default-text-color, inherit);
  cursor: pointer;
  text-align: start;
}

.crm-profile-panel .crm-profile-crm-setting .form-text {
  margin-top: 0.65rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-form-autosave-toast {
  position: fixed;
  inset-inline: 1rem;
  bottom: 1rem;
  z-index: 1090;
  max-width: 28rem;
  margin-inline: auto;
  text-align: center;
  border-radius: 0.5rem;
  opacity: 0;
  transform: translateY(0.5rem);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.crm-form-autosave-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 768px) {
  .crm-form-autosave-toast {
    inset-inline: auto;
    inset-inline-end: 1.25rem;
    margin-inline: 0;
  }
}

@media (min-width: 992px) {
  .crm-profile-form-split {
    --bs-gutter-y: 0;
  }
}

.crm-profile-page__body .crm-profile-form-split .crm-profile-panel {
  margin-block: 0;
}

.crm-profile-page__body > .crm-profile-panel {
  margin-block: 0;
}

.crm-profile-page__body > .crm-profile-panel + .crm-profile-panel {
  margin-top: 1rem;
}

.crm-profile-panel {
  border: 1px solid var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  border-radius: 0.625rem;
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
  background: var(--crm-form-panel-bg, var(--custom-white, var(--custom-white)));
  color: var(--default-text-color, var(--bs-body-color));
}

.crm-profile-page__body > .crm-profile-panel:last-child {
  margin-bottom: 0;
}

.crm-profile-panel--attention {
  border-color: rgba(var(--warning-rgb, 255, 193, 7), 0.45);
  background: rgba(var(--warning-rgb, 255, 193, 7), 0.04);
}

.crm-profile-panel__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.crm-profile-panel__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.2rem;
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.1);
}

.crm-profile-panel__icon.is-warning {
  color: var(--bs-warning-text-emphasis, #997404);
  background: rgba(var(--warning-rgb, 255, 193, 7), 0.18);
}

.crm-profile-panel__icon.is-success {
  color: var(--bs-success-text-emphasis, #0a3622);
  background: rgba(var(--bs-success-rgb, 25, 135, 84), 0.12);
}

.crm-profile-panel__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.2rem;
}

.crm-profile-panel__desc {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-profile-panel__divider {
  margin: 1.25rem 0;
  border-top: 1px dashed var(--bs-border-color, rgba(0, 0, 0, 0.12));
}

.crm-profile-panel__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
}

.crm-profile-panel__footer-only {
  display: flex;
  justify-content: flex-end;
  padding: 0;
  margin-block: 1.25rem 0;
  border: none;
  background: transparent;
}

@media (min-width: 992px) {
  .crm-profile-form-split > .col-lg-4 {
    padding-inline-start: 1.25rem;
    border-inline-start: 1px solid var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  }

  .crm-profile-form-split > .col-lg-5 {
    padding-inline-start: 1.25rem;
    border-inline-start: 1px solid var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  }
}


.crm-profile-password-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  border-radius: 0.5rem;
  background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.02));
}

.crm-profile-password-row__glyph {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.1rem;
  color: var(--bs-secondary-color, #6c757d);
  background: var(--custom-white);
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
}

.crm-profile-password-row__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
}

.crm-profile-password-row__title {
  font-size: 0.875rem;
  font-weight: 600;
}

.crm-profile-password-row__mask {
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-profile-password-sheet {
  margin-top: 0.75rem;
  padding: 1rem 1.1rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(var(--primary-rgb, 111, 66, 193), 0.18);
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.03);
}

.crm-profile-password-rules li {
  position: relative;
  padding-inline-start: 1rem;
  margin-bottom: 0.2rem;
}

.crm-profile-password-rules li::before {
  content: "•";
  position: absolute;
  inset-inline-start: 0;
  opacity: 0.45;
}

.crm-profile-password-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
}

.crm-profile-dl dt {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.2rem;
}

.crm-profile-dl dd {
  font-size: 0.9375rem;
  font-weight: 500;
  margin: 0;
  word-break: break-word;
}

.crm-profile-personal {
  max-width: 34rem;
}

.crm-profile-personal__section {
  padding-top: 1.1rem;
  margin-top: 1.1rem;
  border-top: 1px solid var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
}

.crm-profile-personal__section:first-child {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}

.crm-profile-personal__section-title {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.55rem;
}

.crm-profile-personal__name-row .form-control {
  max-width: 16.5rem;
}

.crm-profile-account-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem 1rem;
  padding: 0.65rem 0.85rem;
  border-radius: 0.5rem;
  border: 1px solid var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
  background: var(--crm-form-panel-muted-bg, var(--bs-tertiary-bg, rgba(0, 0, 0, 0.02)));
}

.crm-profile-account-grid__item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.crm-profile-account-grid__label {
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-profile-account-grid__value {
  font-size: 0.875rem;
  font-weight: 600;
  word-break: break-word;
}

@media (max-width: 575.98px) {
  .crm-profile-account-grid {
    grid-template-columns: 1fr;
  }

  .crm-profile-personal__name-row .form-control {
    max-width: none;
  }
}

.crm-profile-panel__footer-only .crm-profile-personal {
  display: flex;
  justify-content: flex-start;
}

.crm-profile-email-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.65rem;
}

.crm-profile-email-row {
  width: 100%;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
  border-radius: 0.5rem;
  background: var(--crm-form-panel-muted-bg, var(--bs-tertiary-bg, rgba(0, 0, 0, 0.02)));
}

.crm-profile-email-row + .crm-profile-email-row {
  margin-top: 0.35rem;
}

.crm-profile-email-row--ok {
  border-color: rgba(var(--bs-success-rgb, 25, 135, 84), 0.22);
  background: rgba(var(--bs-success-rgb, 25, 135, 84), 0.04);
}

.crm-profile-email-row--pending {
  border-color: rgba(var(--warning-rgb, 255, 193, 7), 0.35);
  background: rgba(var(--warning-rgb, 255, 193, 7), 0.06);
}

.crm-profile-email-row--empty {
  border-style: dashed;
}

.crm-profile-email-row__cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem 0.55rem;
  width: 100%;
}

.crm-profile-email-row__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.05rem;
  color: var(--bs-secondary-color, #6c757d);
  background: var(--crm-form-control-bg, var(--custom-white, var(--custom-white)));
  border: 1px solid var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
}

.crm-profile-email-row--ok .crm-profile-email-row__icon {
  color: var(--bs-success-text-emphasis, #0a3622);
  border-color: rgba(var(--bs-success-rgb, 25, 135, 84), 0.2);
}

.crm-profile-email-row--pending .crm-profile-email-row__icon {
  color: var(--bs-warning-text-emphasis, #997404);
  border-color: rgba(var(--warning-rgb, 255, 193, 7), 0.35);
}

.crm-profile-email-row__addr {
  font-size: 0.9375rem;
  font-weight: 500;
  word-break: break-all;
}

.crm-profile-email-row__label {
  font-size: 0.875rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-profile-email-row__sep {
  width: 1px;
  height: 1.35rem;
  flex-shrink: 0;
  background: var(--bs-border-color, rgba(0, 0, 0, 0.12));
  margin-inline: 0.1rem;
}

.crm-profile-email-row__cluster .badge {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.28em 0.55em;
}

.crm-profile-email-row__cluster .btn-sm {
  font-size: 0.8125rem;
  padding: 0.28rem 0.65rem;
  white-space: nowrap;
}

.crm-profile-security-link {
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
}

.crm-profile-dl--compact dt {
  margin-bottom: 0.15rem;
}

.crm-email-otp--profile {
  max-width: 20rem;
}

.crm-email-otp--profile .crm-email-otp-digit {
  width: 2.5rem;
  height: 2.85rem;
  font-size: 1.15rem;
}

/* User avatars (header, sidebar, lists) */
img.crm-user-avatar {
  object-fit: cover;
  display: block;
}

.main-header-container img.crm-user-avatar.header-link-icon {
  padding: 0;
  object-fit: cover;
}

.avatar img.crm-user-avatar {
  width: 100%;
  height: 100%;
}

.profile-card .avatar label.avatar-badge {
  cursor: pointer;
}

.profile-card .avatar label.avatar-badge:hover {
  color: #fff;
}

.crm-profile-form .form-control[readonly] {
  background-color: var(--crm-form-panel-muted-bg, var(--bs-secondary-bg, rgba(0, 0, 0, 0.04)));
  opacity: 1;
  cursor: default;
}

.crm-profile-form .form-control[readonly]:focus {
  box-shadow: none;
  border-color: var(--crm-form-border, var(--bs-border-color, rgba(0, 0, 0, 0.12)));
}

/* Profile photo — circular crop (zoom / pan) */
.crm-profile-crop-wrap {
  position: relative;
  width: 280px;
  height: 280px;
  margin: 0 auto 1rem;
}

.crm-profile-crop-viewport {
  width: 280px;
  height: 280px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  cursor: grab;
  touch-action: none;
  background: var(--bs-secondary-bg, #f3f4f6);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.crm-profile-crop-viewport:active {
  cursor: grabbing;
}

.crm-profile-crop-viewport img {
  position: absolute;
  max-width: none;
  user-select: none;
  pointer-events: none;
}

.crm-profile-crop-ring {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: 50%;
  pointer-events: none;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.45);
  border: 2px solid rgba(255, 255, 255, 0.85);
}

#pricingModal .input-group-text {
  min-width: 2.75rem;
  justify-content: center;
}

#pricing-status-panel.is-on {
  border-color: rgba(25, 135, 84, 0.45);
  background: rgba(25, 135, 84, 0.08);
}

.crm-pricing-preview {
  line-height: 1.2;
  text-align: start;
}

.crm-pricing-preview-old {
  font-size: 0.8rem;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}

.crm-pricing-preview-new {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: baseline;
  gap: 0.35rem;
  font-size: 1.05rem;
  font-weight: 700;
}

.crm-pricing-preview-unit {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-jalali-field {
  position: relative;
}

#pricingModal .modal-content,
#pricingModal .modal-body {
  overflow: visible;
}

#pricingModal .flatpickr-calendar.static {
  z-index: 20;
}

.crm-filter-count {
  background: rgba(var(--primary-rgb, 13, 110, 253), 0.12);
  color: var(--primary-color, var(--bs-primary));
  font-weight: 600;
  font-size: 0.75rem;
  min-width: 1.5rem;
}

.crm-filter-clear {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.78rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-filter-clear i {
  font-size: 1rem;
}

.crm-filter {
  margin: 0;
}

.card-header.crm-list-card-header {
  display: block;
  padding: 0.8rem 1.25rem 0.85rem;
  background: transparent !important;
  background-image: none !important;
  border-bottom: 1px solid var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
}

[data-theme-mode="dark"] .card-header.crm-list-card-header {
  background: transparent !important;
  background-image: none !important;
}

/* Flat card headers (Vyzor default) — no CRM gradient overlays */
.crm-shell-dynamics .card.custom-card .card-header,
.crm-shell-dynamics .card .card-header {
  background: transparent !important;
  background-image: none !important;
}

.crm-list-card-header .crm-filter {
  padding: 0;
  border: 0;
  background: transparent;
}

.crm-list-card-header__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.5rem 0.75rem;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: 0.1rem;
}

.crm-list-card-header__row--actions-only {
  justify-content: flex-end;
}

.crm-list-card-header__row .crm-filter-row {
  display: flex;
  flex: 0 1 auto;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 0.5rem 0.75rem;
  min-width: min-content;
  margin: 0;
}

.crm-list-card-header__actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex: 0 0 auto;
  margin-inline-start: auto;
  padding-bottom: 0.1rem;
}

.crm-list-card-header .crm-filter-chips {
  margin-top: 0.7rem;
  padding-top: 0.65rem;
  border-top: 1px dashed var(--bs-border-color-translucent, rgba(0, 0, 0, 0.1));
}

.crm-list-card-header .crm-filter-field {
  flex: 0 0 auto;
  width: 12rem;
  min-width: 9rem;
  max-width: 14rem;
}

.crm-list-card-header .crm-filter-field-switch {
  flex: 0 0 auto;
  width: auto;
  min-width: max-content;
  max-width: none;
  margin-inline-start: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex-shrink: 0;
  overflow: visible;
}

.crm-list-card-header .crm-filter-field.crm-filter-field-switch {
  width: auto;
  min-width: auto;
  max-width: none;
}

.crm-list-card-header .crm-filter-field-switch .crm-filter-switch {
  align-items: center;
  min-height: calc(1.5em + 0.55rem + 2px);
  flex: 0 0 auto;
}

.crm-list-card-header .crm-filter-switch-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.65rem;
  min-height: calc(1.5em + 0.55rem + 2px);
}

.crm-list-card-header .crm-filter-switch-actions .crm-filter-switch {
  flex: 0 0 auto;
}

.crm-list-card-header .crm-filter-switch-actions .crm-filter-apply-btn {
  flex: 0 0 auto;
  font-size: 0.8125rem;
  padding: 0.35rem 0.85rem;
  white-space: nowrap;
}

.crm-list-card-header .crm-filter-field-switch .form-check.form-switch {
  display: inline-flex;
  align-items: center;
  padding-inline-start: 0;
  min-height: calc(1.5em + 0.55rem + 2px);
}

.crm-list-card-header .crm-filter-field-switch .form-check-input {
  float: none;
  margin-inline: 0;
  flex-shrink: 0;
}

.crm-list-card-header .crm-filter-field-actions {
  flex: 0 0 auto;
  min-width: auto;
  max-width: none;
}

.crm-list-card-header .crm-filter-label {
  margin-bottom: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-list-card-header .form-control,
.crm-list-card-header .form-select,
.crm-list-card-header .input-group-text {
  font-size: 0.8125rem;
  min-height: calc(1.5em + 0.55rem + 2px);
  padding-block: 0.3rem;
}

.crm-list-card-header .btn-primary {
  font-size: 0.8125rem;
  padding: 0.35rem 0.85rem;
}

.crm-list-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.75rem 1.25rem;
  background: var(--custom-white);
  font-size: 0.875rem;
}

/* List card: table last row already has a bottom edge — avoid double line with pager */
.card.custom-card > .card-body.p-0:has(.table) + .card-footer.crm-list-footer {
  border-top: 0;
}

.crm-list-footer__summary {
  font-size: 0.875rem;
  flex: 1 1 auto;
  min-width: 8rem;
}

.crm-list-footer__pages {
  flex: 0 1 auto;
}

.crm-list-footer__pages .pagination {
  font-size: 0.875rem;
}

.crm-list-footer__pages .page-link {
  min-width: 2.125rem;
  text-align: center;
  font-size: 0.875rem;
  padding: 0.4rem 0.65rem;
}

.crm-list-footer__size {
  flex: 0 0 auto;
}

.crm-list-footer__size-label {
  font-size: 0.8125rem;
  white-space: nowrap;
}

.crm-list-footer__size-select {
  width: 4.75rem;
  min-width: 4.75rem;
  font-size: 0.875rem;
}

@media (max-width: 575.98px) {
  .crm-list-footer {
    justify-content: center;
  }

  .crm-list-footer__summary {
    flex-basis: 100%;
    text-align: center;
  }
}

/* Mobile: index/list tables as readable cards (CSS-first — no table flash before JS) */
@media (max-width: 767.98px) {
  .card .table-responsive:has(> table.table) {
    overflow: visible;
  }

  .card .table-responsive > table.table {
    width: 100%;
    border: 0;
    margin: 0;
  }

  .card .table-responsive > table.table thead {
    display: none;
  }

  .card .table-responsive > table.table tbody {
    display: block;
    padding: 0.75rem;
  }

  .card .table-responsive > table.table tbody tr {
    display: block;
    margin-bottom: 0.75rem;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.1)));
    border-radius: 0.85rem;
    background: var(--custom-white, #fff);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  }

  .card .table-responsive > table.table tbody tr:last-child {
    margin-bottom: 0;
  }

  .card .table-responsive > table.table tbody tr:hover {
    background: var(--custom-white, #fff);
  }

  .card .table-responsive > table.table tbody td {
    display: block;
    width: 100% !important;
    max-width: none !important;
    border: 0 !important;
    padding: 0.45rem 1rem !important;
    white-space: normal;
    text-align: right !important;
    vertical-align: top;
  }

  .card .table-responsive > table.table tbody td:last-child {
    padding-bottom: 0.9rem !important;
  }

  /* Keep Bootstrap visibility helpers (e.g. d-none d-md-table-cell) */
  .card .table-responsive > table.table tbody td.d-none {
    display: none !important;
  }

  .card .table-responsive > table.table tbody td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 0.2rem;
    color: var(--text-muted, #605e5c);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.3;
  }

  .card .table-responsive > table.table tbody td:not([data-label])::before,
  .card .table-responsive > table.table tbody td[data-label=""]::before {
    display: none;
  }

  /* Selection strip: even vertical rhythm + centered checkbox */
  .card .table-responsive > table.table tbody td.crm-bulk-col {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    min-height: 2.75rem;
    margin: 0 !important;
    padding: 0.65rem 1rem !important;
    background: var(--default-background, var(--list-hover-focus-bg, #f5f6f7));
    border-bottom: 1px solid var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.1))) !important;
  }

  .card .table-responsive > table.table tbody td.crm-bulk-col::before {
    display: none;
  }

  .card .table-responsive > table.table tbody td.crm-bulk-col .crm-bulk-check.form-check-input {
    margin: 0 !important;
    margin-block: 0 !important;
    margin-inline: 0 !important;
    float: none;
    position: relative;
    top: 0;
    width: 1.2rem;
    height: 1.2rem;
    flex: 0 0 auto;
    vertical-align: middle;
  }

  .card .table-responsive > table.table tbody td.crm-table-cards__primary {
    padding-top: 0.75rem !important;
  }

  .card .table-responsive > table.table tbody td.crm-table-cards__primary::before {
    font-size: 0.7rem;
  }

  .card .table-responsive > table.table tbody td.crm-table-cards__primary .fw-medium,
  .card .table-responsive > table.table tbody td.crm-table-cards__primary > a.fw-medium {
    font-size: 1rem;
    line-height: 1.45;
  }

  .card .table-responsive > table.table tbody td .btn-icon {
    min-width: 2.35rem;
    min-height: 2.35rem;
  }

  .card .table-responsive > table.table tbody td .d-flex.justify-content-end {
    justify-content: flex-start !important;
    flex-wrap: wrap;
    gap: 0.4rem !important;
  }

  [data-theme-mode="dark"] .card .table-responsive > table.table tbody tr {
    background: var(--custom-white, var(--bs-body-bg));
    box-shadow: none;
  }

  [data-theme-mode="dark"] .card .table-responsive > table.table tbody td.crm-bulk-col {
    background: var(--list-hover-focus-bg, rgba(255, 255, 255, 0.06));
  }
}

.crm-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem 1rem;
}

.crm-filter-field {
  flex: 0 1 16rem;
  min-width: 13rem;
  max-width: 18rem;
}

.crm-filter-field--amount-range {
  flex: 1 1 14rem;
  min-width: 12rem;
  max-width: 20rem;
}

.crm-filter-amount-range {
  padding: 0.15rem 0.35rem 0.25rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.12));
  border-radius: 0.375rem;
  background: var(--custom-white);
}

.crm-filter-amount-range__slider {
  height: 2.25rem;
  padding: 0 0.35rem;
}

.crm-filter-amount-range__slider .noUi-horizontal {
  height: 0.45rem;
  margin-top: 1.1rem;
}

.crm-filter-amount-range__slider .noUi-handle {
  width: 1rem;
  height: 1rem;
  inset-block-start: -0.3rem;
  inset-inline-end: -0.5rem;
}

.crm-filter-amount-range .noUi-tooltip.crm-filter-amount-tooltip {
  direction: ltr;
  text-align: right;
  padding: 0.2rem 0.5rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.12));
  border-radius: 0.25rem;
  background: var(--custom-white);
  font-size: 0.75rem;
  line-height: 1.2;
}

.crm-filter-amount-range .noUi-tooltip .crm-amount-with-unit {
  justify-content: flex-end;
}

.crm-filter-amount-range .noUi-tooltip .crm-amount-value {
  font-weight: 600;
  color: var(--default-text-color, inherit);
}

.crm-filter-field-switch {
  flex: 0 0 auto;
  min-width: auto;
  max-width: none;
  margin-inline-start: auto;
}

.crm-filter-field-switch .crm-filter-label {
  display: block;
  margin-bottom: 0.4rem;
}

.crm-filter .crm-filter-switch,
.crm-list-card-header .crm-filter-switch,
.crm-member-split-header__tools .crm-filter-switch {
  display: flex;
  align-items: center;
  min-height: calc(1.5em + 0.55rem + 2px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  transition: none;
}

.crm-filter .crm-filter-switch .form-check.form-switch {
  padding-inline-start: 0;
  margin-bottom: 0;
  min-height: 1.5rem;
}

.crm-filter .crm-filter-switch .form-check-input,
.crm-list-card-header .crm-filter-switch .form-check-input,
.crm-member-split-header__tools .crm-filter-switch .form-check-input {
  width: 2.85em;
  height: 1.5em;
  margin-top: 0;
  cursor: pointer;
}

.crm-filter .crm-filter-switch.is-on,
.crm-list-card-header .crm-filter-switch.is-on,
.crm-member-split-header__tools .crm-filter-switch.is-on {
  border: 0;
  background: transparent;
}

.crm-filter .crm-filter-switch .form-check-label,
.crm-list-card-header .crm-filter-switch .form-check-label,
.crm-member-split-header__tools .crm-filter-switch .form-check-label {
  display: none;
}

.crm-filter-label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-member-split-header__tools .crm-filter-field-switch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.crm-filter .input-group-text {
  background: rgb(var(--light-rgb));
  color: var(--text-muted, var(--default-text-color));
  border-color: var(--input-border, var(--default-border));
  padding-inline: 0.7rem;
}

.crm-filter .form-select {
  background-color: var(--form-control-bg, var(--custom-white, #fff));
  color: var(--default-text-color);
  border-color: var(--input-border, var(--default-border));
}

/* Wrapper only — never on .form-check.form-switch (option panels / setup rows) */
div.crm-filter-switch {
  display: flex;
  align-items: center;
  min-height: calc(1.5em + 0.75rem + 2px);
  padding: 0 0.85rem;
  border: 1px solid var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.12)));
  border-radius: 0.375rem;
  background: var(--custom-white);
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

div.crm-filter-switch .form-check-label {
  font-size: 0.8125rem;
  font-weight: 500;
}

div.crm-filter-switch.is-on {
  border-color: rgba(var(--danger-rgb, 220, 53, 69), 0.4);
  background: rgba(var(--danger-rgb, 220, 53, 69), 0.07);
}

div.crm-filter-switch.is-on .form-check-label {
  color: rgb(var(--danger-rgb, 220, 53, 69));
}

.crm-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.75rem;
}

.crm-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.55rem;
  border-radius: 2rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 13, 110, 253), 0.1);
  border: 1px solid transparent;
}

.crm-filter-chip:hover {
  background: rgba(var(--primary-rgb, 13, 110, 253), 0.18);
  color: var(--primary-color, var(--bs-primary));
}

.crm-filter-chip i {
  font-size: 0.9rem;
  opacity: 0.75;
}

.crm-filter-chip-danger {
  color: rgb(var(--danger-rgb, 220, 53, 69));
  background: rgba(var(--danger-rgb, 220, 53, 69), 0.1);
}

.crm-filter-chip-danger:hover {
  color: rgb(var(--danger-rgb, 220, 53, 69));
  background: rgba(var(--danger-rgb, 220, 53, 69), 0.18);
}

.crm-list-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 2.5rem 1.25rem;
  color: var(--bs-secondary-color, #6c757d);
  text-align: center;
}

.crm-list-empty i {
  font-size: 1.75rem;
  opacity: 0.45;
}

/* Shared list empty state (_EmptyState) — Remix icon + primary tint (not broken bx-inbox / secondary pink) */
.crm-empty-state__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.85rem;
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.12);
  color: rgb(var(--primary-rgb, 132, 90, 223));
}

.crm-empty-state__icon i {
  font-size: 1.75rem;
  line-height: 1;
  opacity: 1;
}

/* Index tables: horizontal scroll inside card (D-8) */
.card.custom-card > .card-body.p-0 > .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

.main-content.app-content {
  min-width: 0;
}

.app-content .page-container,
.app-content .main-body-container.page-container {
  border-radius: 0 !important;
}

.crm-sorted-list-select-group {
  flex-wrap: nowrap;
}

.crm-sorted-list-select-group .form-select {
  min-width: 0;
}

.crm-sorted-list-select-group > .btn {
  flex-shrink: 0;
  margin-bottom: 0;
}

.crm-user-form .choices {
  margin-bottom: 0;
}

.crm-user-form .choices.is-invalid .choices__inner {
  border-color: var(--bs-danger, #dc3545) !important;
}

.crm-user-form .choices.is-invalid.is-focused .choices__inner,
.crm-user-form .choices.is-invalid.is-open .choices__inner {
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-danger-rgb, 220, 53, 69), 0.2);
}

.crm-user-form .choices__list--dropdown,
.crm-user-form .choices__list[aria-expanded] {
  z-index: 25 !important;
}

.crm-opportunity-party-row {
  align-items: flex-start;
}

@media (min-width: 768px) {
  .crm-opportunity-party-row {
    flex-wrap: nowrap;
    align-items: flex-end;
  }

  .crm-opportunity-party-row > [class*="col-"]:first-child {
    flex: 0 0 auto;
    width: auto;
    min-width: 9.5rem;
    max-width: 11rem;
  }

  .crm-opportunity-party-row > [class*="col-"]:last-child {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    max-width: none;
  }
}

.crm-opportunity-party-row .choices {
  margin-bottom: 0;
}

/* Opportunity edit — label | control row; Vyzor .form-control always visible (see always-edit block below) */
.crm-opportunity-form--inline .crm-inline-field {
  margin-bottom: 0.15rem;
}

.crm-opportunity-form--inline .crm-inline-field--horiz {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
}

.crm-opportunity-form--inline .crm-inline-field--stack {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.35rem 0.75rem;
}

.crm-opportunity-form--inline .crm-inline-field__label {
  flex: 0 0 7.5rem;
  max-width: 40%;
  margin-bottom: 0 !important;
  padding-top: 0.2rem;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--default-text-color);
  text-align: end;
}

.crm-opportunity-form--inline .crm-inline-field__label--with-customer-open {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.3rem;
}

.crm-opportunity-form--inline .crm-inline-field__customer-open {
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  padding: 0;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-opportunity-form--inline .crm-inline-field__customer-open:hover,
.crm-opportunity-form--inline .crm-inline-field__customer-open:focus-visible {
  color: var(--primary-color, var(--bs-primary));
}

.crm-opportunity-form--inline .crm-inline-field__value {
  flex: 1 1 10rem;
  min-width: 0;
  position: relative;
  min-height: 0;
  box-sizing: border-box;
}

.crm-opportunity-form--inline .crm-inline-field--stack .crm-inline-field__value--stack {
  flex: 1 1 100%;
  min-height: 4.5rem;
}

.crm-opportunity-form--inline .crm-inline-field--horiz[data-inline-field-wide] .crm-inline-field__value,
.crm-opportunity-form--inline .crm-inline-field--horiz[data-inline-tall-control] .crm-inline-field__value {
  flex: 1 1 10rem;
  min-width: 0;
}

.crm-opportunity-form--inline .crm-inline-field[data-inline-field-wide] .crm-inline-field__value {
  min-height: 2.25rem;
}

.crm-opportunity-form--inline .crm-inline-field[data-inline-field-wide].is-editing .crm-inline-field__value {
  min-height: auto;
}

.crm-opportunity-form--inline .crm-inline-field__validation {
  flex: 1 1 100%;
  margin-inline-start: calc(7.5rem + 0.75rem);
}

.crm-opportunity-form--inline .crm-inline-field--stack .crm-inline-field__validation {
  margin-inline-start: 0;
}

.crm-opportunity-form--inline .crm-inline-field--horiz[data-inline-tall-control] .crm-inline-field__validation {
  margin-inline-start: calc(7.5rem + 0.75rem);
}

.crm-opportunity-form--inline .crm-inline-field--horiz[data-inline-field-wide] .crm-inline-field__validation {
  margin-inline-start: calc(7.5rem + 0.75rem);
}

.crm-opportunity-form--inline .crm-inline-field__control {
  display: block;
  width: 100%;
}

.crm-opportunity-form--edit-layout .crm-inline-field .crm-inline-field__control,
.crm-opportunity-form--edit-layout .crm-inline-field .crm-inline-field__control .choices {
  display: block !important;
}

.crm-opportunity-form--edit-layout .crm-inline-field .crm-inline-field__control .input-group {
  display: flex !important;
}

.crm-opportunity-form--edit-layout .crm-inline-field > .form-select,
.crm-opportunity-form--edit-layout .crm-inline-field > .input-group,
.crm-opportunity-form--edit-layout .crm-inline-field > .form-control,
.crm-opportunity-form--edit-layout .crm-inline-field > textarea {
  display: block !important;
  width: 100%;
}

.crm-opportunity-form--edit-layout .crm-inline-field > .input-group {
  display: flex !important;
}

.crm-opportunity-form--create .crm-inline-field .crm-inline-field__value,
.crm-opportunity-form--create .crm-inline-field .crm-inline-field__value .form-control,
.crm-opportunity-form--create .crm-inline-field .crm-inline-field__value .form-select,
.crm-opportunity-form--create .crm-inline-field .crm-inline-field__value .input-group,
.crm-opportunity-form--create .crm-inline-field .crm-inline-field__value textarea {
  display: block;
  width: 100%;
}

.crm-opportunity-form--create .crm-inline-field .crm-inline-field__value .input-group {
  display: flex;
}

.crm-opportunity-form--inline .crm-inline-field.is-editing .crm-inline-field__control {
  display: block;
  width: 100%;
}

/* Edit: gray display is removed from layout; control occupies the same slot (no stacked overlay). */
.crm-opportunity-form--inline .crm-inline-field--horiz.is-editing:not([data-inline-field-wide]):not([data-inline-tall-control]) .crm-inline-field__value {
  min-height: auto;
}

.crm-opportunity-form--inline .crm-inline-field--horiz.is-editing:not([data-inline-field-wide]):not([data-inline-tall-control]) .crm-inline-field__control {
  position: static;
  inset: auto;
  z-index: auto;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.crm-opportunity-form--inline .crm-inline-field--horiz[data-inline-tall-control].is-editing .crm-inline-field__control {
  position: static;
  inset: auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.crm-opportunity-form--inline .crm-inline-field--horiz[data-inline-tall-control].is-editing .crm-inline-field__display {
  display: none;
}

.crm-opportunity-form--inline .crm-inline-field.is-editing .crm-inline-field__display,
.crm-opportunity-form--inline .crm-inline-field.is-editing.is-hover .crm-inline-field__display {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.crm-opportunity-form--inline .crm-inline-field[data-inline-field-wide].is-editing .crm-inline-field__value,
.crm-opportunity-form--inline .crm-inline-field[data-inline-field-wide].is-editing .crm-inline-field__value--stack {
  min-height: auto;
}

.crm-opportunity-form--inline .crm-inline-field__display {
  display: block;
  width: 100%;
  margin: 0;
  min-height: 2.25rem;
  padding: 0.35rem 0.5rem;
  box-sizing: border-box;
  text-align: inherit;
  border: 1px solid transparent;
  border-radius: 0.2rem;
  background: transparent;
  box-shadow: none;
  color: inherit;
  cursor: text;
  font: inherit;
  font-size: 0.875rem;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-opportunity-form--inline .crm-inline-field__display.crm-amount-with-unit {
  display: inline-flex;
  width: 100%;
  white-space: nowrap;
  text-overflow: clip;
  overflow: hidden;
}

.crm-opportunity-form--inline .crm-inline-field.is-hover:not(.is-editing) .crm-inline-field__display {
  background: var(--list-hover-focus-bg, var(--bs-tertiary-bg, #eef0f3));
  border-color: var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.12)));
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.crm-opportunity-form--inline .crm-inline-field__display--multiline {
  white-space: pre-wrap;
  overflow: auto;
  min-height: 4.5rem;
  max-height: 4.5rem;
}

.crm-opportunity-form--inline .crm-inline-field--stack.is-editing .crm-inline-field__control .form-control {
  min-height: 4rem;
}

.crm-opportunity-form--inline .crm-form-field-primary .crm-inline-field__display {
  font-weight: 600;
  font-size: 1rem;
}

.crm-opportunity-form--inline .crm-form-field-primary .crm-inline-field__label {
  color: var(--default-text-color, inherit);
  font-weight: 600;
}

/* Edit hub — tight vertical rhythm between inline fields (leads + opportunities + orgs) */
.crm-opportunity-form--edit-layout .crm-opportunity-edit-layout > [class*="col-"] > .row {
  --bs-gutter-y: 0;
  --bs-gutter-x: 0;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: min-content;
  align-content: start;
  align-items: start;
  row-gap: 0.65rem;
  column-gap: 0.65rem;
  flex: 0 0 auto !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-inline: 0 !important;
  padding-top: 0.45rem;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info > .row > [class*="col-"]:not(.col-6),
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline > .row > [class*="col-"]:not(.col-6) {
  grid-column: 1 / -1;
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info > .row > .col-6,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline > .row > .col-6 {
  grid-column: span 1;
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

.crm-opportunity-form--edit-layout .crm-lead-ident-cluster {
  --bs-gutter-x: 0.5rem;
  --bs-gutter-y: 0;
  margin: 0;
  width: 100%;
}

.crm-opportunity-form--edit-layout .crm-lead-ident-cluster > [class*="col-"] {
  min-width: 0;
}

.crm-opportunity-form--edit-layout .crm-lead-ident-cluster > .col-6 {
  flex: 0 0 50%;
  width: 50%;
  max-width: 50%;
}

.crm-opportunity-form--edit-layout .crm-inline-field {
  margin-bottom: 0 !important;
}

.crm-opportunity-form--edit-layout .crm-inline-field--horiz,
.crm-opportunity-form--edit-layout .crm-inline-field--stack {
  gap: 0.1rem 0.65rem;
}

.crm-opportunity-form--edit-layout .crm-inline-field__value {
  min-height: 1.7rem;
}

.crm-opportunity-form--edit-layout .crm-inline-field__value--stack {
  min-height: 2.5rem;
}

.crm-opportunity-form--edit-layout .crm-inline-field__display {
  min-height: 1.7rem;
  padding: 0.12rem 0.4rem;
  line-height: 1.3;
}

.crm-opportunity-form--edit-layout .crm-inline-field__display--multiline {
  min-height: 2.5rem;
  max-height: 2.5rem;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__col-head {
  margin-bottom: 0.2rem;
  padding-bottom: 0.28rem;
  border-bottom: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info > header + .row,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline > header + .row {
  margin-top: 0;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info > header + .row > [class*="col-"],
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline > header + .row > [class*="col-"] {
  padding-top: 0;
}

/* Opportunity edit hub — page fills viewport; activities column scrolls inside */
.page:has(.crm-opportunity-form--edit-layout) {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

.page:has(.crm-opportunity-form--edit-layout) > .footer {
  flex-shrink: 0;
}

/* Opportunity edit — three columns + MSCRM-style activity feed */
.crm-opportunity-form--edit-layout .crm-opportunity-edit-layout {
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: start;
  margin: 0 !important;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit-layout > [class*="col-"] {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0;
  flex: none;
  padding: 0.75rem 1.35rem !important;
  margin: 0 !important;
  align-self: stretch;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__feed {
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  border-radius: 0;
  background: var(--custom-white, #fff);
}

@media (min-width: 1200px) {
  .crm-opportunity-form--edit-layout .crm-opportunity-edit-layout {
    /* RTL: info | feed | pipeline  ≈ 4 | 5 | 3 */
    grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr);
    align-items: stretch;
  }
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__col-head .crm-form-section-title {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__feed {
  min-width: 0;
}

@media (max-width: 1199.98px) {
  .crm-opportunity-form--edit-layout .crm-opportunity-edit__feed {
    margin-block: 0.5rem 1rem;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  .crm-opportunity-form--edit-layout .crm-opportunity-edit__feed > .crm-activity-feed {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .crm-opportunity-form--edit-layout .crm-activity-feed__panel {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .crm-opportunity-form--edit-layout .crm-activity-feed__panel-body {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}

@media (min-width: 1200px) {
  .page:has(.crm-opportunity-form--edit-layout) {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
  }

  html:has(.crm-opportunity-form--edit-layout),
  body:has(.crm-opportunity-form--edit-layout) {
    overflow: hidden;
    height: 100%;
  }

  .page:has(.crm-opportunity-form--edit-layout) .main-content.app-content {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  .page:has(.crm-opportunity-form--edit-layout) .crm-page-chrome.page-header-breadcrumb {
    margin-bottom: 0.5rem !important;
    flex-shrink: 0;
  }

  .page:has(.crm-opportunity-form--edit-layout) .main-body-container.page-container {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
  }

  .page:has(.crm-opportunity-form--edit-layout) .crm-page-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  .page:has(.crm-opportunity-form--edit-layout) .crm-form-page {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  .crm-form-page form.crm-opportunity-form--edit-layout {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  .crm-form-page form.crm-opportunity-form--edit-layout > .alert {
    flex: 0 0 auto;
  }

  .crm-form-page form.crm-opportunity-form--edit-layout .crm-sales-form-card,
  .crm-form-page form.crm-opportunity-form--edit-layout .crm-sales-form-surface {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important;
  }

  .crm-form-page form.crm-opportunity-form--edit-layout .crm-sales-form-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
  }

  .crm-form-page form.crm-opportunity-form--edit-layout .crm-sales-form-footer {
    flex: 0 0 auto;
  }

  .crm-opportunity-form--edit-layout .crm-opportunity-edit-layout {
    flex: 1 1 auto;
    min-height: 0;
    align-items: stretch;
    height: auto;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .crm-opportunity-form--edit-layout .crm-opportunity-edit-layout > [class*="col-"] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    align-self: stretch;
  }

  .crm-opportunity-form--edit-layout .crm-opportunity-edit__info,
  .crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .crm-opportunity-form--edit-layout .crm-opportunity-edit__info > .row,
  .crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline > .row {
    flex: 0 0 auto !important;
    align-self: flex-start;
    width: 100%;
  }

  .crm-opportunity-form--edit-layout .crm-opportunity-edit__feed {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    max-height: none !important;
    overflow: hidden;
    align-self: stretch;
  }

  .crm-opportunity-form--edit-layout .crm-activity-feed {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .crm-opportunity-form--edit-layout .crm-activity-feed__head {
    flex: 0 0 auto;
  }

  .crm-opportunity-form--edit-layout .crm-activity-feed__panel {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .crm-opportunity-form--edit-layout .crm-activity-feed__load-more {
    flex: 0 0 auto;
    padding: 0.5rem 0 0;
    border-top: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
    margin-top: 0.25rem;
  }

  .crm-opportunity-form--edit-layout .crm-activity-feed__panel.d-none {
    display: none !important;
  }

  .crm-opportunity-form--edit-layout .crm-activity-feed__panel-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .crm-opportunity-form--edit-layout [data-feed-panel="notes"]:not(.d-none) .crm-activity-feed__panel-body {
    display: flex;
    flex-direction: column;
  }

  .crm-opportunity-form--edit-layout [data-feed-panel="notes"]:not(.d-none) .crm-notes-panel {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .crm-opportunity-form--edit-layout [data-feed-panel="notes"]:not(.d-none) .crm-notes-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .crm-opportunity-form--edit-layout .crm-activity-feed__list {
    overflow: visible;
  }
}

@media (min-width: 1200px) {
  .crm-opportunity-form--edit-layout .crm-opportunity-edit__col-head,
  .crm-opportunity-form--edit-layout .crm-activity-feed__head-row {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    box-sizing: border-box;
  }

  .crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline {
    position: relative;
    top: auto;
    align-self: stretch;
    z-index: 1;
  }

  .page:has(.crm-opportunity-form--edit-layout) .footer {
    flex-shrink: 0;
    margin-top: 0;
  }
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field--horiz,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field--horiz {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0.3rem;
  height: auto !important;
  min-height: 0 !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field__label,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field__label {
  flex: 0 0 auto;
  max-width: 100%;
  text-align: start;
  padding-top: 0;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--default-text-color);
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field__value,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field__value {
  flex: 0 1 auto;
  width: 100%;
  min-height: 0;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field__validation,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field__validation {
  flex: 0 0 auto !important;
  margin-inline-start: 0;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field__validation:empty,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field__validation:empty {
  display: none;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field--horiz[data-inline-field-wide] .crm-inline-field__validation,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field--horiz[data-inline-tall-control] .crm-inline-field__validation,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field--horiz[data-inline-field-wide] .crm-inline-field__validation,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field--horiz[data-inline-tall-control] .crm-inline-field__validation {
  margin-inline-start: 0;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field__label--with-customer-open {
  justify-content: flex-start;
  width: 100%;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-record-tags-field,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-record-tags-field {
  margin: 0;
  height: auto !important;
  min-height: 0 !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-record-tags-field .form-label,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-record-tags-field .form-label {
  margin-bottom: 0.3rem;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-record-tags-field .form-text,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-record-tags-field .form-text {
  margin-top: 0.25rem;
  margin-bottom: 0;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-contact-comm {
  width: 100%;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-contact-comm__email-input {
  max-width: none;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-geography-fields,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-geography-fields {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  margin: 0;
  --bs-gutter-y: 0.65rem;
  --bs-gutter-x: 0.65rem;
}

.crm-opportunity-form--edit-layout .crm-geography-fields.row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
}

.crm-opportunity-form--edit-layout .crm-geography-fields > .crm-inline-field.col-6 {
  flex: 0 0 50%;
  width: 50%;
  max-width: 50%;
  box-sizing: border-box;
  padding-inline: calc(var(--bs-gutter-x, 0.65rem) * 0.5);
}

.crm-opportunity-form--edit-layout .crm-geography-fields > .crm-inline-field.col-12 {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.crm-opportunity-form--edit-layout .crm-record-tags-field.crm-inline-field .crm-inline-field__display {
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}

.crm-opportunity-form--edit-layout .crm-record-tags-field.crm-inline-field:not(.is-editing) .crm-inline-field__control .form-text {
  display: none;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field--horiz[data-inline-field-wide] .crm-inline-field__value,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field--horiz[data-inline-tall-control] .crm-inline-field__value,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field--horiz[data-inline-field-wide] .crm-inline-field__value,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field--horiz[data-inline-tall-control] .crm-inline-field__value {
  min-height: 0 !important;
  flex: 0 1 auto !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field[data-inline-field-wide]:not(.is-editing) .crm-inline-field__value,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field[data-inline-tall-control]:not(.is-editing) .crm-inline-field__value,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field[data-inline-field-wide]:not(.is-editing) .crm-inline-field__value,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field[data-inline-tall-control]:not(.is-editing) .crm-inline-field__value {
  min-height: 0 !important;
  height: auto !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field[data-inline-tall-control]:not(.is-editing) .crm-inline-field__display--multiline,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field[data-inline-tall-control]:not(.is-editing) .crm-inline-field__display--multiline {
  min-height: 1.7rem;
  max-height: none;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline {
  position: relative;
  z-index: 4;
  isolation: isolate;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field {
  position: relative;
  z-index: 0;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field.is-editing,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field.is-editing {
  z-index: 60;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field__value,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field__value {
  position: relative;
  z-index: auto;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field.is-editing .crm-inline-field__value,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field.is-editing .crm-inline-field__value {
  min-height: 0 !important;
  height: auto !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field .crm-inline-field__control,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field .crm-inline-field__control {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
  height: auto !important;
  overflow: visible !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field .crm-inline-field__value > .flatpickr-wrapper,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field .crm-inline-field__value > input.flatpickr-input,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field .crm-inline-field__value > .flatpickr-wrapper,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field .crm-inline-field__value > input.flatpickr-input {
  display: block !important;
  pointer-events: auto !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field:not(.is-editing):hover .crm-inline-field__display,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field:not(.is-editing):hover .crm-inline-field__display {
  display: none !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field.is-editing .crm-inline-field__display,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field.is-editing .crm-inline-field__display {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field.is-editing .crm-inline-field__control .choices__list--dropdown,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field.is-editing .crm-inline-field__control .choices__list[aria-expanded],
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field.is-editing .crm-inline-field__control .choices__list--dropdown,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field.is-editing .crm-inline-field__control .choices__list[aria-expanded] {
  z-index: 40 !important;
}

.crm-opportunity-form--edit-layout .crm-inline-field .crm-inline-field__control .flatpickr-wrapper,
.crm-opportunity-form--edit-layout .crm-inline-field .crm-inline-field__control .flatpickr-input {
  display: block !important;
}

.crm-opportunity-form--edit-layout .crm-inline-field .crm-inline-field__value,
.crm-opportunity-form--edit-layout .crm-inline-field .crm-inline-field__control,
.crm-opportunity-form--edit-layout .crm-inline-field .flatpickr-wrapper {
  overflow: visible;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field .flatpickr-wrapper {
  position: relative;
  z-index: 2;
}

.crm-opportunity-form--inline .crm-inline-field .flatpickr-calendar.static.open,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field .flatpickr-calendar.static.open {
  z-index: 100 !important;
}

.crm-opportunity-form--inline .crm-inline-field__display,
.crm-opportunity-form--edit-layout .crm-inline-field__display {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field:not(.is-editing):hover .crm-inline-field__display,
.crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field:not(.is-editing):hover .crm-inline-field__display,
.crm-opportunity-form--inline .crm-inline-field.is-hover:not(.is-editing) .crm-inline-field__display {
  box-shadow: none !important;
  background: transparent !important;
}

.crm-activity-feed {
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  border-radius: var(--bs-border-radius, 0.375rem);
  background: var(--custom-white);
  overflow: hidden;
}

/* In create/edit forms: feed lives inside parent panel — no nested box */
.crm-form-page .crm-activity-feed,
.crm-opportunity-form--edit-layout .crm-activity-feed,
.crm-opportunity-edit__feed > .crm-activity-feed {
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  height: 100%;
}

.crm-form-page .crm-activity-feed__head,
.crm-opportunity-form--edit-layout .crm-activity-feed__head,
.crm-opportunity-edit__feed > .crm-activity-feed .crm-activity-feed__head {
  background: transparent;
  border-bottom-color: var(--bs-border-color, rgba(0, 0, 0, 0.08));
}

.crm-form-page .crm-activity-feed__head-row,
.crm-opportunity-form--edit-layout .crm-activity-feed__head-row,
.crm-opportunity-edit__feed > .crm-activity-feed .crm-activity-feed__head-row {
  padding-inline: 0;
  padding-top: 0;
}

.crm-form-page .crm-activity-feed__toolbar,
.crm-opportunity-form--edit-layout .crm-activity-feed__toolbar,
.crm-opportunity-edit__feed > .crm-activity-feed .crm-activity-feed__toolbar {
  padding-inline: 0;
}

.crm-form-page .crm-activity-feed__panel,
.crm-opportunity-form--edit-layout .crm-activity-feed__panel,
.crm-opportunity-edit__feed > .crm-activity-feed .crm-activity-feed__panel {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.crm-form-page .crm-activity-feed__panel-body,
.crm-opportunity-form--edit-layout .crm-activity-feed__panel-body,
.crm-opportunity-edit__feed > .crm-activity-feed .crm-activity-feed__panel-body {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-inline: 0;
  margin-top: 2px;
  padding: 0;
}

.crm-form-page .crm-activity-feed [data-feed-panel="activities"] .crm-activity-feed__list,
.crm-opportunity-form--edit-layout .crm-activity-feed [data-feed-panel="activities"] .crm-activity-feed__list,
.crm-opportunity-edit__feed > .crm-activity-feed [data-feed-panel="activities"] .crm-activity-feed__list {
  width: 100%;
}

.crm-form-page .crm-activity-feed__empty,
.crm-opportunity-form--edit-layout .crm-activity-feed__empty,
.crm-opportunity-edit__feed > .crm-activity-feed .crm-activity-feed__empty {
  padding-inline: 0;
}

.crm-activity-feed__head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
  border-bottom: 1px solid var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
  background: var(--custom-white, var(--custom-white));
}

.crm-activity-feed__head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem 1rem 0.35rem;
}

.crm-activity-feed__tabs {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.crm-activity-feed__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  border: 0;
  background: transparent;
  padding: 0.25rem 0;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--bs-secondary-color, #6c757d);
  cursor: pointer;
  border-bottom: 2px solid transparent;
}

.crm-activity-feed__tab.is-active {
  color: var(--primary-color, var(--bs-primary));
  border-bottom-color: var(--primary-color, var(--bs-primary));
}

.crm-activity-feed__tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  padding: 0.05rem 0.35rem;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.25;
  border-radius: 999px;
  background: var(--list-hover-focus-bg, var(--bs-tertiary-bg, #eef0f3));
  color: var(--bs-secondary-color, #6c757d);
}

.crm-activity-feed__tab.is-active .crm-activity-feed__tab-count {
  color: var(--primary-color, var(--bs-primary));
  background: color-mix(in srgb, var(--primary-color, var(--bs-primary)) 14%, transparent);
}

.crm-activity-feed__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.65rem;
  padding: 0.2rem 1rem 0.65rem;
  font-size: 0.8125rem;
  color: var(--primary-color, var(--bs-primary));
}

.crm-activity-feed__filter {
  flex: 0 0 auto;
  max-width: 9rem;
}

.crm-activity-feed__filter .form-select {
  border: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23845adf' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: left 0 center;
  background-size: 0.65rem;
  padding: 0 0 0 1rem;
  min-height: 1.5rem;
  height: auto;
  font-size: inherit;
  font-weight: 500;
  color: inherit;
  box-shadow: none;
  cursor: pointer;
  width: auto;
  min-width: 3.5rem;
}

.crm-activity-feed__quick {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.crm-activity-feed__quick-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin: 0;
  padding: 0.28rem 0.55rem;
  border: 1px solid rgba(var(--primary-rgb, 132, 90, 223), 0.22);
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.06);
  color: var(--primary-color, var(--bs-primary));
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
}

.crm-activity-feed__quick-link i {
  font-size: 0.95rem;
  line-height: 1;
}

.crm-activity-feed__quick-link:hover,
.crm-activity-feed__quick-link:focus-visible {
  color: #fff;
  background: var(--primary-color, var(--bs-primary));
  border-color: var(--primary-color, var(--bs-primary));
  outline: 0;
}

.crm-activity-feed__quick-link--more {
  background: transparent;
}

.crm-activity-feed__quick-sep {
  display: none;
}

@media (max-width: 767.98px) {
  .crm-activity-feed__quick-link {
    min-height: 2.5rem;
    padding-inline: 0.7rem;
  }
}

.crm-activity-feed__panel {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.crm-activity-feed__panel-body {
  min-height: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 2px;
}

/* Activities list — visible scrollbar when content overflows */
.crm-activity-feed [data-feed-panel="activities"] .crm-activity-feed__panel-body {
  overflow-y: auto;
  scrollbar-gutter: auto;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--default-text-color, #323130) 35%, transparent)
    color-mix(in srgb, var(--bs-border-color, #dee2e6) 55%, transparent);
}

.crm-activity-feed [data-feed-panel="activities"] .crm-activity-feed__panel-body::-webkit-scrollbar {
  width: 0.5rem;
}

.crm-activity-feed [data-feed-panel="activities"] .crm-activity-feed__panel-body::-webkit-scrollbar-track {
  background: color-mix(in srgb, var(--bs-border-color, #dee2e6) 40%, transparent);
  border-radius: 0.25rem;
}

.crm-activity-feed [data-feed-panel="activities"] .crm-activity-feed__panel-body::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--default-text-color, #323130) 30%, transparent);
  border-radius: 0.25rem;
  border: 2px solid transparent;
  background-clip: padding-box;
}

.crm-activity-feed [data-feed-panel="activities"] .crm-activity-feed__panel-body::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--default-text-color, #323130) 45%, transparent);
  background-clip: padding-box;
}

.crm-activity-feed__list {
  margin: 0;
}

.crm-activity-feed__load-more {
  padding: 0.75rem 0 0.25rem;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.crm-activity-feed__item {
  display: flex;
  align-items: stretch;
  gap: 0;
  padding: 0;
  border: 0;
  background: var(--custom-white, var(--custom-white));
  transition: background-color 0.12s ease;
}

.crm-activity-feed__item + .crm-activity-feed__item {
  border-top: 1px solid var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.06)));
}

.crm-activity-feed__item:hover:not(.is-done) {
  background: var(--list-hover-focus-bg, var(--bs-tertiary-bg, #eef0f3));
}

.crm-activity-feed__item.is-done {
  background: var(--list-hover-focus-bg, var(--bs-tertiary-bg, #eef0f3));
}

.crm-activity-feed__item.is-done:hover {
  background: color-mix(in srgb, var(--list-hover-focus-bg, var(--bs-tertiary-bg, #eef0f3)) 85%, var(--default-text-color) 15%);
}

.crm-activity-feed__icon {
  flex: 0 0 3rem;
  width: 3rem;
  align-self: stretch;
  min-height: 3.25rem;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-inline-end: 1px solid var(--default-border, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
  border-radius: 0;
  background: var(--custom-white, var(--custom-white));
  color: var(--bs-secondary-color, #6c757d);
  font-size: 1.35rem;
}

.crm-activity-feed__icon i {
  display: inline-block;
  font-size: 1.35rem;
  line-height: 1;
  width: 1em;
  height: 1em;
  flex: none;
}

.crm-activity-feed__item:hover:not(.is-done) .crm-activity-feed__icon {
  background: var(--list-hover-focus-bg, var(--bs-tertiary-bg, #eef0f3));
}

.crm-activity-feed__item.is-done .crm-activity-feed__icon {
  background: var(--list-hover-focus-bg, var(--bs-tertiary-bg, #eef0f3));
}

.crm-activity-feed__item.is-done:hover .crm-activity-feed__icon {
  background: color-mix(in srgb, var(--list-hover-focus-bg, var(--bs-tertiary-bg, #eef0f3)) 85%, var(--default-text-color) 15%);
}

.crm-activity-status-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  vertical-align: middle;
}

.crm-activity-status-label__text {
  display: inline;
}

.crm-activity-status-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 0.2rem;
  font-size: 0.9rem;
  line-height: 1;
}

.crm-activity-status-icon--completed {
  color: var(--bs-success, #198754);
  background: transparent;
}

.crm-activity-status-icon--cancelled {
  color: var(--bs-danger, #dc3545);
  background: transparent;
}

.crm-activity-feed__content {
  flex: 1;
  min-width: 0;
  padding: 0.35rem 0.65rem 0.4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.12rem;
}

.crm-activity-feed__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0;
  min-height: 1.25rem;
}

.crm-activity-feed__title {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--bs-body-color);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-activity-feed__actions {
  display: flex;
  gap: 0.2rem;
  flex-shrink: 0;
  align-items: center;
}

.crm-activity-feed__top-actions {
  direction: ltr;
  gap: 0.35rem;
  max-width: min(100%, 22rem);
  flex-wrap: wrap;
  justify-content: flex-start;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease;
}

@media (hover: hover) {
  .crm-activity-feed__item:hover .crm-activity-feed__top-actions {
    opacity: 1;
    pointer-events: auto;
  }
}

.crm-activity-feed__item:focus-within .crm-activity-feed__top-actions {
  opacity: 1;
  pointer-events: auto;
}

@media (hover: none) {
  .crm-activity-feed__top-actions {
    opacity: 1;
    pointer-events: auto;
  }
}

.crm-activity-feed__complete-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin: -0.15rem -0.3rem;
  padding: 0.15rem 0.3rem;
  border: 0;
  border-radius: var(--bs-border-radius-sm, 0.25rem);
  background: transparent;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.25;
  color: rgb(var(--success-rgb, 33, 206, 158));
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.12s ease, color 0.12s ease;
}

.crm-activity-feed__complete-link:hover,
.crm-activity-feed__complete-link:focus-visible {
  color: rgb(22, 160, 133);
  background: rgba(var(--success-rgb, 33, 206, 158), 0.1);
  text-decoration: none;
}

.crm-activity-feed__body-row {
  margin-bottom: 0.15rem;
}

.crm-activity-feed__body {
  flex: 1;
  min-width: 0;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: var(--bs-body-color);
  margin-bottom: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.crm-activity-feed__body--clamp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.crm-activity-feed__body-row.is-expanded .crm-activity-feed__body--clamp {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}

.crm-activity-feed__item-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.45rem;
  margin-top: 0.1rem;
  line-height: 1.3;
}

.crm-activity-feed__toolbar-status {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  font-size: 0.8125rem;
  font-weight: 400;
}

.crm-activity-feed__status-text--completed {
  color: var(--bs-body-color);
  font-weight: 400;
}

.crm-activity-feed__status-done-label {
  color: rgb(var(--success-rgb, 33, 206, 158));
  font-weight: 400;
}

.crm-activity-feed__status-by {
  color: var(--bs-body-color);
  font-weight: 400;
}

.crm-activity-feed__status-text--open {
  color: var(--bs-body-color);
}

.crm-activity-feed__status-cancelled .crm-activity-status-label__text,
.crm-activity-feed__status-cancelled .crm-activity-status-icon--cancelled,
.crm-activity-feed__status-text--cancelled {
  color: rgb(var(--danger-rgb, 220, 53, 69));
}

.crm-activity-feed__toolbar-sep {
  color: var(--bs-border-color, #ced4da);
  font-size: 0.75rem;
  user-select: none;
}

.crm-activity-feed__toolbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  padding: 0;
  line-height: 1;
  cursor: pointer;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-activity-feed__toolbar-btn--delete {
  font-size: 1rem;
}

.crm-activity-feed__toolbar-btn--delete:hover,
.crm-activity-feed__toolbar-btn--delete:focus-visible {
  color: var(--bs-danger, #dc3545);
}

.crm-activity-feed__toolbar-btn--expand {
  font-size: 1.15rem;
  color: var(--primary-color, var(--bs-primary));
}

.crm-activity-feed__toolbar-expand-wrap {
  display: none;
  align-items: center;
  gap: 0.45rem;
}

.crm-activity-feed__item-toolbar.has-overflow .crm-activity-feed__toolbar-expand-wrap,
.crm-activity-feed__item-toolbar.is-expanded .crm-activity-feed__toolbar-expand-wrap,
.crm-activity-feed__top-actions.has-overflow .crm-activity-feed__toolbar-expand-wrap,
.crm-activity-feed__top-actions.is-expanded .crm-activity-feed__toolbar-expand-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.crm-activity-feed__toolbar-btn--expand[hidden] {
  display: none !important;
}

.crm-activity-feed__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.5rem;
  font-size: 0.7rem;
  line-height: 1.3;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-activity-feed__item.is-open .crm-activity-feed__status {
  color: var(--bs-body-color);
}

.crm-activity-feed__status-name {
  font-weight: 400;
  color: var(--bs-body-color);
}

.crm-activity-feed__when,
.crm-activity-feed__time {
  color: inherit;
  font-size: inherit;
}

.crm-activity-feed__empty,
.crm-activity-feed__notes {
  padding: 1.25rem 1rem;
}

.crm-activity-feed__notes-body {
  white-space: pre-wrap;
  line-height: 1.6;
}

.crm-notes-panel {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.35rem 0.5rem 0.5rem;
}

/* Opportunity feed — composer callout points at «یادداشت‌ها» tab */
.crm-activity-feed [data-feed-panel="notes"]:not(.d-none) .crm-notes-composer {
  --crm-notes-callout-x: 50%;
  position: relative;
  margin-top: 0.1rem;
  padding-top: 0.45rem;
}

.crm-activity-feed [data-feed-panel="notes"]:not(.d-none) .crm-notes-composer::before,
.crm-activity-feed [data-feed-panel="notes"]:not(.d-none) .crm-notes-composer::after {
  content: "";
  position: absolute;
  top: 0.45rem;
  left: var(--crm-notes-callout-x);
  width: 0;
  height: 0;
  pointer-events: none;
}

.crm-activity-feed [data-feed-panel="notes"]:not(.d-none) .crm-notes-composer::before {
  transform: translate(-50%, -100%);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid var(--bs-border-color, rgba(0, 0, 0, 0.12));
  z-index: 2;
}

.crm-activity-feed [data-feed-panel="notes"]:not(.d-none) .crm-notes-composer::after {
  transform: translate(-50%, calc(-100% + 1px));
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid var(--custom-white);
  z-index: 3;
}

.crm-notes-composer__inner {
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.12));
  border-radius: 0.3rem;
  background: var(--custom-white);
  overflow: hidden;
  transition: border-color 0.12s ease;
}

.crm-notes-composer.is-expanded .crm-notes-composer__inner,
.crm-notes-composer__inner:focus-within {
  border-color: var(--bs-border-color, rgba(0, 0, 0, 0.12));
  box-shadow: none;
}

.crm-notes-composer {
  --crm-notes-composer-line-h: calc(0.8125rem * 1.25 + 0.5rem + 2px);
}

.crm-notes-composer.is-collapsed [data-composer-expanded] {
  display: none !important;
}

.crm-notes-composer.is-collapsed .crm-notes-composer__inner {
  display: block;
  padding: 0;
  min-height: 0;
  height: var(--crm-notes-composer-line-h);
  max-height: var(--crm-notes-composer-line-h);
  line-height: 0;
}

.crm-notes-composer.is-collapsed .crm-notes-composer__inner > :not(.crm-notes-composer__body) {
  display: none !important;
}

.crm-notes-composer.is-collapsed .crm-notes-composer__body {
  display: block;
  width: 100%;
  min-height: 0 !important;
  height: var(--crm-notes-composer-line-h) !important;
  max-height: var(--crm-notes-composer-line-h) !important;
  margin: 0;
  overflow: hidden;
  resize: none;
  padding: 0.25rem 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.25;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
}

.crm-notes-composer.is-expanded .crm-notes-composer__body {
  min-height: 3.25rem;
  resize: vertical;
  padding: 0.35rem 0.5rem;
  font-size: 0.8125rem;
}

.crm-notes-composer__title-wrap {
  padding: 0.35rem 0.5rem 0.15rem;
}

.crm-notes-composer__title,
.crm-note-item__input-title {
  border: 0;
  box-shadow: none;
  padding: 0;
  font-weight: 600;
  font-size: 0.8125rem;
  background: transparent;
}

.crm-notes-composer__title:focus,
.crm-notes-composer__title:focus-visible,
.crm-note-item__input-title:focus,
.crm-note-item__input-title:focus-visible {
  box-shadow: none;
  outline: none;
  border: 0;
}

.crm-notes-composer__divider {
  border-top: 1px dotted var(--bs-border-color, rgba(0, 0, 0, 0.1));
  margin-inline: 0.5rem;
}

.crm-notes-composer__body,
.crm-note-item__input-body {
  border: 0;
  box-shadow: none;
  background: transparent;
  line-height: 1.45;
}

.crm-notes-composer__body:focus,
.crm-notes-composer__body:focus-visible,
.crm-note-item__input-body:focus,
.crm-note-item__input-body:focus-visible {
  box-shadow: none;
  outline: none;
  border: 0;
}

.crm-notes-panel .form-control:focus,
.crm-notes-panel .form-control:focus-visible {
  box-shadow: none !important;
  outline: none !important;
  border-color: transparent !important;
}

.crm-notes-composer__footer,
.crm-note-item__edit-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 0.3rem 0.45rem;
  background: var(--bs-tertiary-bg, #f3f4f6);
  border-top: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.06));
}

.crm-notes-composer__attach {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.4rem;
  min-width: 0;
}

.crm-notes-composer__attach-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bs-secondary-color, #6c757d);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}

.crm-notes-composer__attach-btn:hover,
.crm-notes-composer__attach-btn:focus-visible {
  color: var(--primary-color, var(--bs-primary));
}

.crm-notes-pending-files {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}

.crm-notes-pending-files__item,
.crm-notes-file-row {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  max-width: 100%;
  min-width: 0;
  line-height: 1.3;
  vertical-align: top;
}

.crm-notes-pending-files__name,
.crm-notes-file-row__name {
  flex: 0 1 auto;
  min-width: 0;
  max-width: calc(100% - 1.25rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.7rem;
  color: var(--bs-secondary-color, #6c757d);
  text-decoration: none;
}

.crm-notes-file-row__name:hover,
.crm-notes-file-row__name:focus-visible {
  color: var(--primary-color, var(--bs-primary));
}

.crm-notes-file-row__name i {
  margin-inline-end: 0.2rem;
}

.crm-notes-pending-files__remove,
.crm-notes-file-row__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bs-secondary-color, #6c757d);
  font-size: 0.8rem;
  line-height: 1;
  cursor: pointer;
}

.crm-notes-pending-files__remove:hover,
.crm-notes-pending-files__remove:focus-visible,
.crm-notes-file-row__remove:hover,
.crm-notes-file-row__remove:focus-visible {
  color: var(--bs-danger, #dc3545);
}

.crm-notes-saved-files {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
}

.crm-notes-composer__actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-inline-start: auto;
}

.crm-notes-composer__text-btn {
  border: 0;
  background: transparent;
  padding: 0.15rem 0.35rem;
  font-size: 0.75rem;
  color: var(--bs-secondary-color, #6c757d);
  cursor: pointer;
}

.crm-notes-composer__text-btn:hover,
.crm-notes-composer__text-btn:focus-visible {
  color: var(--bs-body-color);
}

.crm-notes-composer__save {
  min-height: 1.65rem;
  padding: 0.15rem 0.55rem;
  font-size: 0.75rem;
}

.crm-notes-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.crm-notes-list__empty {
  padding: 0.35rem 0.15rem;
  font-size: 0.8125rem;
}

.crm-note-item {
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
  border-radius: 0.3rem;
  background: var(--custom-white);
}

.crm-note-item.is-editing {
  border-color: var(--bs-border-color, rgba(0, 0, 0, 0.1));
}

.crm-note-item__view {
  padding: 0.4rem 0.45rem;
  cursor: pointer;
  border-radius: inherit;
}

.crm-note-item__view:hover {
  background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.03));
}

.crm-note-item__view:focus-visible {
  outline: none;
}

.crm-note-item__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0.15rem;
}

.crm-note-item__title {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
  min-width: 0;
}

.crm-note-item__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bs-secondary-color, #6c757d);
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
}

.crm-note-item__icon-btn:hover,
.crm-note-item__icon-btn:focus-visible {
  color: var(--bs-danger, #dc3545);
}

.crm-note-item__body {
  white-space: pre-wrap;
  font-size: 0.75rem;
  line-height: 1.45;
  margin-bottom: 0.2rem;
  color: var(--bs-body-color);
}

.crm-note-item__edit {
  padding: 0.35rem 0.45rem 0;
}

.crm-note-item__edit .crm-note-item__input-title {
  margin-bottom: 0.2rem;
}

.crm-note-item__edit .crm-note-item__input-body {
  font-size: 0.75rem;
  min-height: 3rem;
  margin-bottom: 0.25rem;
  padding: 0.15rem 0;
}

.crm-note-item__edit .crm-note-item__edit-footer {
  margin: 0 -0.45rem;
  border-radius: 0 0 0.3rem 0.3rem;
}

.crm-note-item__attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
  font-size: 0.7rem;
  margin-bottom: 0.2rem;
}

.crm-note-item__attachments a {
  text-decoration: none;
}

.crm-note-item__meta {
  font-size: 0.65rem;
  line-height: 1.35;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem 0.35rem;
}

.crm-note-item__meta-sep {
  opacity: 0.55;
}

.crm-direction-toggle {
  display: inline-flex;
  width: 100%;
  max-width: 16rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.12));
  border-radius: var(--bs-border-radius, 0.375rem);
  overflow: hidden;
  background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.03));
}

.crm-direction-toggle__btn {
  display: inline-flex;
  flex: 1 1 50%;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border: 0;
  margin: 0;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  background: transparent;
  color: var(--bs-secondary-color, #6c757d);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.crm-direction-toggle__btn i {
  font-size: 1.05rem;
  line-height: 1;
}

.crm-direction-toggle__btn + .crm-direction-toggle__btn {
  border-inline-start: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.12));
}

.crm-direction-toggle__btn.is-active {
  background: var(--primary-color, var(--bs-primary));
  color: #fff;
}

.crm-direction-toggle__btn:focus-visible {
  outline: 2px solid var(--primary-color, var(--bs-primary));
  outline-offset: -2px;
  z-index: 1;
}

@media (max-width: 767.98px) {
  .crm-filter-field,
  .crm-filter-field-switch {
    flex: 1 1 100%;
    max-width: none;
    margin-inline-start: 0;
  }

  .crm-list-card-header {
    padding: 0.7rem 0.85rem 0.75rem;
  }

  /* Stack filters — fixed widths were forcing page-wide horizontal scroll on phones */
  .crm-list-card-header__row {
    flex-wrap: wrap;
    align-items: stretch;
    overflow: visible;
    gap: 0.65rem;
  }

  .crm-list-card-header__row .crm-filter-row {
    flex: 1 1 100%;
    flex-wrap: wrap;
    width: 100%;
    min-width: 0;
    gap: 0.65rem;
  }

  .crm-list-card-header .crm-filter-field:not(.crm-filter-field-switch) {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-inline-start: 0;
  }

  .crm-list-card-header .crm-filter-field-switch {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .crm-list-card-header .crm-filter-field-actions,
  .crm-list-card-header .crm-filter-field.d-flex {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .crm-list-card-header .crm-filter-field .btn,
  .crm-list-card-header .crm-filter-field-actions .btn {
    width: 100%;
    min-height: 2.5rem;
  }

  .crm-list-card-header__actions {
    width: 100%;
    margin-inline-start: 0;
    justify-content: stretch;
  }

  .crm-list-card-header__actions .btn {
    flex: 1 1 auto;
    min-height: 2.5rem;
  }

  .crm-main-content .crm-page-body,
  .main-content.app-content {
    overflow-x: clip;
  }

  .crm-page-command-bar {
    overflow: hidden;
  }
}

.crm-plans-overview {
  padding-bottom: 1.5rem;
}

.crm-plans-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  padding: 0.6rem 1rem;
  margin-bottom: 0.85rem;
  border-radius: 0.75rem;
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.06);
  border: 1px solid rgba(var(--primary-rgb, 111, 66, 193), 0.12);
}

.crm-plans-hero-copy {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  min-width: 0;
}

.crm-plans-kicker {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--primary-color, var(--bs-primary));
}

.crm-plans-hero-title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--bs-body-color);
}

.crm-plans-duration {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.25rem;
  padding: 0.2rem;
  border-radius: 999px;
  background: var(--custom-white);
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
}

.crm-plans-duration-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.25rem;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--bs-body-color);
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.crm-plans-duration-btn:hover {
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.08);
}

.crm-plans-duration-btn.is-active {
  color: #fff;
  background: var(--primary-color, var(--bs-primary));
  box-shadow: none;
}

@media (max-width: 575.98px) {
  .crm-plans-duration {
    width: 100%;
    justify-content: stretch;
  }

  .crm-plans-duration-btn {
    flex: 1 1 auto;
  }
}

.crm-plan-card {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 1.15rem 1.15rem 1rem;
  border-radius: 1rem;
  background: var(--custom-white);
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
  text-align: right;
}

.crm-plan-card.is-featured {
  border-color: rgba(var(--primary-rgb, 111, 66, 193), 0.45);
  box-shadow: 0 16px 40px rgba(var(--primary-rgb, 111, 66, 193), 0.16);
}

.crm-plan-ribbon {
  position: absolute;
  top: 0.85rem;
  inset-inline-end: 1rem;
  padding: 0.18rem 0.65rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  color: #fff;
  background: var(--primary-color, var(--bs-primary));
}

.crm-plan-card-head {
  margin-bottom: 0.7rem;
  padding-top: 0.15rem;
}

.crm-plan-name {
  margin: 0 0 0.2rem;
  font-size: 1.2rem;
  font-weight: 700;
}

.crm-plan-term {
  font-size: 0.8rem;
}

.crm-plan-price {
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px dashed var(--bs-border-color, rgba(0, 0, 0, 0.1));
  text-align: right;
}

.crm-plan-price-old {
  font-size: 0.9rem;
  color: var(--bs-secondary-color, #6c757d);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  margin-bottom: 0.25rem;
}

.crm-plan-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-bottom: 0.4rem;
}

.crm-plan-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.12rem 0.5rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  color: rgb(var(--danger-rgb, 220, 53, 69));
  background: rgba(var(--danger-rgb, 220, 53, 69), 0.1);
}

.crm-plan-badge-soft {
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.1);
}

.crm-plan-price-now {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: baseline;
  gap: 0.35rem;
}

.crm-plan-price-value,
.crm-plan-price-old {
  unicode-bidi: isolate;
  direction: ltr;
  text-align: right;
}

.crm-plan-price-value {
  display: inline-block;
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.crm-plan-price-unit {
  font-size: 0.8rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-plan-price-empty {
  font-size: 1rem;
  font-weight: 600;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-plan-valid {
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-plan-features {
  list-style: none;
  margin: 0 0 0.85rem;
  padding: 0;
  flex: 1 1 auto;
}

.crm-plan-features li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.22rem 0;
  font-size: 0.88rem;
}

.crm-plan-features i {
  font-size: 1.05rem;
  margin-top: 0.05rem;
}

.crm-plan-features .is-on i {
  color: rgb(var(--success-rgb, 25, 135, 84));
}

.crm-plan-features .is-off {
  color: var(--bs-secondary-color, #6c757d);
}

.crm-plan-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.45rem;
}

.crm-plan-link {
  text-align: center;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-plan-link:hover {
  color: var(--primary-color, var(--bs-primary));
}

.crm-plan-module-picker {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
  gap: 0.5rem;
}

.crm-plan-module-option {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.12));
  border-radius: 0.5rem;
  background: var(--custom-white);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 500;
}

.crm-plan-module-option:has(input:checked) {
  border-color: rgba(var(--primary-rgb, 111, 66, 193), 0.4);
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.07);
}

.crm-plan-modules {
  margin-top: 0.15rem;
  padding-top: 0.55rem;
  border-top: 1px dashed var(--bs-border-color, rgba(0, 0, 0, 0.1));
}

.crm-plan-modules .is-off i {
  color: #dc3545;
}

/* Platform member details */
.crm-member-details {
  padding-bottom: 0.25rem;
}

.crm-member-details > .row,
.crm-member-details > .crm-member-stats {
  margin-bottom: 1.5rem;
}

.crm-tenant-email-banner {
    border-inline-start: 3px solid var(--warning-rgb, #ffc107);
}

.crm-email-verify-panel {
  padding: 0.75rem 0.875rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(var(--primary-rgb, 111, 66, 193), 0.14);
  border-inline-start-width: 3px;
  border-inline-start-color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.04);
}

.crm-email-verify-notice {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8125rem;
  margin-bottom: 0.5rem;
}

.crm-email-verify-form .form-label-sm {
  font-size: 0.8125rem;
}

.crm-email-verify-input-group .btn {
  white-space: nowrap;
}

.crm-email-verify-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.25rem 0.5rem;
  margin-top: 0.35rem;
}

.crm-email-verify-meta .form-text {
  font-size: 0.75rem;
}

.crm-email-verify-sent {
  font-size: 0.8125rem;
}

.crm-email-verify-code-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.crm-email-otp {
  display: flex;
  justify-content: flex-start;
  gap: 0.3rem;
  flex-wrap: wrap;
}

.crm-email-otp--compact .crm-email-otp-digit {
  width: 2.1rem;
  height: 2.4rem;
  padding: 0;
  text-align: center;
  font-size: 1.05rem;
  font-weight: 600;
  border-radius: 0.375rem;
}

.crm-email-verify-panel input[readonly].form-control {
  background-color: var(--bs-secondary-bg, #f3f4f6);
  cursor: default;
}

@media (min-width: 992px) {
  .crm-email-verify-input-group > .form-control {
    min-width: 0;
    flex: 1 1 8rem;
  }
}

.crm-btn-working {
  pointer-events: none;
  opacity: 0.92;
}

.crm-spin-icon {
  display: inline-block;
  animation: crm-icon-spin 0.85s linear infinite;
}

@keyframes crm-icon-spin {
  to {
    transform: rotate(360deg);
  }
}

.crm-smtp-test-log {
  max-height: 16rem;
  overflow: auto;
  padding: 0.75rem 1rem;
  font-size: 0.75rem;
  line-height: 1.55;
  text-align: left;
  white-space: pre-wrap;
  word-break: break-word;
  background: var(--bs-tertiary-bg, #f8f9fa);
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  border-radius: 0.5rem;
}

.crm-member-hero .card-body {
  padding: 1.15rem 1.25rem;
}

.crm-member-avatar {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 1.45rem;
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.12);
}

.crm-member-kicker {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--primary-color, var(--bs-primary));
  margin-bottom: 0.1rem;
}

.crm-member-name {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.35;
}

.crm-member-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.2rem;
  font-size: 0.8rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-member-dot {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.45;
}

.crm-member-stats {
  margin: 0;
}

.crm-member-stat {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  height: 100%;
  padding: 0.95rem 1rem;
  border-radius: 0.75rem;
  background: var(--custom-white);
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
}

.crm-member-stat-icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 1.15rem;
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.1);
}

.crm-member-stat-label {
  font-size: 0.72rem;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.15rem;
}

.crm-member-stat-value {
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1.3;
}

.crm-member-empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  padding: 0.35rem 0;
  color: var(--bs-body-color);
}

.crm-member-empty i {
  font-size: 1.5rem;
  color: var(--bs-warning);
  margin-bottom: 0.35rem;
}

.crm-member-sub-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.crm-member-progress {
  margin-bottom: 1rem;
}

.crm-member-progress-bar {
  height: 0.4rem;
  border-radius: 999px;
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.1);
  direction: ltr;
}

.crm-member-progress-bar.crm-sub-remain--zero-days {
  position: relative;
  overflow: visible;
  background: rgba(var(--danger-rgb, 220, 53, 69), 0.12);
}

/* Trailing edge of remaining fill (left = انقضا under date row in RTL) */
.crm-member-progress-bar.crm-sub-remain--zero-days::after {
  content: "";
  position: absolute;
  top: 50%;
  left: var(--crm-sub-remain-end, 0%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--bs-danger, #dc3545);
  box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.55);
  transform: translate(-50%, -50%);
  animation: crm-sub-remain-zero-dot 1.1s ease-in-out infinite;
  z-index: 2;
  pointer-events: none;
}

.crm-tenant-index-sub-bar.crm-sub-remain--zero-days::after {
  width: 0.42rem;
  height: 0.42rem;
}

@keyframes crm-sub-remain-zero-dot {
  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.5);
  }
  50% {
    opacity: 0.3;
    box-shadow: 0 0 0 5px rgba(220, 53, 69, 0);
  }
}

.crm-member-progress-bar .progress-bar {
  border-radius: 999px;
}

.crm-member-progress-bar.crm-sub-remain--zero-days .progress-bar {
  min-width: 0;
  opacity: 0.35;
}

.crm-tenant-index-sub {
  min-width: 7.5rem;
  max-width: 11rem;
  vertical-align: middle;
}

.crm-tenant-index-sub-bar {
  height: 0.35rem;
  margin-bottom: 0.2rem;
}

.crm-tenant-index-sub-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: 0.35rem;
  max-width: 11rem;
  width: 100%;
}

.crm-tenant-index-sub-plan {
  grid-column: 1;
  justify-self: start;
  font-size: 0.7rem;
  color: var(--text-muted, #6c757d);
  line-height: 1.25;
  min-width: 0;
}

.crm-tenant-index-sub-expire {
  grid-column: 2;
  justify-self: end;
  font-size: 0.65rem;
  color: var(--text-muted, #6c757d);
  line-height: 1.25;
  white-space: nowrap;
}

.crm-member-progress-bar .progress-bar.crm-sub-remain-bar--ok,
.crm-tenant-index-sub-bar .progress-bar.crm-sub-remain-bar--ok {
  background-color: var(--bs-success, #198754);
}

.crm-member-progress-bar .progress-bar.crm-sub-remain-bar--warning,
.crm-tenant-index-sub-bar .progress-bar.crm-sub-remain-bar--warning {
  background-color: #e67e22;
}

.crm-member-progress-bar .progress-bar.crm-sub-remain-bar--danger,
.crm-tenant-index-sub-bar .progress-bar.crm-sub-remain-bar--danger {
  background-color: var(--bs-danger, #dc3545);
}

.crm-member-progress-bar .progress-bar.crm-sub-remain-bar--critical,
.crm-tenant-index-sub-bar .progress-bar.crm-sub-remain-bar--critical {
  background-color: #7f1d1d;
}

.crm-member-progress-bar .progress-bar.crm-sub-remain-bar--suspended,
.crm-tenant-index-sub-bar .progress-bar.crm-sub-remain-bar--suspended {
  background-color: var(--bs-warning, #ffc107);
}

.crm-tenant-index-sub-bar .progress-bar.crm-sub-remain-bar--muted {
  background-color: var(--bs-secondary, #6c757d);
}

.crm-member-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  background: rgba(var(--success-rgb, 25, 135, 84), 0.1);
  color: rgb(var(--success-rgb, 25, 135, 84));
}

.crm-member-chip i {
  font-size: 0.9rem;
}

.crm-status-badge-tip {
  cursor: help;
  text-decoration: underline dotted;
  text-underline-offset: 0.15em;
}

.crm-nav-owner-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.crm-nav-owner-badge {
  font-size: 0.62rem;
  font-weight: 600;
  padding: 0.15em 0.45em;
  margin-inline-start: auto;
}

.crm-today-stat .fs-4 {
  line-height: 1.2;
}

/* Tenant dashboard */
.crm-dashboard-hero__title {
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.35;
}

.crm-dashboard-hero__sub {
  font-size: 0.8125rem;
  line-height: 1.5;
}

.crm-dashboard-hero__badge {
  display: inline-block;
  margin-inline-start: 0.35rem;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.12);
}

.crm-dashboard-kpi {
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.crm-dashboard-kpi:hover {
  border-color: rgba(var(--primary-rgb, 132, 90, 223), 0.28);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}

.crm-dashboard-kpi__icon {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  margin-bottom: 0.55rem;
}

.crm-dashboard-kpi__icon--primary {
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.12);
}

.crm-dashboard-kpi__icon--info {
  color: var(--bs-info, #0dcaf0);
  background: rgba(var(--info-rgb, 13, 202, 240), 0.12);
}

.crm-dashboard-kpi__icon--success {
  color: var(--bs-success, #198754);
  background: rgba(var(--success-rgb, 25, 135, 84), 0.12);
}

.crm-dashboard-kpi__icon--warning {
  color: var(--bs-warning, #ffc107);
  background: rgba(var(--warning-rgb, 255, 193, 7), 0.18);
}

.crm-dashboard-kpi__label {
  font-size: 0.75rem;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.2rem;
}

.crm-dashboard-kpi__value {
  font-size: 1.25rem;
  font-weight: 650;
  line-height: 1.25;
}

.crm-dashboard-kpi__value--amount {
  font-size: 1rem;
  font-weight: 600;
}

.crm-dashboard-kpi__value--amount .crm-amount-value {
  font-size: inherit;
  font-weight: inherit;
}

.crm-dashboard-kpi__hint {
  margin-top: 0.25rem;
  font-size: 0.6875rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-dashboard-kpi--compact .card-body {
  padding: 0.55rem 0.65rem;
}

.crm-dashboard-kpi--compact .crm-dashboard-kpi__icon {
  width: 1.65rem;
  height: 1.65rem;
  font-size: 0.95rem;
  margin-bottom: 0.35rem;
  border-radius: 0.4rem;
}

.crm-dashboard-kpi--compact .crm-dashboard-kpi__label {
  font-size: 0.6875rem;
  margin-bottom: 0.1rem;
}

.crm-dashboard-kpi--compact .crm-dashboard-kpi__value {
  font-size: 1rem;
  font-weight: 600;
}

.crm-dashboard-kpi--compact .crm-dashboard-kpi__value--amount {
  font-size: 0.8125rem;
}

.crm-dashboard-kpi--compact .crm-dashboard-kpi__hint {
  font-size: 0.625rem;
  margin-top: 0.15rem;
}

.crm-dashboard-funnel__body {
  padding: 0.75rem 0.85rem 0.85rem 1rem;
}

.crm-dashboard-funnel__layout {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  min-height: 100%;
  direction: rtl;
}

.crm-dashboard-funnel__side-label {
  flex: 0 0 auto;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--default-text-color, #323130);
  line-height: 1.35;
  text-align: start;
  padding-inline: 0.15rem 0.35rem;
  align-self: center;
}

.crm-dashboard-funnel__viz-wrap {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: stretch;
  min-height: 12rem;
}

/* Stacked trapezoid funnel — first pipeline stage on top, last at bottom */
.crm-dashboard-funnel-viz {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
  max-width: min(100%, 24rem);
  height: 100%;
  min-height: 12rem;
  margin: 0 auto;
  padding: 0;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.06));
}

.crm-dashboard-funnel-viz__segment {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 0.35rem 1.25rem;
  margin: 0;
  background: var(--crm-pipeline-stage-accent, #0078d4);
  color: #fff;
  text-decoration: none;
  transition: filter 0.15s ease, transform 0.15s ease;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
  overflow: hidden;
}

.crm-dashboard-funnel-viz__segment + .crm-dashboard-funnel-viz__segment {
  margin-top: -1px;
}

.crm-dashboard-funnel-viz__segment:hover,
.crm-dashboard-funnel-viz__segment:focus-visible {
  filter: brightness(1.06);
  color: #fff;
  z-index: 20 !important;
}

.crm-dashboard-funnel-viz__segment.is-empty {
  opacity: 0.78;
}

.crm-dashboard-funnel-viz__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  direction: rtl;
  text-align: center;
}

.crm-dashboard-funnel-viz__title-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  line-height: 1.35;
  width: 100%;
}

.crm-dashboard-funnel-viz__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  font-size: 0.8125rem;
  font-weight: 700;
  opacity: 0.95;
}

.crm-dashboard-funnel-viz__name {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: min(100%, 14rem);
}

/* Record tags — Tagify (Vyzor template look) */
.crm-record-tags-field .tagify {
  --tag-inset-shadow-size: 0;
  --tags-disabled-bg: var(--gray-3, #f3f2f1);
  --tag-bg: var(--gray-3, #f3f2f1);
  --tag-hover: rgba(var(--primary-rgb, 0, 120, 212), 0.15);
  --tag-text-color: var(--default-text-color, #323130);
  --tag-text-color--edit: var(--default-text-color, #323130);
  --tag-invalid-color: rgba(var(--danger-rgb, 220, 53, 69), 0.5);
  --tag-invalid-bg: rgba(var(--danger-rgb, 220, 53, 69), 0.2);
  --tag-remove-bg: rgba(var(--danger-rgb, 220, 53, 69), 0.1);
  --tag-remove-btn-color: var(--default-text-color, #323130);
  --tag-remove-btn-bg--hover: rgba(var(--danger-rgb, 220, 53, 69), 0.3);
  --tag-pad: 0.2em 0.5em;
  width: 100%;
  border-color: var(--input-border, var(--default-border, #8a8886)) !important;
  border-radius: 0.25rem;
  min-height: 2.25rem;
  align-items: center;
}

.crm-record-tags-field .tagify.tags-look {
  border: 1px solid var(--default-border, #edebe9) !important;
  background-color: var(--custom-white, #fff) !important;
}

.crm-record-tags-field .tagify:hover:not(.tagify--focus):not(.tagify--invalid) {
  border-color: var(--input-border, #8a8886) !important;
}

.crm-record-tags-field .tagify.tagify--focus {
  border-color: var(--primary-color, #0078d4) !important;
  box-shadow: 0 0 0 1px var(--primary-color, #0078d4);
}

.crm-record-tags-field .tagify__tag {
  margin-inline: 7px 0 !important;
  margin-block: 5px !important;
  background-color: rgb(var(--light-rgb, 243, 242, 241));
}

.crm-record-tags-field .tagify__tag > div {
  font-size: 0.8125rem;
}

.crm-record-tags-field .tagify__tag > div::before {
  box-shadow: 0 0 0 var(--tag-inset-shadow-size) var(--gray-3, #edebe9) inset !important;
}

.crm-record-tags-field .tagify__input {
  margin: 3px !important;
  line-height: 1.65rem !important;
}

.crm-record-tags-field .tagify__tag__removeBtn {
  margin: 0 0.25rem !important;
}

[dir="rtl"] .crm-record-tags-field .tagify {
  direction: rtl;
}

.crm-activity-pending {
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.04);
}

.crm-activity-row {
  cursor: pointer;
}

.crm-activity-row .crm-list-record-link > i {
  color: inherit;
}

.crm-activity-row .crm-list-record-link:hover > span,
.crm-activity-row .crm-list-record-link:focus-visible > span {
  text-decoration: underline;
}

.crm-activity-overdue {
  background: rgba(var(--danger-rgb, 220, 53, 69), 0.06);
}

.crm-activity-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: 1px solid var(--bs-border-color, #dee2e6);
}

.crm-activity-calendar__grid--month .crm-activity-calendar__day {
  min-height: 6.5rem;
}

.crm-activity-calendar__grid--week .crm-activity-calendar__day {
  min-height: 10rem;
}

.crm-activity-calendar__weekday {
  padding: 0.5rem 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  background: var(--bs-light, #f8f9fa);
  border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.crm-activity-calendar__day {
  border-inline-end: 1px solid var(--bs-border-color, #dee2e6);
  border-bottom: 1px solid var(--bs-border-color, #dee2e6);
  padding: 0.35rem;
  vertical-align: top;
}

.crm-activity-calendar__day.is-outside {
  opacity: 0.45;
}

.crm-activity-calendar__day.is-today {
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.06);
}

.crm-activity-calendar__day-num {
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.crm-activity-calendar__event {
  display: block;
  font-size: 0.6875rem;
  line-height: 1.35;
  padding: 0.15rem 0.25rem;
  border-radius: 0.25rem;
  margin-bottom: 0.15rem;
  text-decoration: none;
  color: inherit;
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.1);
}

.crm-activity-calendar__event.is-overdue {
  background: rgba(var(--danger-rgb, 220, 53, 69), 0.12);
  color: var(--bs-danger, #dc3545);
}

.crm-activity-calendar__event-time {
  display: block;
  font-size: 0.625rem;
  opacity: 0.85;
}

.crm-activity-feed__item.is-overdue .crm-activity-feed__title {
  color: var(--bs-danger, #dc3545);
}

.crm-opportunity-form--closed .crm-opportunity-edit__info,
.crm-opportunity-form--closed .crm-opportunity-edit__pipeline,
.crm-opportunity-form--closed .crm-sales-form-main {
  pointer-events: none;
  opacity: 0.78;
}

.crm-opportunity-form--closed .crm-opportunity-edit__info .form-control,
.crm-opportunity-form--closed .crm-opportunity-edit__info .form-select,
.crm-opportunity-form--closed .crm-opportunity-edit__info textarea,
.crm-opportunity-form--closed .crm-opportunity-edit__pipeline .form-control,
.crm-opportunity-form--closed .crm-opportunity-edit__pipeline .form-select,
.crm-opportunity-form--closed .crm-record-tags-field .crm-record-tags-input {
  background-color: var(--gray-3, #f3f2f1);
}

.crm-opportunity-closed-notice {
  margin-inline: 0.75rem;
}

.crm-opportunity-closed-notice__status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-inline-start: 0.25rem;
  vertical-align: middle;
}

.crm-opportunity-closed-notice__status i {
  font-size: 1.1rem;
  line-height: 1;
  flex-shrink: 0;
}

.crm-opportunity-closed-notice.alert-success .crm-opportunity-closed-notice__status i {
  color: var(--bs-success, #198754);
}

.crm-opportunity-closed-notice.alert-warning .crm-opportunity-closed-notice__status i {
  color: var(--bs-warning-text-emphasis, #664d03);
}

.crm-pipeline-card__stagnant {
  font-size: 0.625rem;
  margin-inline-start: 0.35rem;
}

.crm-member-end-preview {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-member-end-preview strong {
  font-weight: 650;
  color: var(--bs-body-color);
}

.crm-member-history-current {
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.05);
}

.crm-member-history-pending-financial {
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.08);
}

.crm-member-history-highlight {
  outline: 2px solid rgba(var(--primary-rgb, 111, 66, 193), 0.45);
  outline-offset: -2px;
}

#financialConfirmError a,
#financialEditTxError a {
  font-weight: 600;
  text-decoration: underline;
}

.crm-member-compact-table .js-member-payment-receipt {
  text-decoration: none;
  vertical-align: baseline;
}

.crm-member-compact-table .js-member-payment-receipt:hover span {
  text-decoration: underline;
}

.crm-financial-table-total {
  background: var(--bs-light, #f8f9fa);
  border-top: 1px solid var(--bs-border-color, #dee2e6);
}

.crm-financial-table-total td {
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}

.crm-table-amount-unit {
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-financial-notify-unread .header-link#messageDropdown .header-link-icon {
  color: var(--bs-warning, #ffc107);
}

.crm-financial-notification-link:hover {
  background: var(--bs-light, #f8f9fa);
}

.crm-sidebar-financial-badge {
  font-size: 0.65rem;
  vertical-align: middle;
}

/* Index / list tables — primary row title → edit */
.crm-list-customer {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  min-width: 0;
}

.crm-list-customer > i {
  flex: 0 0 auto;
  font-size: 1rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-list-customer > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.crm-list-record-link {
  color: rgb(var(--primary-rgb));
  font-weight: 500;
  text-decoration: none;
}

.crm-list-record-link:hover,
.crm-list-record-link:focus-visible {
  color: rgb(var(--primary-rgb));
  opacity: 0.85;
  text-decoration: none;
}

.crm-amount-with-unit {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: baseline;
  gap: 0.35rem;
  white-space: nowrap;
}

.crm-amount-input-group {
  direction: ltr;
}

.crm-amount-input-group > .input-group-text {
  flex: 0 0 auto;
}

.crm-amount-unit {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-assign-modal-footer {
  max-width: 100%;
  overflow: hidden;
  background: var(--custom-white);
}

.crm-assign-payment-panel {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 1rem 1.25rem;
  background: var(--bs-light, #f8f9fa);
  border-top: 1px solid var(--bs-border-color, #dee2e6);
}

.crm-assign-payment-summary {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  margin-bottom: 0.75rem;
  background: var(--custom-white);
  border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
  border-radius: 0.5rem;
  max-width: 100%;
  min-width: 0;
}

.crm-assign-payment-summary__icon {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.45rem;
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.1);
  color: var(--bs-primary, #0d6efd);
  font-size: 1.15rem;
}

.crm-assign-payment-summary__body {
  flex: 1;
  min-width: 0;
}

.crm-assign-payment-summary__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
}

.crm-assign-payment-summary__label {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-assign-payment-summary__amount {
  font-size: 1.05rem;
  font-weight: 700;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.crm-assign-payment-summary__meta {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-assign-modal-footer__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.85rem 1.25rem;
  border-top: 1px solid var(--bs-border-color, #dee2e6);
}

.crm-assign-modal-footer__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-inline-start: auto;
}

.crm-financial-amount-summary {
  padding: 0.85rem 1rem;
  margin-bottom: 1rem;
  background: var(--bs-light, #f8f9fa);
  border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
  border-radius: 0.5rem;
}

.crm-financial-amount-summary__item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.5rem;
  font-size: 0.8125rem;
}

.crm-financial-amount-summary__item + .crm-financial-amount-summary__item {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px dashed var(--bs-border-color, #dee2e6);
}

.crm-financial-amount-summary__label {
  color: var(--bs-secondary-color, #6c757d);
}

.crm-financial-amount-mismatch-row td.crm-financial-declared-cell {
  background: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.12);
}

.crm-financial-confirm-switch .form-check-label {
  user-select: none;
}

/* —— Receipt modal (financial + member) —— */
.crm-receipt-modal {
  border: 0;
  box-shadow: 0 1rem 3rem rgba(15, 23, 42, 0.12);
  overflow: hidden;
}

.crm-receipt-modal__header {
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
  background: linear-gradient(180deg, var(--custom-white) 0%, var(--bs-light, #f8f9fa) 100%);
}

.crm-receipt-modal__heading {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
  flex: 1;
}

.crm-receipt-modal__icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.1);
  color: var(--bs-primary, #0d6efd);
  font-size: 1.25rem;
}

.crm-receipt-modal__subtitle {
  margin-top: 0.2rem;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color, #6c757d);
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-receipt-modal__footer {
  padding: 0.75rem 1.25rem;
  border-top: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
  background: var(--custom-white);
}

.crm-receipt-modal__payment-meta {
  padding: 1rem 1.25rem 0;
  border-top: 1px solid var(--bs-border-color, #dee2e6);
  background: var(--custom-white);
}

.crm-receipt-modal__payment {
  padding: 1.25rem 1.25rem 1.35rem;
  border-top: 1px solid var(--bs-border-color, #dee2e6);
  background: var(--custom-white);
}

.crm-receipt-modal__payment-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 1rem;
  margin-bottom: 1rem;
}

.crm-receipt-modal__payment-title {
  font-size: 0.9375rem;
  font-weight: 650;
}

.crm-receipt-confirm-panel {
  margin-top: 0;
  margin-bottom: 0;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.crm-receipt-confirm-panel--active,
.crm-receipt-confirm-panel.is-on {
  border-color: rgba(var(--bs-success-rgb, 25, 135, 84), 0.35);
  background: rgba(var(--bs-success-rgb, 25, 135, 84), 0.06);
}

.crm-financial-receipt-body {
  min-height: 12rem;
  overflow: visible;
  background: var(--default-body-bg-color, rgb(var(--body-bg-rgb2, 233, 236, 239)));
  display: flex;
  flex-direction: column;
}

.crm-receipt-image-stage {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  width: 100%;
}

.crm-receipt-zoom-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--bs-border-color, #dee2e6);
  background: var(--custom-white);
  flex-shrink: 0;
}

.crm-receipt-zoom-hint {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-receipt-zoom-hint i {
  font-size: 1rem;
  opacity: 0.85;
}

.crm-receipt-zoom-actions {
  display: flex;
  gap: 0.35rem;
}

.crm-receipt-zoom-actions .btn {
  padding: 0.25rem 0.5rem;
  line-height: 1.2;
}

.crm-receipt-zoom-actions .btn i {
  font-size: 1.05rem;
  vertical-align: -0.1em;
}

.crm-receipt-zoom-viewport {
  position: relative;
  width: 100%;
  height: min(58vh, 36rem);
  overflow: hidden;
  cursor: grab;
  touch-action: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0.75rem;
  background-color: var(--default-body-bg-color, rgb(var(--body-bg-rgb2, 238, 241, 244)));
  background-image:
    linear-gradient(45deg, color-mix(in srgb, var(--default-border, #e2e6ea) 85%, transparent) 25%, transparent 25%),
    linear-gradient(-45deg, color-mix(in srgb, var(--default-border, #e2e6ea) 85%, transparent) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, color-mix(in srgb, var(--default-border, #e2e6ea) 85%, transparent) 75%),
    linear-gradient(-45deg, transparent 75%, color-mix(in srgb, var(--default-border, #e2e6ea) 85%, transparent) 75%);
  background-size: 16px 16px;
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
}

.crm-receipt-zoom-viewport.is-dragging {
  cursor: grabbing;
}

.crm-receipt-zoom-viewport.is-loading .crm-receipt-zoom-image {
  opacity: 0;
}

.crm-receipt-zoom-spinner {
  position: absolute;
  width: 2rem;
  height: 2rem;
  border: 2px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.2);
  border-top-color: var(--bs-primary, #0d6efd);
  border-radius: 50%;
  animation: crm-receipt-spin 0.7s linear infinite;
  pointer-events: none;
  z-index: 1;
}

.crm-receipt-zoom-viewport:not(.is-loading) .crm-receipt-zoom-spinner {
  display: none;
}

@keyframes crm-receipt-spin {
  to {
    transform: rotate(360deg);
  }
}

.crm-receipt-zoom-image {
  display: block;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  object-fit: contain;
  transform-origin: center center;
  will-change: transform;
  user-select: none;
  -webkit-user-drag: none;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.12);
  border-radius: 0.25rem;
  transition: opacity 0.2s ease;
}

.crm-financial-receipt-img {
  display: block;
  object-fit: contain;
  max-height: min(75vh, 36rem);
}

.crm-financial-receipt-pdf {
  border: 0;
  min-height: min(52vh, 28rem);
  height: min(52vh, 28rem);
  background: var(--custom-white);
}

#financialReceiptError a {
  font-weight: 600;
  text-decoration: underline;
}

.crm-member-now {
  display: inline-flex;
  margin-inline-start: 0.4rem;
  padding: 0.08rem 0.45rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.12);
}

.crm-member-details .crm-member-split-row {
  --bs-gutter-x: 1.75rem;
  --bs-gutter-y: 1.25rem;
  align-items: stretch;
  margin-bottom: 0;
}

.crm-member-split-card {
  width: 100%;
  min-height: 100%;
}

.crm-member-split-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  padding: 0.9rem 1.25rem;
  border-bottom: 1px solid var(--default-border, rgba(0, 0, 0, 0.08));
  background: transparent;
}

.crm-member-split-header__tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
}

.crm-member-split-hint {
  font-size: 0.75rem;
  color: var(--bs-secondary-color, #6c757d);
  white-space: nowrap;
}

.crm-member-split-empty {
  padding: 2rem 1.25rem;
}

.crm-member-user-actions,
.crm-member-sub-actions {
  width: 3.5rem;
  text-align: end;
}

.crm-member-table-action {
  width: 2rem;
  height: 2rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.crm-member-split-card > .card-body {
  min-height: 10rem;
}

.crm-member-user-row {
  cursor: pointer;
}

.crm-member-user-row:hover {
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.06);
}

.crm-member-user-row:focus-visible {
  outline: 2px solid rgba(var(--primary-rgb, 111, 66, 193), 0.45);
  outline-offset: -2px;
}

@media (max-width: 991.98px) {
  .crm-member-col-hide-sm {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .crm-member-stat {
    padding: 0.8rem 0.75rem;
  }

  .crm-member-stat-icon {
    display: none;
  }
}

/* Table action dropdowns (avoid clipping under card footer) */
.crm-card-table-dropdown {
  overflow: visible;
}

.crm-card-table-dropdown > .card-body {
  overflow: visible;
}

.crm-card-table-dropdown > .card-body > .table-responsive {
  overflow: visible;
}

.crm-card-table-dropdown .dropdown-menu {
  z-index: 1080;
}

/* SMS providers admin */
.sms-sender-page .sms-sender-provider-chip {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--default-border);
  border-radius: 0.625rem;
  background: rgba(var(--primary-rgb), 0.03);
}

.sms-sender-provider-chip__name {
  font-weight: 600;
}

.sms-sender-provider-chip__meta {
  font-size: 0.75rem;
}

.sms-sender-provider-chip__actions {
  display: inline-flex;
  gap: 0.15rem;
}

.sms-sender-provider-chip__balance {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.sms-sender-provider-chip__balance-refresh-wrap {
  position: relative;
  display: inline-flex;
}

.sms-sender-provider-chip__balance-error-balloon {
  position: absolute;
  z-index: 5;
  bottom: calc(100% + 0.35rem);
  inset-inline-end: 0;
  min-width: 12rem;
  max-width: 18rem;
  padding: 0.5rem 0.65rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--default-text-color);
  background: var(--custom-white);
  border: 1px solid var(--default-border);
  border-radius: 0.5rem;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
}

.sms-sender-provider-chip__balance-error-balloon[hidden] {
  display: none !important;
}

.sms-sender-provider-chip__balance-refresh.is-loading .ri-refresh-line {
  animation: crm-spin 0.8s linear infinite;
}

.sms-sender-provider-chip__balance-value.is-loading .ri-loader-4-line,
.sms-sender-provider-chip__balance-value.is-loading .bx-loader-alt {
  animation: crm-spin 0.8s linear infinite;
}

@keyframes crm-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Geography — provinces & cities (platform) */
.page:has(.crm-geography-page--fill) {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

.page:has(.crm-geography-page--fill) .main-content.app-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.page:has(.crm-geography-page--fill) .main-body-container.page-container {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding-bottom: 0.5rem;
}

.page:has(.crm-geography-page--fill) .crm-page-chrome.page-header-breadcrumb {
  flex-shrink: 0;
}

.crm-geography-page--fill {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.crm-geography-page--fill > p.text-muted {
  flex-shrink: 0;
  margin-bottom: 0.65rem !important;
}

.crm-geography-page--fill > .card.custom-card {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  margin-bottom: 0;
}

.crm-geography-page--fill .card-header.crm-list-card-header {
  flex-shrink: 0;
}

.crm-geography-page--fill .card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.crm-geography-page .crm-list-card-header__row {
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.crm-geography-page .crm-list-card-header__title-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.crm-geography-page--fill .crm-geography-scroll {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
}

.crm-geography-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--custom-white);
}

.crm-geography-col-toggle {
  width: 2.5rem;
  padding-inline-start: 0.5rem !important;
}

.crm-geography-province-row {
  cursor: pointer;
}

.crm-geography-province-row.is-expanded {
  background: rgba(var(--primary-rgb), 0.06);
}

.crm-geography-city-name {
  padding-inline-start: 0.25rem !important;
  font-size: 0.875rem;
}

.crm-geography-city-row td {
  background: rgba(var(--light-rgb), 0.35);
  border-top: none;
}

.crm-geography-empty {
  padding: 1.5rem 1rem;
}

.crm-filter-field--submit {
  min-width: 5.5rem;
}

/* Platform — Portal ↔ CRM integration settings */
.crm-portal-integration {
  padding-bottom: 0.25rem;
}

.crm-portal-integration-hero .card-body {
  padding: 1.25rem 1.35rem 1.1rem;
}

.crm-portal-integration-hero__icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  font-size: 1.35rem;
  color: var(--primary-color, var(--bs-primary));
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.1);
  border: 1px solid rgba(var(--primary-rgb, 111, 66, 193), 0.18);
}

.crm-portal-integration-kicker {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.2rem;
}

.crm-portal-integration-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.35;
}

.crm-portal-integration-lead {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color, #6c757d);
  line-height: 1.55;
  max-width: 42rem;
}

.crm-portal-integration-status {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.45rem 0.75rem;
  align-self: flex-start;
}

.crm-portal-integration-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--default-border, rgba(0, 0, 0, 0.08));
}

.crm-portal-integration-link__diagram {
  display: grid;
  grid-template-columns: 4.25rem minmax(7.5rem, 1fr) 4.25rem;
  align-items: start;
  width: min(100%, 24rem);
  direction: ltr;
}

.crm-portal-integration-link__node {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}

.crm-portal-integration-link__glyph {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 1.5px solid var(--default-border, rgba(0, 0, 0, 0.12));
  background: var(--custom-white, #fff);
  color: var(--text-muted, #5d6576);
  font-size: 1.25rem;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.crm-portal-integration-link__glyph i,
.crm-portal-integration-link__mark i {
  display: block;
  font-size: inherit;
  line-height: 1;
}

.crm-portal-integration-link__node--crm .crm-portal-integration-link__glyph {
  color: rgb(var(--primary-rgb, 132, 90, 223));
  border-color: rgba(var(--primary-rgb, 132, 90, 223), 0.35);
  background: rgba(var(--primary-rgb, 132, 90, 223), 0.08);
}

.crm-portal-integration-link__name {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--default-text-color, inherit);
}

.crm-portal-integration-link__bridge {
  position: relative;
  display: flex;
  align-items: center;
  height: 3rem;
  min-width: 0;
  margin-inline: -0.65rem;
}

.crm-portal-integration-link__rail {
  flex: 1 1 0;
  height: 2px;
  min-width: 0.75rem;
  border-radius: 999px;
  background: rgba(108, 117, 125, 0.4);
}

.crm-portal-integration-link__mark {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  margin-inline: 0.4rem;
  border-radius: 50%;
  border: 1.5px solid var(--default-border, rgba(0, 0, 0, 0.14));
  background: var(--custom-white, #fff);
  color: var(--text-muted, #5d6576);
  font-size: 0.95rem;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.crm-portal-integration-link__caption {
  position: absolute;
  top: calc(100% + 0.4rem);
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--text-muted, #5d6576);
}

.crm-portal-integration-link.is-idle .crm-portal-integration-link__rail {
  background: repeating-linear-gradient(
    90deg,
    rgba(108, 117, 125, 0.55) 0 6px,
    transparent 6px 11px
  );
}

.crm-portal-integration-link.is-live .crm-portal-integration-link__rail {
  height: 3px;
  background: rgb(var(--success-rgb, 25, 135, 84));
}

.crm-portal-integration-link.is-live .crm-portal-integration-link__mark {
  color: rgb(var(--success-rgb, 25, 135, 84));
  border-color: rgba(var(--success-rgb, 25, 135, 84), 0.45);
  background: rgba(var(--success-rgb, 25, 135, 84), 0.1);
  animation: crm-portal-link-pulse 2.4s ease-out infinite;
}

.crm-portal-integration-link.is-live .crm-portal-integration-link__caption {
  color: rgb(var(--success-rgb, 25, 135, 84));
}

.crm-portal-integration-link.is-live .crm-portal-integration-link__glyph {
  color: rgb(var(--success-rgb, 25, 135, 84));
  border-color: rgba(var(--success-rgb, 25, 135, 84), 0.4);
  background: rgba(var(--success-rgb, 25, 135, 84), 0.08);
}

.crm-portal-integration-link.is-broken .crm-portal-integration-link__rail {
  background: repeating-linear-gradient(
    90deg,
    rgb(var(--danger-rgb, 220, 53, 69)) 0 5px,
    transparent 5px 11px
  );
}

.crm-portal-integration-link.is-broken .crm-portal-integration-link__mark {
  color: rgb(var(--danger-rgb, 220, 53, 69));
  border-color: rgba(var(--danger-rgb, 220, 53, 69), 0.5);
  background: rgba(var(--danger-rgb, 220, 53, 69), 0.08);
}

.crm-portal-integration-link.is-broken .crm-portal-integration-link__caption {
  color: rgb(var(--danger-rgb, 220, 53, 69));
}

.crm-portal-integration-link.is-broken .crm-portal-integration-link__glyph {
  border-color: rgba(var(--danger-rgb, 220, 53, 69), 0.4);
}

.crm-portal-integration-link__test {
  flex-shrink: 0;
}

.crm-portal-integration-link__test.is-busy i {
  display: inline-block;
  animation: crm-portal-link-spin 0.8s linear infinite;
}

@keyframes crm-portal-link-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .crm-portal-integration-link__test.is-busy i {
    animation: none;
  }
}

@keyframes crm-portal-link-pulse {
  0% { box-shadow: 0 0 0 0 rgba(var(--success-rgb, 25, 135, 84), 0.28); }
  70% { box-shadow: 0 0 0 6px rgba(var(--success-rgb, 25, 135, 84), 0); }
  100% { box-shadow: 0 0 0 0 rgba(var(--success-rgb, 25, 135, 84), 0); }
}

@media (prefers-reduced-motion: reduce) {
  .crm-portal-integration-link.is-live .crm-portal-integration-link__mark {
    animation: none;
  }
}

.crm-portal-integration-hero-result {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-top: 1rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.65rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
  background: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.06);
  font-size: 0.8125rem;
}

.crm-portal-integration-hero-result > i {
  font-size: 1.15rem;
  margin-top: 0.1rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-portal-integration-hero-result.is-ok {
  border-color: rgba(var(--success-rgb, 25, 135, 84), 0.28);
  background: rgba(var(--success-rgb, 25, 135, 84), 0.08);
}

.crm-portal-integration-hero-result.is-ok > i {
  color: var(--bs-success, #198754);
}

.crm-portal-integration-hero-result.is-fail {
  border-color: rgba(var(--danger-rgb, 220, 53, 69), 0.28);
  background: rgba(var(--danger-rgb, 220, 53, 69), 0.07);
}

.crm-portal-integration-hero-result.is-fail > i {
  color: var(--bs-danger, #dc3545);
}

.crm-portal-integration-hero-result__text {
  font-weight: 600;
  line-height: 1.45;
}

.crm-portal-integration-hero-result__meta {
  margin-top: 0.25rem;
  font-size: 0.6875rem;
  color: var(--bs-secondary-color, #6c757d);
}

/* Numbered setup wizard (platform integration, similar admin flows) */
.crm-setup-steps {
  margin: 0;
  padding: 0;
}

.crm-setup-step {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 0 1rem;
  padding: 0 1.25rem 1.35rem;
}

.crm-setup-step__rail {
  display: flex;
  justify-content: center;
  align-self: stretch;
  padding-top: 0.15rem;
  position: relative;
}

.crm-setup-step:not(.crm-setup-step--last) .crm-setup-step__rail::after {
  content: "";
  position: absolute;
  top: 2.9rem;
  bottom: -1.35rem;
  left: 50%;
  width: 2px;
  margin-left: -1px;
  background: var(--bs-border-color, rgba(0, 0, 0, 0.12));
  pointer-events: none;
  z-index: 0;
}

.crm-setup-step__num {
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  color: var(--bs-secondary-color, #6c757d);
  background: var(--bs-secondary-bg, #e9ecef);
  border: 2px solid var(--bs-border-color, #dee2e6);
  position: relative;
  z-index: 1;
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.crm-setup-step__num.is-done {
  color: #fff;
  background: var(--bs-success, #198754);
  border-color: var(--bs-success, #198754);
}

.crm-setup-step.is-complete .crm-setup-step__rail::after {
  background: rgba(var(--success-rgb, 25, 135, 84), 0.35);
}

.crm-setup-step__content {
  min-width: 0;
  padding-top: 0.35rem;
}

.crm-setup-step__head {
  margin-bottom: 0.85rem;
}

.crm-setup-step__title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 0 0 0.25rem;
}

.crm-setup-step__title i {
  font-size: 1.05rem;
  opacity: 0.85;
}

.crm-setup-step__hint {
  font-size: 0.75rem;
  color: var(--bs-secondary-color, #6c757d);
  margin: 0;
  line-height: 1.45;
}

.crm-setup-switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border-radius: 0.5rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.12));
  background: var(--custom-white);
  max-width: 28rem;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.crm-setup-switch-row.is-on {
  border-color: rgba(var(--success-rgb, 25, 135, 84), 0.45);
  background: rgba(var(--success-rgb, 25, 135, 84), 0.06);
}

.crm-setup-switch-row__title {
  font-size: 0.875rem;
  font-weight: 600;
}

.crm-setup-switch-row__hint {
  font-size: 0.75rem;
  margin-top: 0.2rem;
}

.crm-setup-switch-row__control {
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  min-height: 0;
}

.crm-setup-switch-row__control.form-check.form-switch {
  padding-inline-start: 0;
}

.crm-setup-switch-row__control.form-check.form-switch .form-check-input {
  float: none;
  margin-inline: 0;
  width: 2.25rem;
  height: 1.25rem;

.crm-portal-integration-code {
  font-size: 0.7rem;
  padding: 0.1rem 0.35rem;
  border-radius: 0.25rem;
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.08);
}

.crm-portal-integration-last-test {
  display: flex;
  gap: 0.65rem;
  padding: 0.65rem 0.85rem;
  border-radius: 0.5rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  background: var(--bs-secondary-bg, #f8f9fa);
}

.crm-portal-integration-last-test > i {
  font-size: 1.1rem;
  color: var(--primary-color, var(--bs-primary));
  margin-top: 0.1rem;
}

.crm-portal-integration-key-state {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  margin-bottom: 0.75rem;
}

.crm-portal-integration-key-state--ok {
  border: 1px solid rgba(var(--success-rgb, 25, 135, 84), 0.35);
  background: rgba(var(--success-rgb, 25, 135, 84), 0.06);
}

.crm-portal-integration-key-state--ok > i {
  color: var(--bs-success, #198754);
  font-size: 1.15rem;
}

.crm-portal-integration-key-state--warn {
  border: 1px solid rgba(var(--warning-rgb, 255, 193, 7), 0.45);
  background: rgba(var(--warning-rgb, 255, 193, 7), 0.08);
}

.crm-portal-integration-key-state--warn > i {
  color: var(--bs-warning, #ffc107);
  font-size: 1.15rem;
}

.crm-portal-integration-key-reveal {
  padding: 0.85rem 1rem;
  border-radius: 0.5rem;
  border: 1px dashed rgba(var(--primary-rgb, 111, 66, 193), 0.45);
  background: rgba(var(--primary-rgb, 111, 66, 193), 0.04);
}

.crm-portal-integration-key-reveal__label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--primary-color, var(--bs-primary));
}

.crm-portal-integration-outbound {
  padding: 0.75rem 0.9rem;
  border-radius: 0.5rem;
  border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));
  background: var(--custom-white);
}

.crm-portal-integration-aside {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (min-width: 1200px) {
  .crm-portal-integration-aside {
    position: sticky;
    top: 4.5rem;
  }
}

.crm-portal-integration-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.crm-portal-integration-checklist li {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color, #6c757d);
}

.crm-portal-integration-checklist li.is-done {
  color: var(--bs-body-color, inherit);
  font-weight: 500;
}

.crm-portal-integration-checklist__step {
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 0.6875rem;
  font-weight: 700;
  border: 1px solid var(--bs-border-color, #dee2e6);
  color: var(--bs-secondary-color, #6c757d);
  background: var(--custom-white);
}

.crm-portal-integration-checklist li.is-done .crm-portal-integration-checklist__step {
  border-color: var(--bs-success, #198754);
  background: var(--bs-success, #198754);
  color: #fff;
}

.crm-portal-integration-kit__row {
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.08));
}

.crm-portal-integration-kit__row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.crm-portal-integration-kit dt {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.2rem;
}

.crm-portal-integration-kit dd {
  margin: 0;
  font-size: 0.8125rem;
  word-break: break-all;
}

.crm-portal-integration-endpoint {
  font-size: 0.75rem;
  padding: 0.5rem 0.65rem;
  border-radius: 0.375rem;
  background: var(--crm-form-panel-muted-bg, var(--bs-secondary-bg, #f3f4f6));
  border: 1px solid var(--crm-form-border-subtle, var(--bs-border-color, rgba(0, 0, 0, 0.08)));
}

.crm-portal-integration-copy-group .form-control[readonly] {
  background-color: var(--crm-form-control-bg, var(--custom-white));
}

.crm-portal-integration-copy-toast {
  position: fixed;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%) translateY(0.5rem);
  z-index: 1095;
  padding: 0.5rem 1rem;
  border-radius: 2rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #fff;
  background: var(--bs-success, #198754);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.crm-portal-integration-copy-toast.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Dark mode — inline edit hovers */
[data-theme-mode="dark"] .crm-opportunity-form--inline .crm-inline-field.is-hover:not(.is-editing) .crm-inline-field__display,
[data-theme-mode="dark"] .crm-opportunity-form--edit-layout .crm-opportunity-edit__info .crm-inline-field:not(.is-editing):hover .crm-inline-field__display,
[data-theme-mode="dark"] .crm-opportunity-form--edit-layout .crm-opportunity-edit__pipeline .crm-inline-field:not(.is-editing):hover .crm-inline-field__display {
  box-shadow: none;
}
