/*
  CRM UI unification layer
  Purpose: keep the ASP.NET MVC backend and Razor data binding unchanged while forcing
  all pages, forms, cards, tables and modal surfaces into one NiceAdmin-based system.
*/
:root {
  --crm-bg: #f6f9ff;
  --crm-surface: #ffffff;
  --crm-border: #e8edf7;
  --crm-text: #26334d;
  --crm-muted: #6c7890;
  --crm-primary: #4154f1;
  --crm-primary-soft: #eef2ff;
  --crm-radius: 14px;
  --crm-shadow: 0 10px 30px rgba(1, 41, 112, .08);
  --crm-shadow-soft: 0 5px 18px rgba(1, 41, 112, .06);
}

html {
  min-height: 100%;
}

body {
  background: var(--crm-bg);
  color: var(--crm-text);
  font-family: "Open Sans", "Segoe UI", Tahoma, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

.main {
  min-height: calc(100vh - 120px);
}

.logo img {
  max-height: 42px;
  object-fit: contain;
}

.logo span {
  color: #012970;
  font-family: "Nunito", sans-serif;
  font-size: 22px;
  font-weight: 700;
  margin-left: 8px;
  letter-spacing: -.2px;
}

.header {
  box-shadow: 0 2px 22px rgba(1, 41, 112, .08);
}

.header .toggle-sidebar-btn {
  color: #012970;
}

.header-nav .nav-profile span,
.header-nav .nav-icon {
  color: #012970;
}

.sidebar {
  border-right: 1px solid var(--crm-border);
  box-shadow: 2px 0 22px rgba(1, 41, 112, .05);
}

.sidebar-nav .nav-heading {
  color: #7c8aa5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  margin-top: 12px;
  text-transform: uppercase;
}

.sidebar-nav .nav-link {
  border-radius: 12px;
  color: #33415f;
  font-weight: 700;
  margin: 2px 8px;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.sidebar-nav .nav-link i {
  color: #6d7f9a;
}

.sidebar-nav .nav-link:not(.collapsed),
.sidebar-nav .nav-link:hover {
  background: var(--crm-primary-soft);
  color: #012970;
}

.sidebar-nav .nav-link:not(.collapsed) i,
.sidebar-nav .nav-link:hover i {
  color: var(--crm-primary);
}

.sidebar-nav .nav-content a {
  border-radius: 10px;
  color: #53627f;
  font-size: 14px;
  font-weight: 650;
  margin: 1px 14px 1px 18px;
  padding: 9px 0 9px 18px;
}

.sidebar-nav .nav-content a i {
  font-size: 7px;
  margin-right: 8px;
}

.sidebar-nav .nav-content a.active,
.sidebar-nav .nav-content a:hover {
  background: rgba(65, 84, 241, .08);
  color: var(--crm-primary);
}

.crm-sidebar-group-title span {
  color: #9aa8bd;
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  padding: 10px 22px 4px;
  text-transform: uppercase;
}

.pagetitle {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
}

.pagetitle h1,
.pagetitle h2,
.pagetitle h3,
.pagetitle h4,
.pagetitle h5,
.pagetitle h6 {
  color: #012970;
  font-family: "Nunito", sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 6px;
}

.pagetitle .breadcrumb {
  background: transparent;
  border: 0;
  color: #899bbd;
  font-size: 13px;
  margin: 0;
  padding: 0;
}

.section > .row,
.main > .row {
  row-gap: 18px;
}

.card {
  background: var(--crm-surface);
  border: 1px solid var(--crm-border);
  border-radius: var(--crm-radius);
  box-shadow: var(--crm-shadow-soft);
  margin-bottom: 24px;
  overflow: hidden;
}

.card .card-body {
  padding: 22px;
}

.card .card-header,
.card .card-footer {
  background: #fff;
  border-color: var(--crm-border);
  padding: 16px 22px;
}

.card-title {
  color: #012970;
  font-family: "Nunito", sans-serif;
  font-size: 18px;
  font-weight: 800;
  padding: 0 0 14px;
}

.card-title span,
.text-muted,
.small,
small {
  color: var(--crm-muted) !important;
}

.form-label,
.col-form-label,
label:not(.form-check-label) {
  color: #3a4968;
  font-weight: 700;
  margin-bottom: 7px;
}

.form-control,
.form-select,
textarea.form-control,
input[type="date"],
input[type="datetime-local"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="text"],
select,
textarea {
  border: 1px solid #d8e0ef;
  border-radius: 10px;
  color: #26334d;
  min-height: 42px;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.form-control:focus,
.form-select:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: rgba(65, 84, 241, .55);
  box-shadow: 0 0 0 .22rem rgba(65, 84, 241, .12);
  outline: none;
}

.input-group-text {
  background: #f8faff;
  border-color: #d8e0ef;
  border-radius: 10px;
  color: #5d6b84;
  font-weight: 700;
}

.form-check-input {
  border-color: #bfc9da;
  cursor: pointer;
}

.form-check-input:checked {
  background-color: var(--crm-primary);
  border-color: var(--crm-primary);
}

.btn {
  border-radius: 10px;
  font-weight: 750;
  letter-spacing: .01em;
  min-height: 39px;
}

.btn-sm {
  border-radius: 9px;
  min-height: 32px;
}

.btn-primary {
  background: var(--crm-primary);
  border-color: var(--crm-primary);
  box-shadow: 0 8px 18px rgba(65, 84, 241, .18);
}

.btn-primary:hover,
.btn-primary:focus {
  background: #3446d4;
  border-color: #3446d4;
}

.btn-warning,
.badge.bg-warning {
  color: #3a2d00;
}

.badge,
.rounded-pill {
  font-weight: 800;
  letter-spacing: .01em;
}

.alert {
  border: 1px solid transparent;
  border-radius: 12px;
}

.table-responsive {
  border-radius: 12px;
  overflow-x: auto;
}

.table,
table.table,
table.dataTable,
.dataTable-table {
  color: #2d3955;
  margin-bottom: 0;
  vertical-align: middle;
  width: 100% !important;
}

.table thead th,
table.dataTable thead th,
.dataTable-table thead th {
  background: #f6f8ff;
  border-bottom: 1px solid var(--crm-border) !important;
  color: #53627f;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.table tbody td,
table.dataTable tbody td,
.dataTable-table tbody td {
  border-color: #edf1f7;
  font-size: 13px;
  vertical-align: middle;
}

.table tbody tr:hover,
table.dataTable tbody tr:hover,
.dataTable-table tbody tr:hover {
  background: #fbfcff;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  border: 1px solid #d8e0ef;
  border-radius: 10px;
  margin-left: 8px;
  min-height: 36px;
  padding: 5px 10px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  border-radius: 8px !important;
}

.modal-content {
  border: 0;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(1, 41, 112, .22);
}

.modal-header,
.modal-footer {
  border-color: var(--crm-border);
  padding: 16px 20px;
}

.modal-title {
  color: #012970;
  font-family: "Nunito", sans-serif;
  font-weight: 850;
}

.dropdown-menu {
  border: 1px solid var(--crm-border);
  border-radius: 14px;
  box-shadow: var(--crm-shadow);
}

.spinner,
.crm-spinner {
  animation: crm-spin .8s linear infinite;
  border: 3px solid #eef2ff;
  border-top-color: var(--crm-primary);
  border-radius: 50%;
  display: inline-block;
  height: 22px;
  margin-left: 8px;
  vertical-align: middle;
  width: 22px;
}

@keyframes crm-spin {
  to { transform: rotate(360deg); }
}

.crm-page,
.crm-leads-shell,
.investment-page {
  max-width: 100%;
}

.crm-kpi-card,
.crm-stat-card,
.investment-kpi-card {
  border-radius: var(--crm-radius);
  box-shadow: var(--crm-shadow-soft);
}

.page-actions,
.crm-page-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

[style*="background-color: #eaeaea"] {
  background: #f6f8ff !important;
  border-left-color: var(--crm-primary) !important;
  border-radius: 12px;
  color: #012970;
}

.footer {
  background: transparent;
  border-top: 1px solid var(--crm-border);
}

.back-to-top {
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(65, 84, 241, .22);
}

.crm-auth-page {
  background:
    radial-gradient(circle at top left, rgba(65, 84, 241, .14), transparent 32%),
    radial-gradient(circle at bottom right, rgba(47, 203, 161, .16), transparent 30%),
    var(--crm-bg);
}

.crm-auth-card {
  border: 1px solid var(--crm-border);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(1, 41, 112, .16);
  overflow: hidden;
}

.crm-auth-logo img {
  max-height: 64px;
  max-width: 220px;
  object-fit: contain;
}

.crm-auth-title {
  color: #012970;
  font-family: "Nunito", sans-serif;
  font-weight: 850;
}

.crm-auth-subtitle {
  color: var(--crm-muted);
}

.crm-home-link-card {
  border: 1px solid var(--crm-border);
  border-radius: 16px;
  display: block;
  height: 100%;
  padding: 18px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.crm-home-link-card:hover {
  border-color: rgba(65, 84, 241, .35);
  box-shadow: var(--crm-shadow-soft);
  transform: translateY(-2px);
}

.crm-home-link-card i {
  background: var(--crm-primary-soft);
  border-radius: 12px;
  color: var(--crm-primary);
  display: inline-flex;
  font-size: 22px;
  height: 42px;
  margin-bottom: 12px;
  width: 42px;
  align-items: center;
  justify-content: center;
}

.crm-home-link-card strong {
  color: #012970;
  display: block;
  font-size: 16px;
  margin-bottom: 4px;
}

.crm-home-link-card span {
  color: var(--crm-muted);
  display: block;
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 991px) {
  .pagetitle {
    display: block;
  }

  .card .card-body {
    padding: 18px;
  }

  .page-actions,
  .crm-page-actions {
    justify-content: flex-start;
  }
}

@media print {
  .header,
  .sidebar,
  .footer,
  .back-to-top,
  .toggle-sidebar-btn,
  .page-actions,
  .crm-page-actions {
    display: none !important;
  }

  #main.main {
    margin: 0 !important;
    padding: 0 !important;
  }

  .card {
    border: 1px solid #ddd;
    box-shadow: none;
  }
}


/* Final NiceAdmin enforcement layer */
:root {
  --ph-brand: var(--crm-primary);
  --ph-brand-dark: #012970;
  --ph-brand-light: var(--crm-primary-soft);
  --ph-text: var(--crm-text);
  --ph-text-soft: var(--crm-muted);
  --ph-muted: #899bbd;
  --ph-border: var(--crm-border);
}

.crm-header-notification-item {
  min-width: 330px;
  max-width: 380px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--crm-border);
  white-space: normal;
}
.crm-header-notification-item:last-child { border-bottom: 0; }
.crm-header-notification-item a {
  display: block;
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 12px;
  transition: background .15s ease;
}
.crm-header-notification-item a:hover { background: #f6f8ff; }
.crm-header-notification-title { font-weight: 800; color: #012970; font-size: 14px; }
.crm-header-notification-body {
  color: var(--crm-muted);
  font-size: 12px;
  margin-top: 3px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.crm-header-notification-meta { display: flex; gap: 6px; align-items: center; margin-bottom: 5px; }
.crm-header-notification-foot { color: var(--crm-primary); font-size: 12px; font-weight: 750; margin-top: 6px; }
.crm-header-notification-empty {
  min-width: 330px;
  padding: 24px 16px;
  text-align: center;
  color: var(--crm-muted);
}
.crm-header-notification-empty i { display: block; color: #2eca6a; font-size: 28px; margin-bottom: 8px; }
.crm-header-notification-empty strong { display: block; color: #012970; }
.crm-header-notification-empty span { display: block; font-size: 12px; margin-top: 4px; }
.crm-header-severity { border-radius: 999px; padding: 2px 7px; font-size: 11px; font-weight: 800; }
.crm-header-severity.Critical { background: #fce3e3; color: #d93030; }
.crm-header-severity.Warning { background: #fff3cd; color: #997404; }
.crm-header-severity.Info { background: #e7f1ff; color: var(--crm-primary); }
#crmNotificationBadge.bg-danger { background-color: #d93030 !important; }
#crmNotificationBadge.bg-warning { background-color: #f6c000 !important; color: #3a2d00 !important; }

main .crm-manager-hero,
main .crm-sla-hero,
main .crm-merge-hero,
main .crm-dq-hero,
main .crm-notification-hero,
main .investment-card,
main .crm-panel,
main .ph-filter-card,
main .ph-sales-war-room-card,
main .security-card,
main .security-hero {
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%) !important;
  border: 1px solid var(--crm-border) !important;
  box-shadow: var(--crm-shadow-soft) !important;
  border-radius: 16px !important;
  color: var(--crm-text) !important;
}

main .crm-notification-hero,
main .crm-notification-hero *,
main .crm-manager-hero,
main .crm-sla-hero,
main .crm-merge-hero,
main .crm-dq-hero,
main .security-hero,
main .investment-page {
  color: var(--crm-text);
}

main .crm-notification-hero p,
main .crm-manager-hero p,
main .crm-sla-hero p,
main .crm-merge-hero p,
main .crm-dq-hero p,
main .security-hero p,
main .investment-page p {
  color: var(--crm-muted) !important;
}

main .crm-eyebrow,
main .crm-small-link,
main .investment-section-title,
main .ph-section-title,
main [class*="title"],
main [class*="Title"] {
  color: #012970 !important;
}

main [class*="gold"],
main [class*="warning"]:not(.btn):not(.badge):not(.alert),
main .crm-dq-eyebrow {
  color: var(--crm-primary) !important;
}

main .crm-kpi-card:before,
main .crm-sla-kpi:before,
main .crm-stage-track div,
main .crm-load-track div,
main .crm-trend-bar {
  background: var(--crm-primary) !important;
}

main [class^="ph-"],
main [class*=" ph-"] {
  border-color: var(--crm-border) !important;
}

main .ph-filter-card .form-label,
main [class*="subtitle"],
main [class*="Subtitle"],
main [class*="meta"],
main [class*="Meta"] {
  color: var(--crm-muted) !important;
}

main .btn-light {
  background: #fff !important;
  border-color: var(--crm-border) !important;
  color: #012970 !important;
}

/* Phase 3 - strict spacing, typography and table normalization
   This layer intentionally overrides older per-page styles and ajax-injected partial styles. */
:root {
  --crm-font-base: 15px;
  --crm-font-table: 14.5px;
  --crm-font-table-head: 13px;
  --crm-line: 1.55;
  --crm-page-x: 32px;
  --crm-page-y: 24px;
  --crm-card-pad: 24px;
}

html {
  font-size: var(--crm-font-base) !important;
}

body {
  padding: 0 !important;
  font-size: var(--crm-font-base) !important;
  line-height: var(--crm-line) !important;
  font-family: "Open Sans", "Segoe UI", Tahoma, Arial, sans-serif !important;
}

body,
button,
input,
select,
textarea,
.table,
table,
.dataTables_wrapper,
.modal-content,
.dropdown-menu {
  font-family: "Open Sans", "Segoe UI", Tahoma, Arial, sans-serif !important;
}

#main.main {
  padding: var(--crm-page-y) var(--crm-page-x) 28px !important;
}

.pagetitle {
  margin-bottom: 20px !important;
  align-items: center !important;
}

.pagetitle h1,
.pagetitle h2,
.pagetitle h3,
.pagetitle h4,
.pagetitle h5,
.pagetitle h6 {
  font-size: 24px !important;
  font-weight: 850 !important;
  letter-spacing: -.01em !important;
}

.pagetitle .breadcrumb,
.pagetitle .breadcrumb a,
.breadcrumb-item,
.breadcrumb-item a {
  font-size: 13px !important;
  color: #7182a6 !important;
}

.card {
  border-radius: 16px !important;
  box-shadow: 0 12px 34px rgba(1, 41, 112, .075) !important;
}

.card .card-body {
  padding: var(--crm-card-pad) !important;
}

.crm-result-host,
.card-body > #result,
.card-body > .result {
  margin-top: 18px !important;
  padding: 0 !important;
}

.form-control,
.form-select,
textarea.form-control,
input[type="date"],
input[type="datetime-local"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="text"],
select,
textarea {
  font-size: 15px !important;
  min-height: 44px !important;
  padding: 10px 13px !important;
  border-radius: 12px !important;
}

.form-label,
.col-form-label,
label:not(.form-check-label),
.ph-field-label,
.crm-filter-form .form-label,
.crm-sla-policy-form label {
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  min-height: 38px !important;
  padding: 8px 13px !important;
  white-space: nowrap !important;
}

.btn-sm {
  font-size: 13px !important;
  min-height: 34px !important;
  padding: 6px 11px !important;
}

main .btn-warning:not(.dropdown-toggle),
main a.btn-warning:not(.dropdown-toggle),
main button.btn-warning:not(.dropdown-toggle) {
  background-color: var(--crm-primary) !important;
  border-color: var(--crm-primary) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(65, 84, 241, .18) !important;
}

main .btn-warning:not(.dropdown-toggle):hover,
main a.btn-warning:not(.dropdown-toggle):hover,
main button.btn-warning:not(.dropdown-toggle):hover {
  background-color: #3446d4 !important;
  border-color: #3446d4 !important;
  color: #fff !important;
}

.table-responsive,
.crm-table-shell,
.dataTables_wrapper {
  width: 100% !important;
}

.table-responsive,
.crm-table-shell {
  background: #fff !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 16px !important;
  margin: 12px 0 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  padding: 0 !important;
}

.table,
table.table,
table.dataTable,
.dataTable-table,
.table-responsive > table,
.crm-table-shell table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  color: #26334d !important;
  font-size: var(--crm-font-table) !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  min-width: 760px;
  width: 100% !important;
}

.table thead th,
table.table thead th,
table.dataTable thead th,
.dataTable-table thead th,
.crm-table-shell thead th {
  background: #f3f6ff !important;
  border-bottom: 1px solid #dfe6f4 !important;
  color: #41506f !important;
  font-size: var(--crm-font-table-head) !important;
  font-weight: 850 !important;
  letter-spacing: .025em !important;
  line-height: 1.35 !important;
  padding: 13px 16px !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

.table tbody td,
table.table tbody td,
table.dataTable tbody td,
.dataTable-table tbody td,
.crm-table-shell tbody td {
  border-bottom: 1px solid #edf1f7 !important;
  border-top: 0 !important;
  color: #2b3651 !important;
  font-size: var(--crm-font-table) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  padding: 14px 16px !important;
  vertical-align: middle !important;
}

.table tbody td small,
table.table tbody td small,
table.dataTable tbody td small,
.dataTable-table tbody td small,
.crm-table-shell tbody td small,
.table tbody td .small,
.crm-table-shell tbody td .small {
  color: inherit !important;
  font-size: 1em !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > *,
table.dataTable.stripe > tbody > tr.odd > *,
table.dataTable.display > tbody > tr.odd > * {
  background-color: #fbfcff !important;
  box-shadow: none !important;
}

.table-striped > tbody > tr:nth-of-type(even) > *,
table.dataTable.stripe > tbody > tr.even > *,
table.dataTable.display > tbody > tr.even > * {
  background-color: #fff !important;
  box-shadow: none !important;
}

.table-hover > tbody > tr:hover > *,
table.dataTable.hover > tbody > tr:hover > *,
table.dataTable.display > tbody > tr:hover > * {
  background-color: #f1f5ff !important;
}

tr[style*="#ceefce"] > *,
tr[style*="rgb(206, 239, 206)"] > * {
  background-color: #e5f7e8 !important;
}

.table a,
.crm-table-shell a,
table.dataTable a {
  color: var(--crm-primary) !important;
  font-weight: 750 !important;
}

.table .btn,
.crm-table-shell .btn,
table.dataTable .btn {
  font-size: 13px !important;
  min-height: 34px !important;
  padding: 6px 10px !important;
}

.table td:last-child .btn,
.crm-table-shell td:last-child .btn,
table.dataTable td:last-child .btn,
.crm-table-actions .btn {
  margin: 2px !important;
}

.crm-actions-column,
.crm-table-actions,
.table td.crm-table-actions,
table.dataTable td.crm-table-actions {
  min-width: 240px !important;
  white-space: nowrap !important;
}

.crm-call-table {
  min-width: 1180px !important;
}

.call-management-table-shell {
  max-width: 100% !important;
}

.call-management-table-shell .dataTables_wrapper,
.call-management-table-shell .dataTables_scroll,
.call-management-table-shell .dataTables_scrollHead,
.call-management-table-shell .dataTables_scrollBody {
  width: 100% !important;
}

.call-management-table-shell .dataTables_scrollBody {
  border-bottom: 0 !important;
}

.dataTables_wrapper {
  color: #53627f !important;
  font-size: 14px !important;
  padding: 14px 14px 0 !important;
}

.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length {
  color: #53627f !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  margin-bottom: 12px !important;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  font-size: 14px !important;
  min-height: 38px !important;
  padding: 7px 11px !important;
}

.dataTables_wrapper .dataTables_scroll {
  clear: both !important;
}

.ph-summary-card,
.ph-lead-card,
.ph-timeline-card,
.ph-day-block {
  border-color: var(--crm-border) !important;
  box-shadow: 0 8px 20px rgba(1, 41, 112, .055) !important;
}

.ph-summary-card-label,
.ph-lead-card-label,
.ph-timeline-subtitle,
.ph-day-stats,
.ph-time-label,
.ph-legend-item {
  font-size: 13px !important;
}

.ph-summary-card-value,
.ph-lead-card-value {
  font-size: 25px !important;
}

.ph-page-topbar {
  border-bottom-color: var(--crm-border) !important;
  margin-bottom: 18px !important;
  padding-bottom: 16px !important;
}

.ph-page-seller-name {
  color: #012970 !important;
  font-family: "Nunito", sans-serif !important;
  font-size: 20px !important;
  font-weight: 850 !important;
}

#timer {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 999px !important;
  color: #53627f !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  margin-bottom: 16px !important;
  padding: 8px 13px !important;
}

.modal-text,
.ph-print-body,
.ph-print-body-pre,
#phDailyReportPre {
  font-size: 14.5px !important;
  line-height: 1.75 !important;
}

@media (max-width: 1199.98px) {
  :root {
    --crm-page-x: 22px;
    --crm-page-y: 22px;
  }
}

@media (max-width: 767.98px) {
  :root {
    --crm-font-table: 14px;
    --crm-page-x: 16px;
    --crm-page-y: 18px;
    --crm-card-pad: 18px;
  }

  .pagetitle {
    align-items: flex-start !important;
    display: block !important;
  }

  .pagetitle h1,
  .pagetitle h2,
  .pagetitle h3,
  .pagetitle h4,
  .pagetitle h5,
  .pagetitle h6 {
    font-size: 22px !important;
  }

  .crm-summary-cards,
  .ph-summary-cards,
  .ph-lead-cards {
    grid-template-columns: 1fr !important;
  }
}

/* Production UI consistency pass: spacing, readable typography, and table/form unification */
:root {
  --crm-font-base: 15px;
  --crm-font-table: 14.5px;
  --crm-font-small: 13px;
  --crm-content-gap: 22px;
}

html {
  font-size: var(--crm-font-base);
}

body {
  margin: 0 !important;
  padding: 0 !important;
  font-size: var(--crm-font-base) !important;
  line-height: 1.55 !important;
  color: var(--crm-text) !important;
  background: var(--crm-bg) !important;
}

#main.main {
  padding: 28px 32px 72px !important;
}

@media (max-width: 1199px) {
  #main.main {
    padding: 22px 18px 64px !important;
  }
}

@media (max-width: 575px) {
  #main.main {
    padding: 18px 12px 56px !important;
  }
}

main .pagetitle {
  align-items: flex-start !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 24px !important;
}

main .pagetitle h1,
main .pagetitle h2,
main .pagetitle h3,
main .pagetitle h4,
main .pagetitle h5,
main .pagetitle h6 {
  color: #012970 !important;
  font-family: "Nunito", "Open Sans", sans-serif !important;
  font-size: 25px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

main .pagetitle .breadcrumb {
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin: 2px 0 0 !important;
}

@media (max-width: 767px) {
  main .pagetitle {
    display: block !important;
  }
  main .pagetitle nav {
    margin-top: 8px !important;
  }
}

main .section,
main section.section {
  width: 100% !important;
}

main .row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}

main .card,
main .crm-panel,
main .investment-card,
main .ph-filter-card,
main .ph-sales-war-room-card,
main .security-card,
main .crm-manager-hero,
main .crm-sla-hero,
main .crm-merge-hero,
main .crm-dq-hero,
main .crm-notification-hero,
main .security-hero {
  border: 1px solid var(--crm-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--crm-shadow-soft) !important;
  background: var(--crm-surface) !important;
  overflow: visible !important;
}

main .card .card-body {
  padding: 24px !important;
}

@media (max-width: 767px) {
  main .card .card-body {
    padding: 18px !important;
  }
}

main .card-title,
main .crm-section-heading,
main .ph-section-title,
main .crm-panel-head h3,
main .swr-table-title,
main .investment-title h1,
main .investment-section-title {
  color: #012970 !important;
  font-family: "Nunito", "Open Sans", sans-serif !important;
  font-size: 19px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
}

main .crm-section-heading {
  padding: 14px 18px !important;
  margin: 0 0 18px !important;
  background: #f6f8ff !important;
  border-left: 4px solid var(--crm-primary) !important;
  border-radius: 14px !important;
}

main .crm-ajax-result {
  padding: 0 !important;
  margin: 0 !important;
}

main .form-label,
main .col-form-label,
main label:not(.form-check-label),
main .ph-field-label,
main .ph-filter-card .form-label,
main .crm-sla-policy-form label {
  color: #3a4968 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 8px !important;
}

main .form-control,
main .form-select,
main textarea.form-control,
main input[type="date"],
main input[type="datetime-local"],
main input[type="email"],
main input[type="number"],
main input[type="password"],
main input[type="search"],
main input[type="tel"],
main input[type="text"],
main input[type="url"],
main select,
main textarea,
main .dataTables_wrapper .dataTables_filter input,
main .dataTables_wrapper .dataTables_length select {
  min-height: 44px !important;
  border-radius: 12px !important;
  border: 1px solid #d8e0ef !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--crm-text) !important;
  background-color: #fff !important;
  box-shadow: none !important;
}

main .btn,
main button,
main input[type="submit"],
main input[type="button"] {
  border-radius: 11px !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  min-height: 39px !important;
  white-space: nowrap !important;
}

main .btn-sm {
  border-radius: 9px !important;
  font-size: 13px !important;
  min-height: 34px !important;
  padding: 6px 10px !important;
}

main .table-responsive,
main .crm-table-shell,
main .dataTables_wrapper,
main .crm-seller-performance-table-wrap,
main .investment-rate-table-wrap,
main .swr-table-card {
  width: 100% !important;
  max-width: 100% !important;
}

main .table-responsive,
main .crm-table-shell,
main .crm-seller-performance-table-wrap,
main .investment-rate-table-wrap {
  overflow-x: auto !important;
  overflow-y: visible !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

main table,
main .table,
main table.table,
main table.dataTable,
main .dataTable-table,
main .investment-table,
main .swr-table,
main .crm-seller-performance-table {
  width: 100% !important;
  color: #2d3955 !important;
  margin-bottom: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  font-size: var(--crm-font-table) !important;
}

main .table thead th,
main table.table thead th,
main table.dataTable thead th,
main .dataTable-table thead th,
main .investment-table th,
main .swr-table thead th,
main .crm-seller-performance-table th {
  background: #f3f6ff !important;
  border-bottom: 1px solid #dfe6f4 !important;
  color: #34425f !important;
  font-size: 13.5px !important;
  font-weight: 850 !important;
  letter-spacing: .015em !important;
  line-height: 1.35 !important;
  padding: 13px 14px !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

main .table tbody td,
main table.table tbody td,
main table.dataTable tbody td,
main .dataTable-table tbody td,
main .investment-table td,
main .swr-table tbody td,
main .crm-seller-performance-table td {
  border-color: #edf1f7 !important;
  color: #36445f !important;
  font-size: var(--crm-font-table) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  padding: 12px 14px !important;
  vertical-align: middle !important;
}

main .table-sm thead th,
main .table-sm tbody td {
  font-size: 14px !important;
  padding: 10px 12px !important;
}

main .table-striped > tbody > tr:nth-of-type(odd) > *,
main table.dataTable.stripe > tbody > tr.odd > *,
main table.dataTable.display > tbody > tr.odd > * {
  --bs-table-accent-bg: #fbfcff !important;
  background-color: #fbfcff !important;
  color: #36445f !important;
}

main .table-hover > tbody > tr:hover > *,
main table.dataTable.hover > tbody > tr:hover > *,
main table.dataTable.display > tbody > tr:hover > * {
  --bs-table-accent-bg: #f6f8ff !important;
  background-color: #f6f8ff !important;
  color: #26334d !important;
}

main .table a,
main table.dataTable a,
main .crm-table-link {
  color: var(--crm-primary) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

main .table small,
main table.dataTable small,
main .dataTable-table small {
  color: #36445f !important;
  font-size: var(--crm-font-table) !important;
  font-weight: 500 !important;
}

main .badge,
main .crm-dq-badge,
main .crm-pill,
main .crm-sla-tag,
main .crm-chip,
main .crm-stage-badge,
main .ph-badget-sucess,
main .ph-badget-warning {
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  padding: 6px 10px !important;
}

main .dataTables_wrapper {
  padding: 0 !important;
}

main .dataTables_wrapper .dataTables_filter,
main .dataTables_wrapper .dataTables_length {
  margin: 0 0 14px !important;
  color: #53627f !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

main .dataTables_wrapper .dataTables_filter input {
  width: min(280px, 60vw) !important;
  margin-left: 8px !important;
  padding: 7px 12px !important;
}

main .dataTables_wrapper .dataTables_scroll,
main .dataTables_wrapper .dataTables_scrollBody {
  border: 0 !important;
}

main .ph-page-seller-name {
  color: #012970 !important;
  font-family: "Nunito", "Open Sans", sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

main .ph-page-topbar {
  border-bottom: 1px solid var(--crm-border) !important;
  margin-bottom: 20px !important;
  padding-bottom: 18px !important;
}

main .ph-summary-cards,
main .ph-lead-cards {
  gap: 14px !important;
}

main .ph-summary-card,
main .ph-lead-card,
main .crm-kpi-card,
main .crm-stat-card,
main .investment-stat-card,
main .swr-stat-card {
  border: 1px solid var(--crm-border) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: var(--crm-shadow-soft) !important;
  padding: 16px !important;
}

main .ph-summary-card-label,
main .ph-lead-card-label,
main .crm-kpi-card span,
main .investment-stat-card span,
main .swr-stat-label {
  color: var(--crm-muted) !important;
  font-size: 13.5px !important;
  font-weight: 750 !important;
}

main .ph-summary-card-value,
main .ph-lead-card-value,
main .crm-kpi-card strong,
main .investment-stat-card strong,
main .swr-stat-value {
  color: #012970 !important;
  font-family: "Nunito", "Open Sans", sans-serif !important;
  font-size: 24px !important;
  font-weight: 850 !important;
}

main .ph-timeline-card {
  border: 1px solid var(--crm-border) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: var(--crm-shadow-soft) !important;
  padding: 18px !important;
}

main .ph-timeline-title,
main .ph-lead-section-title {
  color: #012970 !important;
  font-size: 18px !important;
  font-weight: 850 !important;
}

main .ph-timeline-subtitle,
main .ph-lead-section-subtitle,
main .ph-timeline-legend {
  color: var(--crm-muted) !important;
  font-size: 13px !important;
}

main .ph-call-table-shell {
  margin: 12px 0 0 !important;
}

main .ph-call-records-table {
  min-width: 1120px !important;
}

main .ph-call-records-table th:nth-child(1),
main .ph-call-records-table td:nth-child(1) { width: 56px !important; }
main .ph-call-records-table th:nth-child(2),
main .ph-call-records-table td:nth-child(2) { width: 86px !important; }
main .ph-call-records-table th:nth-child(3),
main .ph-call-records-table td:nth-child(3) { width: 92px !important; }
main .ph-call-records-table th:nth-child(5),
main .ph-call-records-table td:nth-child(5) { width: 110px !important; }
main .ph-call-records-table th:nth-child(6),
main .ph-call-records-table td:nth-child(6) { width: 130px !important; }
main .ph-call-records-table th:nth-child(7),
main .ph-call-records-table td:nth-child(7) { width: 116px !important; }
main .ph-call-records-table th:nth-child(8),
main .ph-call-records-table td:nth-child(8) { width: 130px !important; }

main .ph-call-records-table .ph-call-actions-head,
main .ph-call-records-table .ph-call-actions-cell {
  width: 230px !important;
  min-width: 230px !important;
  white-space: normal !important;
}

main .ph-call-actions-cell {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

main .ph-call-actions-cell .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 6px 9px !important;
  min-width: 64px !important;
}

main .ph-call-success-row > * {
  background-color: #e9f8ec !important;
}

main .mobile-element {
  color: var(--crm-primary) !important;
  font-weight: 700 !important;
}

main .ph-badget-sucess {
  background: #e9f8ef !important;
  color: #15804d !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

main .ph-badget-warning {
  background: #fff6df !important;
  color: #946500 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

main .modal-text,
main .modal-body {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

@media print {
  body {
    padding: 0 !important;
    background: #fff !important;
  }
}

/* Final readable-table guardrails for legacy ajax partials */
main .crm-call-table,
main .ph-call-records-table {
  min-width: 1180px !important;
}

main .crm-table-actions,
main .ph-call-actions-cell {
  min-width: 240px !important;
  white-space: normal !important;
}

main .crm-table-actions .btn,
main .ph-call-actions-cell .btn {
  margin: 2px !important;
}

main [style*="font-size:12px"],
main [style*="font-size: 12px"],
main [style*="font-size:11px"],
main [style*="font-size: 11px"] {
  font-size: 14px !important;
}

main [style*="padding: 20px"],
main [style*="padding:20px"] {
  padding: 0 !important;
}
main .crm-modal-section-title {
  color: #012970 !important;
  direction: ltr !important;
  font-family: "Nunito", "Open Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  margin: 16px 0 12px !important;
  text-align: left !important;
}
/* Final font-size normalization for remaining legacy fragments */
main p,
main li,
main .form-text,
main .text-muted,
main .small,
main small {
  line-height: 1.5 !important;
}

main .small,
main small,
main .form-text {
  font-size: 13.5px !important;
}

main [class*="subtitle"],
main [class*="Subtitle"],
main [class*="meta"],
main [class*="Meta"] {
  font-size: 13.5px !important;
}


/* LeadMind final demo hardening: no horizontal page/table scroll, stronger dashboard typography */
html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}
#main, main.main, .main, .section, .dashboard, .card, .card-body, .container, .container-fluid, .row {
  max-width: 100% !important;
}
main .table-responsive,
main .dataTables_wrapper,
main .dataTables_scroll,
main .dataTables_scrollHead,
main .dataTables_scrollBody,
main .table-scroll,
main .crm-table-wrap,
main .lm-table-wrap {
  overflow-x: visible !important;
  width: 100% !important;
  max-width: 100% !important;
}
main table,
main .table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}
main th,
main td {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  vertical-align: middle !important;
}
main .badge,
main .lm-badge-soft,
main [class*="badge"] {
  white-space: normal !important;
  line-height: 1.25 !important;
  max-width: 100% !important;
}
main h1 { font-size: 30px !important; font-weight: 900 !important; letter-spacing: -.04em !important; color: #012970 !important; }
main h2 { font-size: 26px !important; font-weight: 900 !important; letter-spacing: -.035em !important; }
main h3, main h4, main h5 { font-weight: 850 !important; letter-spacing: -.025em !important; }
main .card-title { font-size: 20px !important; font-weight: 850 !important; color: #012970 !important; }
main .form-control, main .form-select, main .btn { font-size: 15px !important; }
main .table th { font-size: 13px !important; }
main .table td { font-size: 15px !important; line-height: 1.45 !important; }
.lm-overview-hero.card,
.lm-radar-hero.card {
  background: radial-gradient(circle at 86% 0%, rgba(255,255,255,.28), transparent 32%), linear-gradient(135deg, #09285f 0%, #1f55d8 54%, #6678ff 100%) !important;
  color: #fff !important;
}
.lm-overview-hero.card h1,
.lm-overview-hero.card h2,
.lm-overview-hero.card h3,
.lm-radar-hero.card h1,
.lm-radar-hero.card h2,
.lm-radar-hero.card h3 { color:#fff !important; }
.lm-overview-hero.card p,
.lm-radar-hero.card p { color: rgba(255,255,255,.86) !important; }
.min-w-0 { min-width: 0 !important; }

/* Readable Lead Details call history */
.crm-call-history-list { display: grid; gap: 16px; }
.crm-call-history-card {
  border: 1px solid #e5ecfb;
  border-radius: 22px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 10px 28px rgba(1,41,112,.06);
}
.crm-call-history-card.is-short { background: linear-gradient(180deg,#fff,#fffaf0); }
.crm-call-history-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #eef2fb;
  padding-bottom: 14px;
  margin-bottom: 14px;
}
.crm-call-history-time { color:#012970; font-weight:900; font-size:16px; }
.crm-call-history-path { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:6px; color:#64748b; }
.crm-call-history-path strong { color:#1d4ed8; overflow-wrap:anywhere; }
.crm-call-history-path em { color:#94a3b8; font-style:normal; }
.crm-call-history-duration { min-width:150px; border-radius:18px; background:#eff6ff; padding:12px 14px; text-align:center; color:#1d4ed8; }
.crm-call-history-duration.short { background:#fff7ed; color:#c2410c; }
.crm-call-history-duration strong { display:block; font-size:24px; line-height:1; font-weight:900; color:inherit; }
.crm-call-history-duration span { display:block; margin-top:6px; font-size:12px; font-weight:800; color:inherit; }
.crm-call-history-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.crm-call-history-grid > div { min-width:0; border:1px solid #eef2fb; border-radius:16px; padding:12px; background:#f8fbff; }
.crm-call-history-label { display:block; color:#71809d; text-transform:uppercase; letter-spacing:.07em; font-size:11px; font-weight:900; margin-bottom:5px; }
.crm-call-history-grid strong,
.crm-call-history-grid small { display:block; overflow-wrap:anywhere; }
.crm-call-match { display:inline-flex; border-radius:999px; padding:6px 10px; font-size:12px; font-weight:900; background:#fff7e6; color:#9a5a00; }
.crm-call-match.matched { background:#eafaf1; color:#117647; }
.crm-call-history-actions { display:flex; align-items:center; justify-content:center; }
.crm-call-history-note { margin-top:12px; border-radius:14px; background:#f8fafc; padding:12px 14px; color:#475569; line-height:1.55; overflow-wrap:anywhere; }
.crm-call-history-note.muted { color:#7b8bad; }
.crm-call-history-evidence { margin-top:12px; display:grid; gap:10px; }
.crm-call-details { border:1px solid #e6edfb; border-radius:16px; padding:12px 14px; background:#fff; }
.crm-call-details summary { cursor:pointer; color:#173aa2; font-weight:900; }
.crm-call-details div { margin-top:10px; color:#334155; line-height:1.7; overflow-wrap:anywhere; }
.crm-call-summary-chips { display:flex; flex-wrap:wrap; gap:8px; }
.crm-call-summary-chips span { display:inline-flex; border-radius:999px; padding:6px 10px; background:#eef3ff; color:#4154f1; font-size:12px; font-weight:900; }
@media(max-width:991px){ .crm-call-history-grid{grid-template-columns:1fr 1fr;} .crm-call-history-head{display:block;} .crm-call-history-duration{margin-top:12px;text-align:left;} }
@media(max-width:575px){ .crm-call-history-grid{grid-template-columns:1fr;} }

/* Meta dashboard final-demo emphasis */
.meta-dashboard .card, .meta-ceo-dashboard .card, .meta-kpi-card {
  border-radius: 22px !important;
  box-shadow: 0 12px 34px rgba(1,41,112,.07) !important;
}
.meta-kpi-card, .meta-stat-card {
  padding: 22px !important;
}
.meta-kpi-card strong, .meta-stat-card strong,
.meta-kpi-card .value, .meta-stat-card .value {
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  color: #012970 !important;
}


/* LeadMind v9 production-demo guardrails */
main .crm-call-table,
main .ph-call-records-table,
main .table.crm-call-table,
main .table.ph-call-records-table {
  min-width: 0 !important;
  width: 100% !important;
}
main .dataTables_scrollBody {
  border-bottom: 0 !important;
}
main .dataTables_scrollHeadInner {
  width: 100% !important;
}
main .dataTables_scrollHeadInner table {
  width: 100% !important;
}
main .lm-evidence-card,
main .lm-mini-card,
main .crm-call-history-card,
main .ph-call-card {
  min-width: 0 !important;
}
main .lm-evidence-text,
main .lm-mini-card p,
main .lm-mini-card h6,
main .crm-call-history-note,
main .ph-call-subline {
  overflow-wrap: anywhere !important;
}
main .table td .badge,
main .table td span,
main .table td a {
  overflow-wrap: anywhere !important;
}
@media (min-width: 1200px) {
  main .lm-leak-funnel { gap: 18px !important; }
}

/* LeadMind v9 hard horizontal-scroll guard */
html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}
#main.main {
  overflow-x: hidden !important;
}
main * {
  min-width: 0;
}
main img, main svg, main canvas, main video, main audio {
  max-width: 100% !important;
}
main .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
main .card-body {
  overflow-x: hidden !important;
}

/* v11 final demo polish */
body, .main, #main { overflow-x: hidden !important; }
.table, .crm-table, .dataTable { width: 100% !important; table-layout: fixed; }
.table th, .table td, .crm-table th, .crm-table td, .dataTable th, .dataTable td { white-space: normal !important; overflow-wrap: anywhere; }
.ci-stat-card { border:0!important; border-radius:22px!important; box-shadow:0 14px 38px rgba(1,41,112,.08)!important; background:linear-gradient(135deg,#fff,#f8fbff)!important; }
.ci-stat-card .card-body { padding:24px!important; }
.ci-stat-card h5 { color:#50658a!important; font-size:13px!important; font-weight:950!important; text-transform:uppercase; letter-spacing:.08em; }
.ci-stat-card h3 { color:#012970!important; font-size:34px!important; font-weight:950!important; }
.ci-report-row { border-color:#dbe7fb!important; }
.ci-report-title { color:#012970!important; font-size:17px!important; }
.ci-primary-action, .ci-report-row .btn, .meta-campaign-card .btn, .meta-account-card .btn { font-weight:950!important; border-radius:12px!important; box-shadow:0 8px 18px rgba(65,84,241,.18)!important; }
.meta-account-header, .meta-account-card-header, .lm-meta-account-header { color:#fff!important; }
.meta-account-header *, .meta-account-card-header *, .lm-meta-account-header * { color:#fff!important; }
