/* UX refinement layer — denser professional CRM workspace.
   Loaded last so it can neutralize legacy inline card-heavy layout rules. */

:root {
  --ux-radius: 9px;
  --ux-radius-lg: 12px;
  --ux-divider: #e2e8ef;
  --ux-hover: #f7f9fc;
  --ux-subtle: #f5f7fa;
}

/* Sales-intelligence dossier: compact, readable and action-led. */
.crm-dashboard.has-active-task .task-client-intelligence {
  padding: 16px;
  background: #fff;
  border: 1px solid #d7e1eb;
  border-radius: 12px;
  box-shadow: none;
}
.crm-dashboard.has-active-task .client-intelligence-head {
  padding-bottom: 12px;
  border-bottom: 1px solid #e8eef4;
}
.crm-dashboard.has-active-task .client-intelligence-head h3 { font-size: 16px; }
.crm-dashboard.has-active-task .client-intelligence-head small { font-size: 11px; }

.intel-executive-brief {
  margin-top: 12px;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--ux-divider);
}
.intel-executive-brief > span,
.intel-contact-focus span,
.intel-commercial-logic span,
.intel-company-presence > span,
.intel-market-proof span {
  display: block;
  color: #687c90;
  font-size: 10px;
  font-weight: 900;
}
.intel-executive-brief p {
  margin: 5px 0 0;
  color: #17334f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}
.intel-contact-focus {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(220px,.92fr);
  margin-top: 12px;
  overflow: hidden;
  background: #f7fbff;
  border: 1px solid #cfe0ef;
  border-inline-start: 4px solid #1769d2;
  border-radius: 10px;
}
.intel-contact-focus.has-direct-number { border-inline-start-color: #16845b; background: #f6fbf8; }
.intel-contact-focus > section { min-width: 0; padding: 14px 15px; }
.intel-contact-route { border-inline-start: 1px solid #dce7f0; }
.intel-contact-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.intel-contact-title em {
  padding: 3px 7px;
  color: #365f83;
  background: #eaf3fc;
  border-radius: 999px;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
}
.intel-contact-focus.has-direct-number .intel-contact-title em { color: #176747; background: #e3f4eb; }
.intel-contact-person h4 { margin: 7px 0 2px; color: #0d2d4a; font-size: 18px; line-height: 1.35; }
.intel-contact-person p { margin: 0; color: #536c82; font-size: 11px; font-weight: 700; }
.intel-contact-person a { display: inline-flex; align-items: center; gap: 4px; margin-top: 9px; color: #1769d2; font-size: 10px; font-weight: 900; text-decoration: none; }
.intel-contact-person a svg { width: 12px; height: 12px; }
.intel-contact-route > strong { display: block; margin-top: 5px; color: #0d2d4a; font-size: 18px; font-variant-numeric: tabular-nums; text-align: right; }
.intel-contact-route > small { display: block; margin-top: 2px; color: #b06408; font-size: 9px; font-weight: 800; }
.intel-contact-focus.has-direct-number .intel-contact-route > small { color: #16845b; }
.intel-contact-route p { margin: 9px 0 0; padding-top: 8px; color: #304f69; border-top: 1px dashed #c9d9e7; font-size: 11px; font-weight: 800; line-height: 1.65; }
.intel-commercial-logic {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin-top: 12px;
  border-top: 1px solid var(--ux-divider);
  border-inline-start: 1px solid var(--ux-divider);
}
.intel-commercial-logic > section { min-width: 0; padding: 12px 13px; border-inline-end: 1px solid var(--ux-divider); border-bottom: 1px solid var(--ux-divider); }
.intel-commercial-logic strong,
.intel-market-proof strong { display: block; margin-top: 5px; color: #17334f; font-size: 12px; line-height: 1.75; }
.intel-commercial-logic small { color: #718398; font-size: 9px; }
.intel-company-presence {
  display: grid;
  grid-template-columns: 110px minmax(0,1fr);
  align-items: start;
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--ux-divider);
}
.intel-presence-links { display: flex; flex-wrap: wrap; gap: 6px; }
.intel-presence-links a,
.intel-presence-links em { padding: 4px 8px; color: #1769d2; background: #f5f9fe; border: 1px solid #cfdeed; border-radius: 6px; font-size: 10px; font-style: normal; font-weight: 900; text-decoration: none; }
.intel-company-presence > small { grid-column: 2; color: #647a8f; font-size: 10px; line-height: 1.6; }
.intel-market-proof { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 12px; padding: 12px 0 0; border-top: 1px solid var(--ux-divider); }
.intel-market-proof > section + section { padding-inline-start: 18px; border-inline-start: 1px solid var(--ux-divider); }

@media (max-width: 720px) {
  .intel-contact-focus { grid-template-columns: 1fr; }
  .intel-contact-route { border-inline-start: 0; border-top: 1px solid #dce7f0; }
  .intel-commercial-logic { grid-template-columns: 1fr; }
  .intel-company-presence { grid-template-columns: 1fr; }
  .intel-company-presence > small { grid-column: 1; }
  .intel-market-proof { grid-template-columns: 1fr; gap: 12px; }
  .intel-market-proof > section + section { padding: 12px 0 0; border-inline-start: 0; border-top: 1px solid var(--ux-divider); }
}

.crm-dashboard.has-active-task .client-intelligence-grid {
  grid-template-columns: minmax(0,1.35fr) minmax(190px,.85fr);
  gap: 9px;
}
.crm-dashboard.has-active-task .client-intelligence-grid > div {
  min-height: 0;
  padding: 11px 12px;
  background: #fbfcfe;
  border: 1px solid #e1e9f1;
  border-radius: 8px;
}
.crm-dashboard.has-active-task .client-intelligence-grid .intel-wide {
  grid-column: 1 / -1;
  background: #f3f8ff;
  border-inline-start: 3px solid #1769d2;
}
.crm-dashboard.has-active-task .client-intelligence-grid span {
  margin-bottom: 5px;
  color: #6b7d8f;
  font-size: 10px;
  font-weight: 800;
}
.crm-dashboard.has-active-task .client-intelligence-grid strong {
  color: #17334f;
  font-size: 13px;
  line-height: 1.72;
}
.crm-dashboard.has-active-task .client-intelligence-grid .intel-decision-contact {
  background: #f6fbf8;
  border-color: #cfe8da;
  border-inline-start: 3px solid #16845b;
}
.crm-dashboard.has-active-task .client-intelligence-grid .intel-footprint {
  grid-column: 1 / -1;
}
.crm-dashboard.has-active-task .intel-footprint strong {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.crm-dashboard.has-active-task .intel-footprint a,
.crm-dashboard.has-active-task .intel-footprint em {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  border: 1px solid #c9dbf0;
  border-radius: 999px;
  background: #fff;
  color: #1769d2;
  font-size: 11px;
  font-style: normal;
  text-decoration: none;
}
.crm-dashboard.has-active-task .intel-footprint a:hover { background: #eef5ff; }
.crm-dashboard.has-active-task .intel-customers { background: #fbfaf7; }
.crm-dashboard.has-active-task .intel-reviews { background: #fffaf7; }
.crm-dashboard.has-active-task .sales-intel-notes {
  display: grid;
  grid-template-columns: 82px minmax(0,1fr);
  gap: 10px;
  align-items: start;
  margin-top: 9px;
  padding: 10px 12px;
  color: #765021;
  background: #fffbf5;
  border: 1px solid #f4dfbc;
  border-radius: 8px;
}
.crm-dashboard.has-active-task .sales-intel-notes span { color: #9a6a21; font-weight: 900; }
.crm-dashboard.has-active-task .sales-intel-notes p { margin: 0; line-height: 1.75; }
@media (max-width: 620px) {
  .crm-dashboard.has-active-task .client-intelligence-grid { grid-template-columns: 1fr; }
  .crm-dashboard.has-active-task .client-intelligence-grid .intel-wide { grid-column: auto; }
  .crm-dashboard.has-active-task .sales-intel-notes { grid-template-columns: 1fr; gap: 3px; }
}

/* Login is a focused gateway, not a promotional landing card. */
.login-card {
  max-width: 410px;
  padding: 28px;
  border-radius: 14px;
  box-shadow: 0 14px 36px rgba(18, 50, 74, .10);
}
.login-card::before { height: 2px; background: var(--color-primary); }
.login-card > div:first-child {
  width: 62px !important;
  height: 62px !important;
  margin-bottom: 14px !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, #2380ee, #0d4eaa) !important;
  box-shadow: 0 8px 20px rgba(23, 105, 224, .18) !important;
}
.login-card > div:first-child span { font-size: 29px !important; }
.login-card h2 { font-size: 23px !important; }
.login-card > p { margin-bottom: 22px !important; font-size: 13px; }
.login-card .form-group { margin-bottom: 14px; }
.login-card .form-group label { color: #40586c; font-size: 12px; }
.login-card .form-control { min-height: 44px; border-width: 1px; }
.login-card .btn { min-height: 46px; border-radius: 9px; font-size: 14px !important; }

/* Keep controls clear and quiet. Professional density comes from grouping,
   not tiny type or decorative shadows. */
.card,
.compact-card,
.panel,
.crm-table-wrap,
.report-panel,
.report-kpi-card,
.task-center-row,
.manual-research-panel {
  border-color: var(--ux-divider);
  border-radius: var(--ux-radius-lg);
  box-shadow: none;
}

.panel:hover,
.crm-kpi-card:hover,
.crm-deal-card:hover,
.calendar-day:hover {
  transform: none;
  box-shadow: none;
}

.text-sm,
.page-subtitle,
.crm-data-table,
.data-table,
.report-team-table { line-height: 1.55; }

/* Connected metric strip: one grouped overview instead of separate cards. */
.crm-companies-page > .kpi-grid,
.admin-workspace > .kpi-grid,
.report-kpi-grid {
  overflow: hidden;
  gap: 0 !important;
  background: #fff;
  border: 1px solid var(--ux-divider);
  border-radius: var(--ux-radius-lg);
  box-shadow: none;
}

.crm-companies-page > .kpi-grid > .compact-card,
.admin-workspace > .kpi-grid > .kpi,
.report-kpi-grid > .report-kpi-card {
  margin: 0;
  border: 0;
  border-inline-start: 1px solid var(--ux-divider);
  border-radius: 0;
  box-shadow: none;
}

.crm-companies-page > .kpi-grid > :first-child,
.admin-workspace > .kpi-grid > :first-child,
.report-kpi-grid > :first-child { border-inline-start: 0; }

.crm-companies-page > .kpi-grid > .compact-card {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  justify-content: start;
  gap: 8px;
  min-height: 54px;
  padding: 9px 16px !important;
  text-align: start !important;
}

.crm-companies-page > .kpi-grid > .compact-card strong { font-size: 18px !important; }
.crm-companies-page > .kpi-grid > .compact-card .text-sm { font-size: 11px; font-weight: 700; }

/* Operational pages already have a title in the app header. The content header
   becomes an action bar instead of repeating the page name. */
.crm-companies-page > .page-header > div:first-child,
.crm-deals-page > .page-header > div:first-child,
.crm-calendar-page > .page-header > .page-title { display: none; }

.crm-companies-page > .page-header,
.crm-deals-page > .page-header,
.crm-calendar-page > .page-header {
  justify-content: flex-end;
  min-height: 40px;
  margin-bottom: 10px;
}

.crm-companies-page > .page-header .page-actions,
.crm-deals-page > .page-header .page-actions { margin-inline-start: auto; }

/* Search and filters behave like a single toolbar. */
.crm-companies-page > form.stack {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  align-items: center;
  gap: 8px !important;
  margin-bottom: 10px !important;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--ux-divider);
  border-radius: var(--ux-radius);
}

.crm-companies-page > form.stack > .row-between { gap: 8px !important; }
.crm-companies-page > form.stack .input,
.crm-companies-page > form.stack .select { min-height: 38px; border-color: #d8e1ea; }
.crm-companies-page > form.stack .select { min-width: 150px; }

/* Data tables carry the visual weight, using compact rows and a sticky header. */
.crm-table-wrap,
.report-table-wrap { border-radius: var(--ux-radius); }
.crm-data-table th,
.data-table th,
.report-team-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px 13px;
  color: #627487;
  background: #f7f9fb;
  font-size: 11px;
  letter-spacing: .1px;
}
.crm-data-table td,
.data-table td,
.report-team-table td {
  padding: 10px 13px;
  font-size: 12px;
}
.crm-data-table tbody tr:hover,
.data-table tbody tr:hover,
.report-team-table tbody tr:hover { background: var(--ux-hover); }
.crm-company-avatar { width: 32px; height: 32px; flex-basis: 32px; border-radius: 8px; }
.crm-company-cell { gap: 9px; }
.crm-company-cell strong { font-size: 12px; }
.crm-company-cell small { font-size: 10px; }
.crm-table-actions .btn { min-height: 34px; padding: 7px 10px; font-size: 11px; }
.crm-task-button { width: 34px; height: 34px; }

/* Kanban cards stay white and use a restrained service accent on one edge.
   Full-card rainbow fills made the pipeline feel promotional rather than operational. */
.crm-deal-card[data-service-id="1"], .pipeline-card[data-service-id="1"] { --service-accent: #8d62d9; }
.crm-deal-card[data-service-id="2"], .pipeline-card[data-service-id="2"] { --service-accent: #2878c9; }
.crm-deal-card[data-service-id="3"], .pipeline-card[data-service-id="3"] { --service-accent: #14999a; }
.crm-deal-card[data-service-id="4"], .pipeline-card[data-service-id="4"] { --service-accent: #c78019; }
.crm-deal-card[data-service-id="5"], .pipeline-card[data-service-id="5"] { --service-accent: #469a54; }
.crm-deal-card[data-service-id="6"], .pipeline-card[data-service-id="6"] { --service-accent: #5368ca; }
.crm-deal-card[data-service-id="7"], .pipeline-card[data-service-id="7"] { --service-accent: #c75d73; }
.crm-deal-card[data-service-id="8"], .pipeline-card[data-service-id="8"] { --service-accent: #15956b; }
.crm-deal-card[data-service-id],
.pipeline-card[data-service-id] {
  background: #fff !important;
  border-color: #dfe6ee;
  border-inline-start: 3px solid var(--service-accent, #8da0b2);
}
.crm-deal-card { border-radius: var(--ux-radius); }
.crm-pipeline-column { border-radius: var(--ux-radius-lg); }

/* Tasks: turn the hero and statistic cards into command bars. */
.task-workspace-hero {
  min-height: 58px;
  margin-bottom: 10px;
  padding: 10px 12px 10px 16px;
  background: #fff;
  border-radius: var(--ux-radius);
}
.task-workspace-hero h1 { display: none; }
.task-workspace-hero .crm-eyebrow { font-size: 10px; }
.task-workspace-hero p { margin-top: 2px; font-size: 11px; }
.task-workspace-actions .btn { min-height: 36px; padding: 8px 11px; font-size: 11px; }

.task-action-strip {
  overflow: hidden;
  gap: 0;
  margin-bottom: 10px;
  background: #fff;
  border: 1px solid var(--ux-divider);
  border-radius: var(--ux-radius);
}
.task-action-strip > a,
.task-action-strip > .research-queue-card {
  min-height: 56px;
  margin: 0;
  padding: 9px 14px;
  border: 0;
  border-inline-start: 1px solid var(--ux-divider);
  border-radius: 0;
  box-shadow: none;
}
.task-action-strip > :first-child { border-inline-start: 0; }
.task-action-strip strong { font-size: 19px; }
.task-action-strip small { font-size: 10px; }

.manual-research-panel { margin-bottom: 10px; padding: 11px; }
.manual-research-copy { margin-bottom: 8px; }
.manual-research-icon { width: 32px; height: 32px; border-radius: 8px; }
.manual-research-copy h2 { font-size: 13px; }
.manual-research-copy p { font-size: 11px; }
.manual-research-form .input,
.manual-research-form .btn { min-height: 38px; }
.task-list-toolbar { margin-bottom: 8px; }
.task-center-tabs { border-radius: var(--ux-radius); }
.task-center-row {
  grid-template-columns: 34px minmax(0,1fr) auto;
  gap: 10px;
  padding: 10px 12px;
  border-radius: var(--ux-radius);
}
.task-center-type { width: 34px; height: 34px; border-radius: 8px; }
.task-center-main h2 { margin: 2px 0; font-size: 13px; }
.task-center-main p { font-size: 11px; }
.task-center-main small { font-size: 10px; }
.task-center-badge,
.task-center-due,
.research-state { font-size: 11px; }
.task-center-actions .btn { min-height: 34px; padding: 7px 10px; font-size: 10px; }

@media (max-width: 760px) {
  .task-center-row { grid-template-columns: 34px minmax(0,1fr); }
  .task-center-actions { grid-column: 1 / -1; width: 100%; }
}

/* Calendar becomes a weekly agenda, not a stack of cards. */
.crm-calendar-page > .row-between { margin-bottom: 8px !important; }
.crm-calendar-page > .btn.btn-primary { width: auto !important; min-height: 38px; margin-bottom: 10px !important; }
.crm-calendar-page .calendar-day-section {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  gap: 0;
  margin: 0 !important;
  background: #fff;
  border: 1px solid var(--ux-divider);
  border-bottom: 0;
}
.crm-calendar-page .calendar-day-section:first-of-type { border-radius: var(--ux-radius) var(--ux-radius) 0 0; }
.crm-calendar-page .calendar-day-section:last-of-type { border-bottom: 1px solid var(--ux-divider); border-radius: 0 0 var(--ux-radius) var(--ux-radius); }
.crm-calendar-page .calendar-day-header {
  min-height: 58px;
  padding: 12px !important;
  background: #f8fafc;
  border: 0 !important;
  border-inline-end: 1px solid var(--ux-divider) !important;
  font-size: 12px !important;
}
.crm-calendar-page .calendar-day-section.is-today .calendar-day-header { color: var(--crm-blue) !important; background: var(--crm-blue-soft); }
.crm-calendar-page .calendar-day-section > .stack { gap: 0; margin: 0 !important; padding: 5px 8px; }
.crm-calendar-page .meeting-card {
  margin: 0;
  padding: 8px 10px;
  border: 0;
  border-bottom: 1px solid #edf1f5;
  border-radius: 0;
  box-shadow: none;
}
.crm-calendar-page .meeting-card:last-child { border-bottom: 0; }
.crm-calendar-page .meeting-card:hover { background: var(--ux-hover); }
.crm-calendar-page .meeting-card .row-between > div > span { font-size: 12px !important; }

/* Reports: connected KPI bar and flatter analytic sections. */
.report-hero {
  min-height: 52px;
  margin-bottom: 9px;
  padding: 0;
  align-items: center;
}
.report-hero h1 { display: none; }
.report-hero p { margin-top: 2px; font-size: 11px; }
.report-hero-actions .btn { min-height: 36px; padding: 8px 11px; font-size: 11px; }
.report-range-tabs { margin-bottom: 10px; border-radius: var(--ux-radius); box-shadow: none; }
.report-kpi-grid { margin-bottom: 10px; }
.report-kpi-card { min-height: 96px; padding: 12px 14px; }
.report-kpi-card > small { margin-top: 8px; font-size: 11px; }
.report-kpi-card > strong { font-size: 24px; }
.report-kpi-card > strong.money { font-size: 20px; }
.report-kpi-card > p { font-size: 10px; }
.report-operational-strip { margin-bottom: 14px; border-radius: var(--ux-radius); box-shadow: none; }
.report-operational-strip > a,
.report-operational-strip > div { padding: 10px 13px; }
.report-operational-strip strong { font-size: 18px; }
.report-operational-strip span,
.report-operational-strip small { font-size: 10px; }
.report-alerts { margin-bottom: 14px; }
.report-alert-grid { gap: 6px; }
.report-alert { border-radius: var(--ux-radius); box-shadow: none; }
.report-alert strong { font-size: 12px; }
.report-alert small,
.report-alert > b { font-size: 10px; }
.report-grid { gap: 10px; margin-bottom: 10px; }
.report-panel { padding: 14px; }
.report-panel-head { margin-bottom: 10px; }
.report-panel-head p { font-size: 10px; }
.report-chart { height: 230px; }
.report-chart-line { height: 240px; }
.report-team-table th { font-size: 10px; }
.report-team-table td { font-size: 11px; }
.report-employee strong { font-size: 11px; }
.report-employee small { font-size: 9px; }

/* Admin: compact management workspace with clear grouped forms. */
.admin-workspace { padding: 20px 24px 42px !important; }
.admin-workspace > .page-title-row {
  min-height: 44px;
  margin-bottom: 10px;
  padding: 0;
}
.admin-workspace > .page-title-row h2 { display: none; }
.admin-workspace > .page-title-row p { max-width: 720px; font-size: 11px; }
.admin-workspace > .page-title-row .btn { min-height: 36px; font-size: 11px; }
.admin-workspace > .kpi-grid { margin-bottom: 12px; }
.admin-workspace > .kpi-grid > .kpi { min-height: 64px; padding: 11px 15px; }
.admin-workspace > .kpi-grid > .kpi span { font-size: 11px; }
.admin-workspace > .kpi-grid > .kpi strong { font-size: 21px; }
.admin-workspace .profile-grid.admin-grid { gap: 10px; margin-bottom: 10px; }
.admin-workspace .panel { margin: 0; padding: 14px; }
.admin-workspace .panel h3 { margin-bottom: 10px; font-size: 14px; }
.admin-workspace .stack-form { gap: 8px; }
.admin-workspace .stack-form input,
.admin-workspace .stack-form select,
.admin-workspace .stack-form textarea { min-height: 38px; padding: 8px 10px; font-size: 12px; }
.admin-workspace .stack-form .btn { min-height: 38px; font-size: 11px; }

@media (min-width: 1024px) {
  .app-shell {
    grid-template-columns: 248px minmax(0,1fr);
    grid-template-rows: 68px minmax(calc(100vh - 68px),auto);
  }
  .side-drawer { width: 248px; }
  .drawer-brand { min-height: 68px; padding: 14px 18px; }
  .drawer-brand-mark { width: 34px; height: 34px; border-radius: 9px; font-size: 17px; }
  .drawer-header { padding: 10px 16px; }
  .drawer-nav { padding: 2px 11px 12px; }
  .drawer-group { margin-bottom: 11px; }
  .drawer-link { min-height: 38px; padding: 7px 10px; border-radius: 8px; font-size: 12px; }
  .app-header { min-height: 68px; padding: 9px 24px; gap: 18px; }
  .app-page-title { font-size: 17px; }
  .global-search { height: 38px; border-radius: var(--ux-radius); }
  .header-account-badge { width: 34px; height: 34px; }
  .app-shell > main,
  .app-shell > .app-page,
  .app-shell > .profile-container,
  .app-shell > .dashboard-container,
  .app-shell > .admin-container { padding: 18px 24px 38px; }
  .app-page { padding: 18px 24px 38px; }
  .bottom-sheet { width: min(600px, calc(100vw - 290px)); }
}

@media (max-width: 1023px) {
  .card { padding: 13px; margin-bottom: 10px; }
  .app-page { padding: 13px 13px 84px; }
  .crm-companies-page > .page-header,
  .crm-deals-page > .page-header { justify-content: flex-end; }
  .crm-companies-page > form.stack { grid-template-columns: 1fr; }
  .task-workspace-hero { align-items: flex-start; padding: 13px; }
  .task-action-strip > a,
  .task-action-strip > .research-queue-card { border-inline-start: 0; border-top: 1px solid var(--ux-divider); }
  .task-action-strip > :first-child { border-top: 0; }
  .report-kpi-grid { border: 0; background: transparent; }
  .report-kpi-grid > .report-kpi-card {
    border: 1px solid var(--ux-divider);
    border-radius: var(--ux-radius);
  }
  .admin-workspace { padding: 13px 13px 84px !important; }
}

@media (max-width: 620px) {
  .crm-companies-page > .kpi-grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    border-radius: var(--ux-radius);
  }
  .crm-companies-page > .kpi-grid > .compact-card {
    grid-template-columns: 1fr;
    gap: 1px;
    min-height: 54px;
    padding: 6px 5px !important;
    border-inline-start: 1px solid var(--ux-divider);
    border-top: 0;
    text-align: center !important;
  }
  .crm-companies-page > .kpi-grid > :first-child { border-inline-start: 0; }
  .crm-companies-page > .kpi-grid > .compact-card strong { font-size: 16px !important; }
  .crm-companies-page > .kpi-grid > .compact-card .text-sm { font-size: 9px; }
  .company-card { padding: 12px; }
  .company-card > .stack { gap: 3px !important; margin-top: 8px !important; }
  .company-card > .row-between:last-child { margin-top: 9px !important; }
  .company-card .btn { min-height: 42px; padding: 9px 10px; font-size: 12px; }
  .crm-calendar-page .calendar-day-section { grid-template-columns: 1fr; }
  .crm-calendar-page .calendar-day-header {
    min-height: 0;
    padding: 9px 11px !important;
    border-inline-end: 0 !important;
    border-bottom: 1px solid var(--ux-divider) !important;
  }
  .crm-calendar-page > .btn.btn-primary { width: 100% !important; }
  .report-hero { align-items: flex-start; flex-direction: column; }
  .report-hero-actions { width: 100%; }
  .report-hero-actions .btn { flex: 1; }
  .report-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px !important; }
  .report-kpi-grid > .report-kpi-card { min-height: 88px; padding: 10px; }
  .report-kpi-card > strong { font-size: 21px; }
  .report-kpi-card > strong.money { font-size: 17px; }
  .report-kpi-card > p { display: none; }
  .admin-workspace > .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-workspace > .kpi-grid > .kpi:nth-child(3) { border-inline-start: 0; }
  .admin-workspace > .kpi-grid > .kpi:nth-child(n+3) { border-top: 1px solid var(--ux-divider); }
}

@media (max-width: 430px) {
  .header-account-name { display: none; }
  .header-account { max-width: none; }
  .app-header { gap: 8px; }
  .app-page-title { font-size: 15px; }
  .drawer-link.active {
    color: var(--color-primary);
    background: var(--color-primary-soft);
    border-inline-start-color: var(--color-primary);
  }
  .drawer-link.active .drawer-link-icon,
  .drawer-link-check { color: var(--color-primary); }
}

/* AI lead qualification cockpit */
.crm-dashboard.has-active-task .dash-task-card {
  grid-template-areas:
    "company company"
    "decision decision"
    "summary summary"
    "intelligence ask"
    "call call"
    "response response"
    "outcome outcome";
}
.crm-dashboard.has-active-task .dash-task-card > .ai-decision-strip {
  grid-area: decision;
  grid-column: 1 / -1;
}
.ai-decision-strip {
  display: grid;
  grid-template-columns: minmax(150px, .85fr) minmax(300px, 1.4fr);
  align-items: stretch;
  margin: 2px 0 10px;
  border: 1px solid var(--ux-divider);
  border-inline-start: 4px solid #64748b;
  border-radius: var(--ux-radius);
  background: #fff;
  overflow: hidden;
}
.ai-decision-strip.tier-hot { border-inline-start-color: #16845b; }
.ai-decision-strip.tier-warm { border-inline-start-color: #c27803; }
.ai-decision-strip.tier-nurture { border-inline-start-color: #64748b; }
.ai-decision-strip.tier-cold,
.ai-decision-strip.tier-disqualified { border-inline-start-color: #b84b45; }
.ai-decision-main { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 9px 12px; }
.ai-decision-main > span { color: var(--color-text-muted); font-size: 10px; font-weight: 800; }
.ai-decision-main > strong { color: var(--color-text); font-size: 14px; }
.ai-decision-main > small { padding: 3px 7px; border-radius: 999px; background: var(--bg-soft); color: var(--color-text-secondary); font-size: 10px; font-weight: 800; }
.ai-decision-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-inline-start: 1px solid var(--ux-divider); }
.ai-decision-metrics > span { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; padding: 6px 8px; border-inline-start: 1px solid var(--ux-divider); }
.ai-decision-metrics > span:first-child { border-inline-start: 0; }
.ai-decision-metrics small { color: var(--color-text-muted); font-size: 10px; }
.ai-decision-metrics b { color: var(--color-text); font-size: 14px; font-variant-numeric: tabular-nums; }
.task-guidance { border-inline-start: 3px solid var(--color-primary); box-shadow: none; }
.task-guidance-ask:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.client-intelligence-grid .intel-wide { grid-column: 1 / -1; background: #f8fafc; }
.client-intelligence-grid > div > small { display: block; margin-top: 3px; color: var(--color-text-muted); font-size: 10px; }
.ai-avoid-line { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: start; margin-top: 9px; padding: 8px 10px; border-radius: 7px; background: #fff7f5; color: #8e352f; }
.ai-avoid-line span { font-size: 10px; font-weight: 900; }
.ai-avoid-line p { margin: 0; font-size: 11px; line-height: 1.55; }

@media (max-width: 760px) {
  .crm-dashboard.has-active-task .dash-task-card {
    grid-template-areas:
      "company"
      "decision"
      "summary"
      "intelligence"
      "ask"
      "call"
      "response"
      "outcome";
  }
  .ai-decision-strip { grid-template-columns: 1fr; }
  .ai-decision-metrics { border-inline-start: 0; border-top: 1px solid var(--ux-divider); }
  .ai-decision-main { grid-template-columns: auto 1fr auto; }
  .ai-decision-metrics > span { display: grid; gap: 0; text-align: center; }
}

.company-ai-decision {
  margin-bottom: 10px;
  padding: 12px 14px;
  border: 1px solid var(--ux-divider);
  border-inline-start: 4px solid #64748b;
  border-radius: var(--ux-radius);
  background: #fff;
}
.company-ai-decision.tier-hot { border-inline-start-color: #16845b; }
.company-ai-decision.tier-warm { border-inline-start-color: #c27803; }
.company-ai-decision.tier-cold,
.company-ai-decision.tier-disqualified { border-inline-start-color: #b84b45; }
.company-ai-decision-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.company-ai-decision-head h2 { margin: 1px 0 0; font-size: 17px; }
.company-ai-tier { padding: 4px 9px; border-radius: 999px; background: var(--bg-soft); font-size: 11px; font-weight: 800; }
.company-ai-metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin-top: 10px; border-block: 1px solid var(--ux-divider); }
.company-ai-metrics span { display: flex; align-items: baseline; justify-content: center; gap: 6px; padding: 8px; border-inline-start: 1px solid var(--ux-divider); }
.company-ai-metrics span:first-child { border-inline-start: 0; }
.company-ai-metrics small { color: var(--color-text-muted); font-size: 10px; }
.company-ai-metrics strong { font-size: 15px; font-variant-numeric: tabular-nums; }
.company-ai-decision-copy { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding-top: 10px; }
.company-ai-decision-copy small,.company-ai-opening small { color: var(--color-text-muted); font-size: 10px; font-weight: 800; }
.company-ai-decision-copy p,.company-ai-opening p { margin: 2px 0 0; font-size: 12px; line-height: 1.6; }
.company-ai-opening { margin-top: 9px; padding: 9px 11px; border-radius: 7px; background: #f7f9fc; }
.lead-tier-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 8px; border: 1px solid #d7dee8; border-radius: 999px; background: #f8fafc; color: #475569; font-size: 11px; font-weight: 850; white-space: nowrap; }
.lead-tier-badge.tier-hot { border-color: #a8ddc8; background: #edf9f4; color: #116b49; }
.lead-tier-badge.tier-warm { border-color: #ead19f; background: #fff8e8; color: #8b5b03; }
.lead-tier-badge.tier-disqualified,.lead-tier-badge.tier-cold { border-color: #e3c3c0; background: #fff5f4; color: #8e352f; }
.ai-decision-context { border-color: #cbd9e8; background: #f3f7fb; color: #345b7d; }
.ai-decision-context.context-follow-up { border-color: #b9dece; background: #eef9f4; color: #176747; }
.ai-decision-context.context-meeting { border-color: #c9d5ee; background: #f2f5fc; color: #405d98; }
.lead-intent-mini { display: block; margin-top: 3px; color: var(--color-text-muted); font-size: 9px; }

.ltr-number {
  display: inline-block;
  direction: ltr;
  unicode-bidi: isolate;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 700px) {
  .company-ai-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .company-ai-metrics span:nth-child(4) { border-inline-start: 0; }
  .company-ai-metrics span:nth-child(n+4) { border-top: 1px solid var(--ux-divider); }
  .company-ai-metrics span { display: grid; gap: 0; text-align: center; }
  .company-ai-decision-copy { grid-template-columns: 1fr; gap: 8px; }
}
.proposal-priority-badge{display:inline-flex;align-items:center;margin-inline-start:6px;padding:2px 7px;border-radius:999px;background:#e8f7ef;color:#137347;font-style:normal;font-size:10px;font-weight:800;white-space:nowrap}

/* Calendar: a vertical time grid inspired by Google Calendar, not a list of days. */
.crm-calendar-page .calendar-weekly-shell{overflow:hidden;background:#fff;border:1px solid var(--ux-divider);border-radius:var(--ux-radius-lg)}
.crm-calendar-page .calendar-weekly-scroll{overflow:auto;overscroll-behavior-inline:contain}
.crm-calendar-page .calendar-weekly-grid{display:grid;grid-template-columns:74px repeat(7,minmax(145px,1fr));grid-template-rows:66px auto;min-width:1090px;direction:rtl}
.crm-calendar-page .calendar-weekly-corner,.crm-calendar-page .calendar-weekly-day-head{display:flex;align-items:center;justify-content:center;min-height:66px;background:#fff;border-bottom:1px solid var(--ux-divider)}
.crm-calendar-page .calendar-weekly-corner{color:#8391a4;font-size:10px;border-inline-start:1px solid var(--ux-divider)}
.crm-calendar-page .calendar-weekly-day-head{flex-direction:column;gap:1px;border-inline-start:1px solid var(--ux-divider);color:#486078;line-height:1.15}
.crm-calendar-page .calendar-weekly-day-head small{font-size:10px;font-weight:700}.crm-calendar-page .calendar-weekly-day-head strong{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:15px}.crm-calendar-page .calendar-weekly-day-head span{font-size:9px;color:#8a97a8}
.crm-calendar-page .calendar-weekly-day-head.is-today strong{background:var(--crm-blue);color:#fff}.crm-calendar-page .calendar-weekly-day-head.is-today small{color:var(--crm-blue)}
.crm-calendar-page .calendar-time-axis{display:grid;grid-template-rows:repeat(var(--calendar-slots),var(--calendar-slot-height));background:#fff;border-inline-start:1px solid var(--ux-divider);direction:ltr;text-align:center}
.crm-calendar-page .calendar-time-axis span{position:relative;top:-7px;color:#8997a8;font-size:9px}.crm-calendar-page .calendar-day-track{position:relative;height:calc(var(--calendar-slots) * var(--calendar-slot-height));border-inline-start:1px solid var(--ux-divider);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--calendar-slot-height) - 1px),#e8edf3 calc(var(--calendar-slot-height) - 1px),#e8edf3 var(--calendar-slot-height)),repeating-linear-gradient(to bottom,transparent 0,transparent calc((var(--calendar-slot-height) * 2) - 1px),#d9e1eb calc((var(--calendar-slot-height) * 2) - 1px),#d9e1eb calc(var(--calendar-slot-height) * 2))}
.crm-calendar-page .calendar-day-track.is-today{background-color:#f8fbff}.crm-calendar-page .calendar-now-line{position:absolute;z-index:3;right:0;left:0;height:2px;background:#e44343;pointer-events:none}.crm-calendar-page .calendar-now-line:before{content:"";position:absolute;right:-4px;top:-4px;width:9px;height:9px;border-radius:50%;background:#e44343}
.crm-calendar-page .calendar-time-event{position:absolute;z-index:2;right:4px;left:4px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;padding:6px 7px;border:0;border-radius:6px;background:#dbeafe;color:#124f98;text-align:start;cursor:pointer;box-shadow:inset 3px 0 0 #2d79d6}.crm-calendar-page .calendar-time-event:hover{filter:brightness(.97);z-index:4}.crm-calendar-page .calendar-time-event strong{overflow:hidden;width:100%;font-size:10px;line-height:1.35;white-space:nowrap;text-overflow:ellipsis}.crm-calendar-page .calendar-time-event span{margin-top:2px;font-size:9px;font-weight:700;direction:ltr}.crm-calendar-page .calendar-time-event small{overflow:hidden;width:100%;margin-top:1px;color:inherit;font-size:8.5px;white-space:nowrap;text-overflow:ellipsis;opacity:.86}.crm-calendar-page .calendar-time-event.status-cancelled{background:#f1f3f5;color:#778393;box-shadow:inset 3px 0 0 #9aa5b1}.crm-calendar-page .calendar-time-event.status-completed{background:#dcf3e6;color:#24734c;box-shadow:inset 3px 0 0 #37a76d}.crm-calendar-page .calendar-empty-week{margin:0;padding:12px;color:#7b899b;background:#fbfcfe;font-size:11px;text-align:center;border-top:1px solid var(--ux-divider)}
@media(max-width:760px){.crm-calendar-page .calendar-weekly-shell{margin-inline:-2px;border-radius:var(--ux-radius)}.crm-calendar-page .calendar-weekly-grid{grid-template-columns:58px repeat(7,minmax(118px,1fr));min-width:884px}.crm-calendar-page .calendar-weekly-corner{font-size:8px}.crm-calendar-page .calendar-time-event{padding:5px}.crm-calendar-page .calendar-time-event strong{font-size:9px}}
