/* ════════════════════════════════════════════════════════════════════
   CONTACTS — List view redesign, matched to the Figma design system
   (file "Green CRM Copy", section "Contacts"). Type: Geist (body/UI),
   Geist Mono (every numeric value — counts, score, pagination range —
   so digits stay a fixed width and never jitter as data changes).
   Scoped under .ct-wrap so it never leaks onto other pages' tables;
   shared with Companies/Deals/Activities/Call Recordings/Workspace
   Requests, which reuse these same .ct-* list/table classes.
   ════════════════════════════════════════════════════════════════════ */

.page-content.contacts-list-canvas {
  padding: 0;
  overflow: hidden;
  background: #fff;
}
.page-content.contacts-list-canvas.contact-record-canvas {
  overflow-x: hidden;
  overflow-y: auto;
}
.ct-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  color: #1b211f;
  font-family: 'Geist', system-ui, sans-serif;
}
.ct-wrap * { box-sizing: border-box; }
.ct-mono { font-family: 'Geist Mono', ui-monospace, monospace; }

/* ---------- header ---------- */
.ct-header {
  height: 60px;
  flex: 0 0 60px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 24px 0;
  background: #fff;
}
.ct-title-row { display: flex; align-items: baseline; gap: 8px; }
.ct-title-row h1 { font-size: 20px; line-height: 28px; font-weight: 600; margin: 0; color: #1b211f; letter-spacing: -0.3px; }
.ct-count { font: 400 13px/18px 'Geist Mono', ui-monospace, monospace; color: #63706b; }
.ct-header-actions { display: flex; align-items: center; gap: 8px; }
.ct-btn-icon-sq {
  width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;
  border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #55605c;
  cursor: pointer; font-size: 14px;
}
.ct-btn-icon-sq:hover { background: #fbfcfc; }
.ct-btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 32px;
  background: #0b7a50; color: #fff; border: none; border-radius: 6px;
  padding: 0 12px; font: 500 13px/16px 'Geist', system-ui, sans-serif; cursor: pointer;
}
.ct-btn-primary:hover { background: #096943; }

/* ---------- saved-view tabs ---------- */
.ct-tabs {
  height: 40px;
  flex: 0 0 40px;
  display: flex;
  align-items: flex-end;
  gap: 19px;
  padding: 0 24px;
  border: 0;
  margin: 0;
  background: #fff;
}
.ct-tab {
  height: 40px; background: none; border: none; cursor: pointer; padding: 0 13px;
  font: 500 13px/18px 'Geist', system-ui, sans-serif; color: #55605c;
  display: flex; align-items: center; gap: 6px; position: relative;
}
.ct-tab .ct-tab-count { font: 400 11px/16px 'Geist Mono', ui-monospace, monospace; color: #63706b; }
.ct-tab.active { color: #1b211f; font-weight: 500; border-bottom: 2px solid #0b7a50; }
.ct-tab.active .ct-tab-count { color: #63706b; }
.ct-newview { height: 40px; background: none; border: none; cursor: pointer; padding: 0; font: 400 13px/18px 'Geist', system-ui, sans-serif; color: #63706b; display: flex; align-items: center; gap: 4px; }

/* ---------- toolbar: search, filter pills, source toggle ---------- */
/* The SVG uses a flat, full-width 52px band with a single bottom divider. */
.ct-toolbar {
  height: 53px;
  flex: 0 0 53px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 24px;
  border-bottom: 1px solid #eef2f0;
  background: #fff;
}
.ct-toolbar-left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ct-search { position: relative; }
.ct-search input {
  width: 240px; height: 28px; padding: 0 10px 0 30px; border: 1px solid #e1e7e4; border-radius: 6px;
  font: 400 13px/18px 'Geist', system-ui, sans-serif; color: #1b211f; background: #fff;
}
.ct-search input::placeholder { color: #8b9793; }
.ct-search input:focus { outline: none; border-color: #0b7a50; }
.ct-search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #8b9793; font-size: 14px; pointer-events: none; }

/* Filter Chip (Figma): applied filters are neutral bordered rectangles, not
   filled pills — filters are structure, not status, so they carry no color. */
.ct-pill {
  display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 6px 0 8px;
  background: #fff; border: 1px solid #e1e7e4; border-radius: 6px; font: 400 13px/18px 'Geist', system-ui, sans-serif; color: #1b211f;
  white-space: nowrap;
}
.ct-pill .mdi { font-size: 14px; color: #63706b; }
.ct-pill-x { background: none; border: none; cursor: pointer; color: #63706b; display: flex; padding: 2px; font-size: 14px; border-radius: 50%; }
.ct-pill-x:hover { background: rgba(0,0,0,0.08); }

.ct-addfilter {
  display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 8px;
  background: none; border: 1px dashed #e1e7e4; border-radius: 6px; cursor: pointer;
  font: 400 13px/18px 'Geist', system-ui, sans-serif; color: #55605c;
}
.ct-addfilter:hover { background: #fbfcfc; }

.ct-toolbar-right { display: flex; align-items: center; gap: 8px; }

/* ---------- table ---------- */
/* The list is an open canvas in the SVG: no card border, radius, or inset. */
.ct-table-wrap { flex: 1; min-height: 0; overflow: auto; background: #fff; }
.ct-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.ct-table th:first-child, .ct-table td:first-child { padding-left: 24px; }
.ct-table th:last-child,  .ct-table td:last-child  { padding-right: 24px; }
.ct-table col.ct-col-cb      { width: 5.034%; }
.ct-table col.ct-col-name    { width: 21.141%; }
.ct-table col.ct-col-co      { width: 14.094%; }
.ct-table col.ct-col-life    { width: 9.732%; }
.ct-table col.ct-col-lead    { width: 10.403%; }
.ct-table col.ct-col-own     { width: 11.997%; }
.ct-table col.ct-col-score   { width: 6.460%; }
.ct-table col.ct-col-last    { width: 10.067%; }
.ct-table col.ct-col-created { width: 11.074%; }

.ct-table thead th {
  text-align: left; font: 600 11px/16px 'Geist', system-ui, sans-serif; letter-spacing: 0.55px;
  text-transform: uppercase; color: #8b9793; height: 32px; padding: 0 12px; border-bottom: 1px solid #e1e7e4;
  background: #fbfcfc; cursor: pointer; user-select: none; white-space: nowrap;
}
.ct-table thead th.ct-num { text-align: right; }
.ct-table thead th .mdi { font-size: 13px; vertical-align: -1px; }
.ct-table thead th:first-child { cursor: default; }

.ct-table tbody tr { position: relative; border-bottom: 1px solid #eef2f0; }
.ct-table tbody tr:last-child { border-bottom: none; }
.ct-table tbody tr:hover { background: #fbfcfc; }
.ct-table tbody tr.ct-selected { background: #eef2f0; }
.ct-table tbody td { height: 41px; padding: 0 12px; font: 400 13px/18px 'Geist', system-ui, sans-serif; color: #55605c; }
.ct-table tbody td.ct-num { text-align: right; }

.ct-checkbox {
  width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid #cad3cf; appearance: none;
  cursor: pointer; position: relative; background: #fff; flex-shrink: 0;
}
.ct-checkbox:checked { background: #0b7a50; border-color: #0b7a50; }
.ct-checkbox:checked::after {
  content: ''; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.ct-checkbox.ct-indeterminate { background: #0b7a50; border-color: #0b7a50; }
.ct-checkbox.ct-indeterminate::after { content: ''; position: absolute; left: 3px; top: 6.5px; width: 8px; height: 2px; background: #fff; border: none; transform: none; }

.ct-name-cell { display: flex; align-items: center; gap: 8px; }
.ct-contact-avatar {
  width: 24px; height: 24px; flex: 0 0 24px; display: grid; place-items: center; border-radius: 50%;
  background: #eef2f0; color: #55605c; font: 500 9px/24px 'Geist', system-ui, sans-serif;
}
.ct-name-stack { min-width: 0; }
.ct-name-stack a { font: 500 13px/16px 'Geist', system-ui, sans-serif; color: #1b211f; text-decoration: none; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-name-stack a:hover { text-decoration: underline; }
.ct-name-stack .ct-email { font: 400 11px/14px 'Geist', system-ui, sans-serif; color: #63706b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }

.ct-company { color: #55605c; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-company-link { color: #0b7a50; cursor: pointer; }

/* HubSpot-imported rows can carry a lifecycle/status value we don't have a
   label for (crm has ~5-6 known stages; HubSpot's own picklists have more) —
   ctLifecycleCell()/ctLeadStatusCell() fall back to printing that raw value
   verbatim. Cap it here so an unmapped slug truncates instead of overflowing
   into the next column and running text together (e.g. "marketingqualified"
   bleeding into the next cell's "CONNECTED"). */
.ct-lifecycle { display: flex; align-items: center; gap: 7px; color: #55605c; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ct-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.ct-dot-amber  { background: #f0bb4c; }
.ct-dot-blue   { background: #7ba3f3; }
.ct-dot-gray   { background: #8b9793; }
.ct-dot-green  { background: #2fae7b; }

.ct-status-plain { color: #55605c; display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ct-status-pill {
  height: 20px; display: inline-flex; align-items: center; gap: 4px; padding: 0 6px; border-radius: 5px;
  font: 500 11px/18px 'Geist', system-ui, sans-serif; border: 1px solid transparent;
}
.ct-status-pill .ct-dot { width: 6px; height: 6px; }
.ct-status-pill.amber { background: #fef6e7; border-color: #f0bb4c; color: #7e4b03; }
.ct-status-pill.amber .ct-dot { background: #f0bb4c; }
.ct-status-pill.red   { background: #fef0ef; border-color: #f8b5af; color: #8c2018; }
.ct-status-pill.red .ct-dot { background: #d6392b; }
.ct-status-pill.green { background: #ecfdf5; border-color: #16a34a; color: #166534; }
.ct-status-pill.green .ct-dot { background: #16a34a; }

.ct-owner { display: flex; align-items: center; gap: 8px; overflow: hidden; }
.ct-owner-empty { color: #8b9793; }
.ct-owner-av {
  width: 20px; height: 20px; border-radius: 50%; background: #eef2f0; color: #55605c;
  display: flex; align-items: center; justify-content: center; font: 500 11px/1 'Geist', sans-serif; letter-spacing: 0.1px; flex-shrink: 0;
}
.ct-owner-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ct-score { font: 500 13px/18px 'Geist Mono', ui-monospace, monospace; color: #1b211f; }
/* Figma gives these two columns different weights of gray — Last activity
   reads as text/secondary, Created (the least-glanced-at column) as muted. */
.ct-last-activity-cell { color: #55605c; font-size: 13px; }
.ct-muted-cell { color: #63706b; font-size: 13px; }
/* The date text sits in its own inline element (not the <td> itself) so it
   can truncate to one line without clipping .ct-row-actions — that overlay
   is deliberately wider than this cell (it overlaps into Last-activity too,
   per Figma's "Row actions (hover)" component) and needs overflow:visible
   on the <td> to render outside its box. Without this, a wide/localized
   date string ("Sep 12, 2026") wrapped to two lines, pushing into and
   visually colliding with the hover icons. */
.ct-cell-text { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

.ct-avatar {
  width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font: 700 10.5px/1 'Geist', system-ui, sans-serif; color: #fff;
}

/* Hover-reveal quick actions — Figma's "Row actions (hover)" component is
   140px (it overlaps the tail of Last-activity plus all of Created), preceded
   by a 48px fade so the solid action-bar background eases in over the row
   instead of cutting across mid-column with a hard edge. */
.ct-row-actions {
  position: absolute; right: 0; top: 0; bottom: 0; width: 188px;
  display: flex; align-items: center; justify-content: flex-end; gap: 4px;
  padding-right: 16px; opacity: 0; pointer-events: none;
  background: linear-gradient(to right, transparent 0, #fbfcfc 48px, #fbfcfc 100%);
}
.ct-table tbody tr:hover .ct-row-actions { opacity: 1; pointer-events: auto; }
.ct-table tbody tr.ct-selected .ct-row-actions { background: #eef2f0; }
.ct-row-action-btn {
  width: 28px; height: 28px; border-radius: 6px; border: none; background: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center; color: #55605c; font-size: 16px; position: relative;
}
.ct-row-action-btn:hover { background: #e1e7e4; }
.ct-row-action-btn[data-tip]:hover::after {
  content: attr(data-tip); position: absolute; top: 130%; left: 50%; transform: translateX(-50%);
  background: #1b211f; color: #fff; font: 500 11px/1 'Geist', sans-serif; padding: 5px 8px; border-radius: 4px;
  white-space: nowrap; pointer-events: none; z-index: 20;
}

/* ---------- footer ---------- */
.ct-footer { flex: 0 0 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 12px; height: 44px; font: 400 13px/18px 'Geist', system-ui, sans-serif; color: #55605c; background: #fff; border-top: 1px solid #eef2f0; }
.ct-footer[hidden] { display: none; }
.ct-footer-pages { display: flex; align-items: center; gap: 12px; }
.ct-page-btn { width: 28px; height: 28px; border-radius: 6px; border: 1px solid #e1e7e4; background: #fff; color: #55605c; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ct-page-btn:disabled { background: #eef2f0; border-color: #eef2f0; color: #c4cdc9; cursor: default; }
.ct-page-btn:not(:disabled):hover { background: #fbfcfc; }

/* ---------- Companies list: Companies — List/Default.svg ---------- */
.co-list-wrap {
  width: 100%; height: 100%; min-height: 0; display: flex; flex-direction: column;
  overflow: hidden; background: #fff; color: #1b211f; font-family: 'Geist', system-ui, sans-serif;
}
.co-list-wrap * { box-sizing: border-box; }
.co-list-header {
  height: 60px; flex: 0 0 60px; display: flex; align-items: flex-start;
  justify-content: space-between; padding: 20px 24px 0; background: #fff;
}
.co-list-title { display: flex; align-items: baseline; gap: 8px; }
.co-list-title h1 { margin: 0; color: #1b211f; font: 600 20px/28px 'Geist', system-ui, sans-serif; letter-spacing: -.3px; }
.co-list-title span { color: #63706b; font: 400 13px/18px 'Geist Mono', ui-monospace, monospace; }
.co-list-actions, .co-toolbar-right, .co-toolbar-left { display: flex; align-items: center; gap: 8px; }
.co-toolbar-left { min-width: 0; }
.crm-source-toggle {
  height: 28px; display: inline-flex; overflow: hidden; border: 1px solid #e1e7e4;
  border-radius: 6px; background: #eef2f0;
}
.crm-source-btn {
  height: 26px; padding: 0 12px; border: 0; background: transparent; color: #63706b;
  cursor: pointer; white-space: nowrap; font: 500 12px/26px 'Geist', system-ui, sans-serif;
}
.crm-source-btn.active { background: #fff; color: #1b211f; }
.co-icon-btn {
  width: 28px; height: 28px; padding: 0; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #55605c; cursor: pointer; font-size: 14px;
}
.co-icon-btn:hover { background: #fbfcfc; }
.co-primary-btn {
  height: 32px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  border: 0; border-radius: 6px; background: #0b7a50; color: #fff; cursor: pointer;
  font: 500 13px/16px 'Geist', system-ui, sans-serif;
}
.co-primary-btn:hover { background: #096943; }
.co-list-tabs {
  height: 40px; flex: 0 0 40px; display: flex; align-items: flex-end; gap: 19px;
  padding: 0 24px; overflow: hidden; background: #fff;
}
.co-view-tab {
  height: 40px; padding: 0 13px; display: flex; align-items: center; gap: 6px; position: relative;
  border: 0; border-bottom: 2px solid transparent; background: none; color: #55605c; cursor: pointer;
  white-space: nowrap; font: 500 13px/18px 'Geist', system-ui, sans-serif;
}
.co-view-tab:hover, .co-view-tab.active { color: #1b211f; }
.co-view-tab.active { border-bottom-color: #0b7a50; }
.co-tab-count { color: #63706b; font: 400 11px/16px 'Geist Mono', ui-monospace, monospace; }
.co-new-view {
  height: 40px; padding: 0; display: flex; align-items: center; gap: 4px; border: 0; background: none;
  color: #63706b; cursor: pointer; white-space: nowrap; font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.co-list-toolbar {
  height: 53px; flex: 0 0 53px; display: flex; align-items: center; justify-content: space-between;
  gap: 8px; padding: 12px 24px; border-bottom: 1px solid #eef2f0; background: #fff;
}
.co-search { position: relative; flex: 0 0 auto; }
.co-search input {
  width: 240px; height: 28px; padding: 0 10px 0 30px; border: 1px solid #e1e7e4; border-radius: 6px;
  background: #fff; color: #1b211f; outline: none; font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.co-search input::placeholder { color: #8b9793; }
.co-search input:focus { border-color: #0b7a50; }
.co-search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #8b9793; font-size: 14px; pointer-events: none; }
.co-filter-pill {
  height: 28px; padding: 0 6px 0 8px; display: inline-flex; align-items: center; gap: 6px;
  border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #1b211f;
  white-space: nowrap; font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.co-filter-pill .mdi { color: #63706b; font-size: 14px; }
.co-filter-pill-x { padding: 2px; display: flex; border: 0; border-radius: 50%; background: none; color: #63706b; cursor: pointer; font-size: 14px; }
.co-filter-pill-x:hover { background: rgba(0,0,0,.08); }
.co-add-filter-btn {
  height: 28px; padding: 0 8px; display: inline-flex; align-items: center; gap: 6px;
  border: 1px dashed #e1e7e4; border-radius: 6px; background: #fff; color: #55605c; cursor: pointer;
  font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.co-add-filter-btn:hover { background: #fbfcfc; }
.co-list-table-wrap { flex: 1; min-height: 0; overflow: auto; background: #fff; }
.co-list-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.co-list-table col.co-col-cb       { width: 5.034%; }
.co-list-table col.co-col-company  { width: 21.141%; }
.co-list-table col.co-col-industry { width: 16.443%; }
.co-list-table col.co-col-owner    { width: 12.248%; }
.co-list-table col.co-col-contacts { width: 7.718%; }
.co-list-table col.co-col-deals    { width: 9.228%; }
.co-list-table col.co-col-pipeline { width: 6.376%; }
.co-list-table col.co-col-activity { width: 9.732%; }
.co-list-table col.co-col-created  { width: 12.080%; }
.co-list-table th {
  height: 32px; padding: 0 12px; border-bottom: 1px solid #e1e7e4; background: #fbfcfc;
  color: #8b9793; text-align: left; text-transform: uppercase; letter-spacing: .55px;
  white-space: nowrap; user-select: none; font: 600 11px/16px 'Geist', system-ui, sans-serif;
}
.co-list-table th:first-child, .co-list-table td:first-child { padding-left: 24px; }
.co-list-table th:last-child, .co-list-table td:last-child { padding-right: 24px; }
.co-list-table th .mdi { font-size: 13px; vertical-align: -1px; }
.co-list-table tbody tr { height: 41px; position: relative; border-bottom: 1px solid #eef2f0; cursor: pointer; transition: none; }
.co-list-table tbody tr:hover { background: #fbfcfc; }
.co-list-table tbody td { height: 41px; padding: 0 12px; color: #55605c; vertical-align: middle; font: 400 13px/18px 'Geist', system-ui, sans-serif; }
.co-checkbox, .company-cb {
  width: 16px; height: 16px; margin: 0; appearance: none; position: relative;
  border: 1.5px solid #cad3cf; border-radius: 4px; background: #fff; cursor: pointer;
}
.co-checkbox:checked, .company-cb:checked { border-color: #0b7a50; background: #0b7a50; }
.co-checkbox:indeterminate { border-color: #0b7a50; background: #0b7a50; }
.co-checkbox:checked::after, .company-cb:checked::after {
  content: ''; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.co-checkbox:indeterminate::after {
  content: ''; position: absolute; left: 3px; top: 6px; width: 8px; height: 2px; border: 0; background: #fff; transform: none;
}
.co-company-cell, .co-owner-cell { display: flex; align-items: center; gap: 8px; min-width: 0; }
.co-company-avatar {
  width: 24px; height: 24px; flex: 0 0 24px; display: flex; align-items: center; justify-content: center;
  border-radius: 4px; background: #eef2f0; color: #55605c; font: 500 10px/1 'Geist', system-ui, sans-serif;
}
.co-company-copy { min-width: 0; }
.co-company-name { overflow: hidden; color: #1b211f; text-overflow: ellipsis; white-space: nowrap; font: 500 13px/16px 'Geist', system-ui, sans-serif; }
.co-list-table tbody tr:hover .co-company-name { text-decoration: underline; text-underline-offset: 2px; }
.co-company-domain { overflow: hidden; color: #63706b; text-overflow: ellipsis; white-space: nowrap; font: 400 11px/14px 'Geist', system-ui, sans-serif; }
.co-owner-avatar {
  width: 20px; height: 20px; flex: 0 0 20px; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: #eef2f0; color: #55605c; font: 500 10px/1 'Geist', system-ui, sans-serif;
}
.co-owner-name, .co-cell-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.co-unassigned, .co-zero, .co-empty-value { color: #8b9793; }
.co-number { color: #1b211f; text-align: right; font: 500 13px/18px 'Geist Mono', ui-monospace, monospace; }
.co-pipeline { color: #1b211f; text-align: right; font: 500 13px/18px 'Geist Mono', ui-monospace, monospace; }
.co-row-actions {
  width: 188px; height: 40px; position: absolute; top: 0; right: 24px;
  display: flex; align-items: center; justify-content: flex-end; gap: 2px; padding-right: 8px;
  opacity: 0; pointer-events: none;
  background: linear-gradient(to right, rgba(249,251,250,0) 0, #f9fbfa 48px, #fbfcfc 48px, #fbfcfc 100%);
}
.co-list-table tbody tr:hover .co-row-actions { opacity: 1; pointer-events: auto; }
.co-list-table tbody tr.co-selected,
.co-list-table tbody tr.co-selected:hover { background: #eef2f0; }
.co-list-table tbody tr.co-selected .co-row-actions {
  background: linear-gradient(to right, rgba(238,242,240,0) 0, #eef2f0 48px, #eef2f0 48px, #eef2f0 100%);
}
.co-row-action-btn {
  width: 28px; height: 28px; padding: 0; display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: 4px; background: transparent; color: #63706b; cursor: pointer; font-size: 16px;
}
.co-row-action-btn:hover { background: #eef2f0; color: #1b211f; }
.co-list-footer {
  height: 44px; flex: 0 0 44px; padding: 0 12px; display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid #eef2f0; background: #fff; color: #55605c; font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.co-footer-pages { display: flex; align-items: center; gap: 12px; }
.co-footer-pages button {
  width: 28px; height: 28px; padding: 0; display: flex; align-items: center; justify-content: center;
  border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #55605c; cursor: pointer;
}
.co-footer-pages button:disabled { border-color: #eef2f0; background: #eef2f0; color: #c4cdc9; cursor: default; }
.co-select-all-results { padding: 0; border: 0; background: none; color: #1b211f; cursor: pointer; font: inherit; }
.co-select-all-results:hover { text-decoration: underline; }
.co-loading-cell { height: 80px !important; text-align: center; }
.co-loading-cell .spinner { margin: auto; }
.co-empty-state { padding: 80px 24px; text-align: center; }
.co-empty-state .co-empty-icon { width: 64px; height: 64px; margin: 0 auto 20px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: #eef2f0; color: #8b9793; font-size: 28px; }
.co-empty-state h3 { margin: 0 0 8px; color: #1b211f; font-size: 18px; }
.co-empty-state p { max-width: 360px; margin: 0 auto 20px; color: #63706b; font-size: 14px; }
.co-empty-actions { display: flex; justify-content: center; gap: 10px; }
.co-bulk-floating {
  width: 433px; height: 44px; position: fixed; bottom: 24px; left: calc(50% + 108px); z-index: 100;
  display: none; align-items: center; gap: 10px; padding: 0 12px; transform: translateX(-50%);
  border-radius: 8px; background: #1b211f; color: #fff;
  box-shadow: 0 12px 28px -6px rgba(15,23,20,.12), 0 4px 10px -4px rgba(15,23,20,.08);
  font: 400 12px/16px 'Geist', system-ui, sans-serif;
}
.co-bulk-floating button { padding: 0; border: 0; background: none; color: rgba(255,255,255,.85); cursor: pointer; white-space: nowrap; font: inherit; }
.co-bulk-floating button:hover { color: #fff; }
.co-bulk-divider { width: 1px; height: 20px; flex: 0 0 1px; background: rgba(202,211,207,.4); }
.co-bulk-floating .co-bulk-delete { color: #f08a80; }
.co-bulk-floating .co-bulk-close { width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; color: #63706b; font-size: 16px; }

/* ---------- Create company modal: Companies — Create company (modal).svg ---------- */
#create-company-modal {
  padding: 0; background: rgba(27,33,31,.4); backdrop-filter: none;
  font-family: 'Geist', system-ui, sans-serif;
}
#create-company-modal .modal {
  width: 560px; height: 500px; max-width: calc(100vw - 40px); max-height: calc(100vh - 40px);
  display: flex; flex-direction: column; overflow: hidden;
  border: 0; border-radius: 12px; background: #fff;
  box-shadow: 0 12px 32px rgba(27,33,31,.16);
}
#create-company-modal .modal, #create-company-modal .modal * { box-sizing: border-box; }
#create-company-modal .modal-header {
  height: 60px; flex: 0 0 60px; padding: 0 20px; border-bottom: 1px solid #eef2f0;
}
#create-company-modal .modal-header h3 { margin: 0; color: #1b211f; font: 600 16px/20px 'Geist', system-ui, sans-serif; }
#create-company-modal .modal-close {
  width: 20px; height: 20px; padding: 0; border: 0; border-radius: 4px;
  background: transparent; color: #55605c; font-size: 15px;
}
#create-company-modal .modal-close:hover { background: #eef2f0; color: #1b211f; }
#create-company-modal .modal-body {
  height: 379px; flex: 0 0 379px; min-height: 0; padding: 18px 20px; overflow: hidden; border-bottom: 1px solid #eef2f0;
}
#create-company-modal .cco-field { height: 53px; min-width: 0; }
#create-company-modal .cco-domain-field { height: 74px; }
#create-company-modal .cco-field + .cco-field,
#create-company-modal .cco-field + .cco-grid-row,
#create-company-modal .cco-grid-row + .cco-grid-row,
#create-company-modal .cco-grid-row + .cco-field { margin-top: 14px; }
#create-company-modal .cco-grid-row {
  height: 53px; display: grid; grid-template-columns: 254px 254px; gap: 12px; margin-top: 14px;
}
#create-company-modal .cco-grid-row .cco-field { height: 53px; }
#create-company-modal .form-label {
  height: 16px; display: block; margin: 0 0 5px; color: #55605c;
  font: 400 12px/16px 'Geist', system-ui, sans-serif;
}
#create-company-modal .form-label span { color: #8c2018; }
#create-company-modal .form-control {
  width: 100%; height: 32px; min-height: 32px; padding: 0 10px;
  border: 1px solid #e1e7e4; border-radius: 6px; background-color: #fff;
  color: #1b211f; box-shadow: none; font: 400 13px/30px 'Geist', system-ui, sans-serif;
}
#create-company-modal select.form-control { padding-right: 32px; }
#create-company-modal .form-control::placeholder { color: #8b9793; }
#create-company-modal .form-control:focus { border-color: #0b7a50; box-shadow: 0 0 0 2px rgba(11,122,80,.12); }
#create-company-modal .form-control.cc-invalid { border-color: #f08a80; }
#create-company-modal .form-control.cc-invalid:focus { box-shadow: 0 0 0 2px rgba(240,138,128,.18); }
#create-company-modal .cc-hint,
#create-company-modal .cc-field-error {
  height: 16px; margin-top: 5px; color: #63706b; font: 400 11px/16px 'Geist', system-ui, sans-serif;
}
#create-company-modal .cc-field-error { display: none; align-items: center; gap: 4px; color: #8c2018; }
#create-company-modal .cc-field-error .mdi { font-size: 13px; }
#create-company-modal .cc-hint.cco-duplicate { color: #9a6115; }
#create-company-modal .cc-hint.cco-duplicate::before {
  content: '\F002A'; margin-right: 5px; font-family: 'Material Design Icons'; font-size: 13px; vertical-align: -1px;
}
#create-company-modal .cc-banner {
  display: none; align-items: center; gap: 8px; margin: 0 0 14px; padding: 7px 10px;
  border: 1px solid #f8b5af; border-radius: 6px; background: #fef0ef;
  color: #8c2018; font: 400 12px/18px 'Geist', system-ui, sans-serif;
}
#create-company-modal .cc-footer {
  height: 61px; flex: 0 0 61px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 20px; border: 0; background: #eef2f0;
}
#create-company-modal .cc-check-label { display: flex; align-items: center; gap: 6px; color: #63706b; cursor: pointer; font: 400 13px/18px 'Geist', system-ui, sans-serif; }
#create-company-modal .cc-check-label input {
  width: 16px; height: 16px; margin: 0; appearance: none; position: relative;
  border: 1px solid #cad3cf; border-radius: 4px; background: #fff; cursor: pointer;
}
#create-company-modal .cc-check-label input:checked { border-color: #0b7a50; background: #0b7a50; }
#create-company-modal .cc-check-label input:checked::after {
  content: ''; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
#create-company-modal .cc-footer-buttons { display: flex; align-items: center; gap: 12px; }
#create-company-modal .cc-footer-buttons .btn {
  height: 32px; padding: 0 12px; border: 0; border-radius: 6px; box-shadow: none;
  font: 500 13px/32px 'Geist', system-ui, sans-serif;
}
#create-company-modal .cc-footer-buttons .btn-secondary { background: transparent; color: #55605c; }
#create-company-modal .cc-footer-buttons .btn-primary { background: #0b7a50; color: #fff; }
#create-company-modal .cc-footer-buttons .btn-primary:hover { background: #096943; transform: none; box-shadow: none; }
#create-company-modal .cc-footer-buttons .cc-submit-muted { color: #8b9793 !important; }

/* ---------- Merge companies: Companies — Merge duplicates.svg ---------- */
#merge-company-modal {
  padding: 0; background: rgba(27,33,31,.4); backdrop-filter: none;
  font-family: 'Geist', system-ui, sans-serif;
}
#merge-company-modal .modal {
  width: 720px; height: 570px; max-width: calc(100vw - 40px); max-height: calc(100vh - 40px);
  display: flex; flex-direction: column; overflow: hidden; border: 0; border-radius: 12px; background: #fff;
  box-shadow: 0 12px 32px rgba(27,33,31,.16);
}
#merge-company-modal .modal-header {
  height: 99px; flex: 0 0 99px; display: block; padding: 20px;
  border-bottom: 1px solid #e1e7e4;
}
#merge-company-modal .mc-title-row { display: flex; align-items: center; justify-content: space-between; height: 20px; }
#merge-company-modal .modal-header h3 { margin: 0; color: #1b211f; font: 600 16px/20px 'Geist', system-ui, sans-serif; }
#merge-company-modal .modal-header p { margin: 8px 0 0; color: #55605c; font: 400 13px/18px 'Geist', system-ui, sans-serif; }
#merge-company-modal .modal-close {
  width: 20px; height: 20px; padding: 0; border: 0; border-radius: 4px;
  background: transparent; color: #55605c; font-size: 15px;
}
#merge-company-modal .modal-close:hover { background: #eef2f0; color: #1b211f; }
#merge-company-modal .modal-body {
  height: 411px; flex: 0 0 411px; padding: 14px 20px; overflow-y: auto;
  border-bottom: 1px solid #eef2f0;
}
#merge-company-modal .mc-cards-grid {
  height: 132px; position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 29px;
}
#merge-company-modal .mc-cards-grid::after {
  content: ''; height: 1px; position: absolute; top: 146px; left: -20px; right: -20px; background: #e1e7e4;
}
#merge-company-modal .mc-radio-card {
  height: 132px; min-width: 0; display: block; padding: 11px;
  border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; cursor: pointer;
}
#merge-company-modal .mc-radio-card:has(input:checked) { border-color: #cad3cf; background: #eef2f0; }
#merge-company-modal .mc-card-title {
  height: 18px; display: flex; align-items: center; gap: 8px; color: #1b211f;
  font: 500 13px/18px 'Geist', system-ui, sans-serif;
}
#merge-company-modal input[name="mc-keep"] {
  width: 16px; height: 16px; margin: 0; appearance: none; position: relative;
  border: 1px solid #cad3cf; border-radius: 50%; background: #fff;
}
#merge-company-modal input[name="mc-keep"]:checked { border-color: #0b7a50; }
#merge-company-modal input[name="mc-keep"]:checked::after {
  content: ''; width: 8px; height: 8px; position: absolute; top: 3px; left: 3px; border-radius: 50%; background: #0b7a50;
}
#merge-company-modal .mc-card-identity { height: 32px; display: flex; align-items: center; gap: 8px; margin-top: 10px; }
#merge-company-modal .mc-card-name-wrap { min-width: 0; }
#merge-company-modal .mc-card-name { overflow: hidden; color: #1b211f; text-overflow: ellipsis; white-space: nowrap; font: 500 13px/16px 'Geist', system-ui, sans-serif; }
#merge-company-modal .mc-card-domain { overflow: hidden; color: #63706b; text-overflow: ellipsis; white-space: nowrap; font: 400 11px/14px 'Geist', system-ui, sans-serif; }
#merge-company-modal .mc-card-summary { margin-top: 8px; color: #55605c; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
#merge-company-modal .mc-card-created { margin-top: 6px; color: #63706b; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
#merge-company-modal .mc-diff-head { height: 18px; display: flex; align-items: center; justify-content: space-between; margin: 0 0 8px; }
#merge-company-modal .mc-diff-head span:first-child { color: #1b211f !important; font: 600 14px/18px 'Geist', system-ui, sans-serif !important; }
#merge-company-modal .mc-diff-head span:last-child { color: #63706b !important; font: 400 11px/16px 'Geist', system-ui, sans-serif !important; }
#merge-company-modal .mc-diff-row {
  height: 49px; display: grid; grid-template-columns: 120px 268px 268px; gap: 12px; align-items: center;
  border-bottom: 1px solid #eef2f0;
}
#merge-company-modal .mc-field-label { color: #55605c; font: 400 13px/18px 'Geist', system-ui, sans-serif; }
#merge-company-modal .mc-diff-cell {
  width: 268px; height: 34px; padding: 0 9px; display: flex; align-items: center; gap: 8px; overflow: hidden;
  border: 1px solid #e1e7e4; border-radius: 4px; background: #fff; color: #1b211f; cursor: pointer;
  text-align: left; text-overflow: ellipsis; white-space: nowrap; font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
#merge-company-modal .mc-diff-cell.mc-selected { border-color: #cad3cf; background: #eef2f0; }
#merge-company-modal .mc-diff-cell.mc-empty { color: #8b9793; }
#merge-company-modal .mc-choice-dot {
  width: 16px; height: 16px; flex: 0 0 16px; position: relative; border: 1px solid #cad3cf; border-radius: 50%; background: #fff;
}
#merge-company-modal .mc-diff-cell.mc-selected .mc-choice-dot { border-color: #0b7a50; }
#merge-company-modal .mc-diff-cell.mc-selected .mc-choice-dot::after {
  content: ''; width: 8px; height: 8px; position: absolute; top: 3px; left: 3px; border-radius: 50%; background: #0b7a50;
}
#merge-company-modal .mc-warning {
  height: 34px; display: flex; align-items: center; gap: 8px; margin-top: 14px; padding: 0 10px;
  border: 1px solid #efb548; border-radius: 6px; background: #fff8e8; color: #8a5310;
  font: 400 12px/16px 'Geist', system-ui, sans-serif;
}
#merge-company-modal .mc-warning .mdi { font-size: 15px; }
#merge-company-modal .modal-footer {
  height: 60px; flex: 0 0 60px; display: flex; align-items: center; gap: 12px; padding: 0 20px;
  border: 0; background: #eef2f0;
}
#merge-company-modal .mc-combined-note { margin-right: auto; color: #63706b; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
#merge-company-modal .modal-footer .btn { height: 32px; padding: 0 12px; border: 0; border-radius: 6px; box-shadow: none; font: 500 13px/32px 'Geist', system-ui, sans-serif; }
#merge-company-modal .modal-footer .btn-secondary { background: transparent; color: #55605c; }
#merge-company-modal .modal-footer .btn-primary { background: #0b7a50; color: #fff; }
#merge-company-modal .modal-footer .btn-primary:hover { background: #096943; transform: none; box-shadow: none; }

/* ════════════════════════════════════════════════════════════════════
   DEALS — board view, matched to “Deals — Board/Default.svg”.
   ════════════════════════════════════════════════════════════════════ */
.dl-wrap {
  width: 100%; height: 100%; min-height: 0; display: flex; flex-direction: column;
  overflow: hidden; background: #fff; color: #1b211f; font-family: 'Geist', system-ui, sans-serif;
}
.dl-wrap * { box-sizing: border-box; }
.dl-header {
  height: 64px; flex: 0 0 64px; display: flex; align-items: center; justify-content: space-between;
  padding: 8px 24px 0; background: #fff;
}
.dl-title-row { display: flex; align-items: baseline; gap: 10px; }
.dl-title-row h1 { margin: 0; color: #1b211f; font: 600 20px/28px 'Geist', system-ui, sans-serif; letter-spacing: -.3px; }
.dl-count { color: #63706b; font: 400 13px/18px 'Geist Mono', ui-monospace, monospace; }
.dl-header-actions { display: flex; align-items: center; gap: 8px; }
.dl-more-btn {
  width: 28px; height: 28px; padding: 0; display: grid; place-items: center; border: 1px solid #e1e7e4;
  border-radius: 6px; background: #fff; color: #55605c; cursor: pointer; font-size: 15px;
}
.dl-new-btn {
  width: 103px; height: 32px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0;
  border: 0; border-radius: 6px; background: #0b7a50; color: #fff; cursor: pointer;
  font: 500 13px/18px 'Geist', system-ui, sans-serif;
}
.dl-new-btn:hover { background: #096943; }
.dl-new-btn .mdi { font-size: 15px; }
.dl-toolbar {
  height: 41px; flex: 0 0 41px; display: flex; align-items: flex-start; gap: 8px;
  padding: 0 24px 12px; border-bottom: 1px solid #e1e7e4; background: #fff; white-space: nowrap;
}
.dl-control, .dl-search, .dl-filter-chip, .dl-add-filter, .dl-view-switch, .dl-source { height: 28px; flex: 0 0 auto; }
.dl-pipeline {
  width: 180px; padding: 0 30px 0 10px; border: 1px solid #e1e7e4; border-radius: 6px;
  background: #fff; color: #1b211f; outline: none; font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.dl-search { width: 200px; position: relative; display: block; }
.dl-search > .mdi { position: absolute; left: 10px; top: 6px; color: #63706b; font-size: 16px; pointer-events: none; }
.dl-search input {
  width: 100%; height: 28px; padding: 0 10px 0 32px; border: 1px solid #e1e7e4; border-radius: 6px;
  background: #fff; color: #1b211f; outline: none; font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.dl-search input::placeholder { color: #8b9793; }
.dl-search input:focus, .dl-pipeline:focus { border-color: #0b7a50; }
.dl-search input::-webkit-search-cancel-button { display: none; }
.dl-filter-chip {
  min-width: 190px; display: inline-flex; align-items: center; gap: 7px; padding: 0 6px 0 10px;
  border: 1px solid #e1e7e4; border-radius: 6px; color: #1b211f; font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.dl-filter-chip > .mdi { color: #63706b; font-size: 15px; }
.dl-filter-chip button {
  width: 18px; height: 18px; margin-left: auto; padding: 0; display: grid; place-items: center;
  border: 0; background: transparent; color: #63706b; cursor: pointer; font-size: 14px;
}
.dl-add-filter {
  width: 230px; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; border: 1px dashed #e1e7e4;
  border-radius: 6px; background: #fff; color: #55605c; cursor: pointer; font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.dl-view-switch { width: 111px; display: inline-flex; padding: 2px; border-radius: 6px; background: #eef2f0; }
.dl-view-switch button {
  width: 54px; height: 24px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0;
  border-radius: 4px; background: transparent; color: #55605c; cursor: pointer; font: 500 11px/16px 'Geist', system-ui, sans-serif;
}
.dl-view-switch button .mdi { font-size: 13px; }
.dl-view-switch button:last-child { width: 53px; }
.dl-view-switch button.active { background: #fff; color: #1b211f; box-shadow: 0 1px 2px rgba(27,33,31,.08); }
.dl-source { display: flex; align-items: center; }
.dl-source .crm-source-toggle { margin: 0; }
.dl-source .crm-source-btn:first-child { width: 81px; padding: 0; }
.dl-source .crm-source-btn:last-child { width: 110px; padding: 0; }
.dl-metrics {
  height: 66px; flex: 0 0 66px; margin: 16px 24px 0; display: grid; grid-template-columns: repeat(5, minmax(180px, 1fr));
  overflow: hidden; border: 1px solid #e1e7e4; border-radius: 8px; background: #fff;
}
.dl-metric {
  min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 0 16px; border-right: 1px solid #e1e7e4;
}
.dl-metric:last-child { border-right: 0; }
.dl-metric strong { overflow: hidden; color: #1b211f; text-overflow: ellipsis; white-space: nowrap; font: 600 18px/22px 'Geist Mono', ui-monospace, monospace; }
.dl-metric span { margin-top: 3px; color: #63706b; text-transform: uppercase; letter-spacing: .55px; font: 600 11px/16px 'Geist', system-ui, sans-serif; }
.dl-board.kanban-board {
  flex: 1 1 auto; min-height: 0; width: 100%; gap: 12px; align-items: stretch;
  overflow: auto; padding: 16px 24px; background: #fff;
}
.dl-board::-webkit-scrollbar { width: 6px; height: 6px; }
.dl-board::-webkit-scrollbar-thumb { border-radius: 3px; background: #cad3cf; }
.dl-board .dl-column {
  width: 268px; min-width: 268px; height: 100%; min-height: 665px; padding: 12px 8px;
  gap: 0; border: 0; border-radius: 8px; background: #eef2f0;
}
.dl-board .dl-column.drag-over { background: #eef2f0; box-shadow: inset 0 0 0 1px #0b7a50; }
.dl-column-head { height: 58px; flex: 0 0 58px; padding: 0 4px; }
.dl-column-title { height: 20px; display: flex; align-items: center; color: #1b211f; font: 500 13px/18px 'Geist', system-ui, sans-serif; }
.dl-column-title > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dl-column-count { margin-left: 10px; color: #55605c; font: 400 11px/16px 'Geist Mono', ui-monospace, monospace; }
.dl-column-title strong { margin-left: auto; color: #55605c; font: 500 13px/18px 'Geist Mono', ui-monospace, monospace; }
.dl-stage-track { width: 244px; height: 2px; margin-top: 4px; overflow: hidden; border-radius: 1px; background: #e1e7e4; }
.dl-stage-track span { display: block; height: 2px; }
.dl-probability { margin-top: 11px; color: #8b9793; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.dl-card-list { display: flex; flex-direction: column; gap: 8px; }
.dl-board .dl-card {
  width: 252px; height: 119px; flex: 0 0 119px; padding: 8px 9px; overflow: hidden;
  border: 1px solid #e1e7e4; border-radius: 6px; background: #fff;
  box-shadow: 0 1px 2px rgba(27,33,31,.04); transition: border-color 120ms ease, box-shadow 120ms ease;
}
.dl-board .dl-card:hover { border-color: #cad3cf; box-shadow: 0 2px 5px rgba(27,33,31,.08); transform: none; }
.dl-card-title { overflow: hidden; color: #1b211f; text-overflow: ellipsis; white-space: nowrap; font: 500 13px/18px 'Geist', system-ui, sans-serif; }
.dl-company-row { height: 16px; margin-top: 8px; display: flex; align-items: center; gap: 6px; color: #63706b; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.dl-company-row > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dl-company-mark {
  width: 16px; height: 16px; flex: 0 0 16px; display: grid; place-items: center; border-radius: 4px;
  background: #eef2f0; color: #63706b; font: 500 9px/16px 'Geist', system-ui, sans-serif;
}
.dl-card-value-row { height: 27px; display: flex; align-items: center; justify-content: space-between; }
.dl-card-value-row strong { color: #1b211f; font: 500 14px/20px 'Geist Mono', ui-monospace, monospace; }
.dl-owner {
  width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #eef2f0;
  color: #55605c; font: 500 10px/20px 'Geist', system-ui, sans-serif;
}
.dl-card-footer {
  height: 25px; margin-top: 7px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #eef2f0;
  color: #63706b; font: 400 11px/16px 'Geist', system-ui, sans-serif;
}
.dl-card-footer > span { display: inline-flex; align-items: center; gap: 6px; }
.dl-card-footer .mdi { color: #8b9793; font-size: 14px; }
.dl-card-footer .overdue { color: #8c2018; }
.dl-card-footer .overdue .mdi { color: #8c2018; }
.dl-add-deal {
  width: 252px; height: 36px; flex: 0 0 36px; display: flex; align-items: center; justify-content: center; gap: 6px;
  border: 1px dashed #e1e7e4; border-radius: 6px; background: transparent; color: #63706b; cursor: pointer;
  font: 400 12px/16px 'Geist', system-ui, sans-serif;
}
.dl-add-deal:hover { border-color: #cad3cf; background: rgba(255,255,255,.45); color: #1b211f; }
.dl-table-wrap { flex: 1; min-height: 0; margin: 16px 24px 24px; overflow: auto; }
@media (max-width: 1100px) {
  .dl-filter-chip, .dl-add-filter, .dl-source { display: none; }
  .dl-metrics { grid-template-columns: repeat(3, minmax(180px, 1fr)); }
  .dl-metric:nth-child(n+4) { display: none; }
}

/* Deals board: drag state and empty pipeline. */
.dl-board { position: relative; }
.dl-board .kanban-card-dragging {
  opacity: 1; transform: none !important; border: 1px dashed #cad3cf; background: rgba(255,255,255,.22); box-shadow: none;
}
.dl-board .kanban-card-dragging > * { visibility: hidden; }
.dl-drag-ghost {
  width: 244px !important; height: 119px !important; position: fixed !important; left: 0; top: -1000px; z-index: 9999;
  opacity: .96; border: 1px solid #cad3cf !important; background: #fff !important;
  box-shadow: 0 14px 28px rgba(27,33,31,.18), 0 3px 8px rgba(27,33,31,.12) !important;
  pointer-events: none; /* it follows the cursor — elementFromPoint must see the column underneath it, not the ghost itself */
}
.dl-empty-pipeline {
  width: 360px; height: 206px; position: absolute; left: 50%; top: 243px; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; padding: 18px 24px; border: 1px solid #e1e7e4;
  border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgba(27,33,31,.03); text-align: center;
}
.dl-empty-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: #eef2f0; color: #63706b; font-size: 18px; }
.dl-empty-pipeline h2 { margin: 14px 0 4px; color: #1b211f; font: 600 16px/20px 'Geist', system-ui, sans-serif; }
.dl-empty-pipeline p { margin: 0; color: #63706b; font: 400 12px/18px 'Geist', system-ui, sans-serif; }
.dl-empty-pipeline > div { display: flex; gap: 8px; margin-top: 16px; }
.dl-empty-pipeline button { height: 32px; padding: 0 12px; border-radius: 6px; cursor: pointer; font: 500 13px/18px 'Geist', system-ui, sans-serif; }
.dl-empty-primary { border: 0; background: #0b7a50; color: #fff; }
.dl-empty-secondary { border: 1px solid #e1e7e4; background: #fff; color: #1b211f; }

/* Deals table: 32px header and 41px rows from the SVG. */
.dl-table-wrap { margin: 16px 24px 0; overflow: auto; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.dl-table-container { overflow: auto; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.dl-table { width: 1144px; min-width: 1144px; border-collapse: collapse; table-layout: fixed; }
.dl-table .dl-col-check { width: 48px; }
.dl-table .dl-col-deal { width: 272px; }
.dl-table .dl-col-company { width: 200px; }
.dl-table .dl-col-stage { width: 160px; }
.dl-table .dl-col-amount { width: 88px; }
.dl-table .dl-col-prob { width: 104px; }
.dl-table .dl-col-close { width: 116px; }
.dl-table .dl-col-owner { width: 156px; }
.dl-table th {
  height: 32px; padding: 0 12px; border-bottom: 1px solid #e1e7e4; background: #fbfcfc; color: #8b9793;
  text-align: left; text-transform: uppercase; letter-spacing: .55px; font: 600 11px/16px 'Geist', system-ui, sans-serif;
}
.dl-table td { height: 41px; padding: 0 12px; border-bottom: 1px solid #eef2f0; color: #55605c; font: 400 13px/18px 'Geist', system-ui, sans-serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dl-table tbody tr { cursor: pointer; }
.dl-table tbody tr:hover { background: #fbfcfc; }
.dl-table tbody tr.dl-selected { background: #eef2f0; }
.dl-table .dl-check-cell { padding-left: 12px; padding-right: 0; }
.dl-table .dl-deal-name { color: #1b211f; font-weight: 500; }
.dl-table-company-mark { width: 16px; height: 16px; display: inline-grid; place-items: center; margin-right: 8px; border-radius: 4px; background: #eef2f0; color: #63706b; font: 500 9px/16px 'Geist', sans-serif; vertical-align: -1px; }
.dl-table-company { vertical-align: 1px; }
.dl-stage-dot { width: 6px; height: 6px; display: inline-block; margin-right: 7px; border-radius: 50%; vertical-align: 1px; }
.dl-table-money, .dl-table-probability { color: #1b211f !important; font-family: 'Geist Mono', ui-monospace, monospace !important; }

/* Create deal modal: 560 × 500 at (440, 200) in the reference viewport. */
#deal-modal { background: rgba(27,33,31,.4); backdrop-filter: none; }
#deal-modal .modal { width: 560px; max-width: calc(100vw - 32px); height: 500px; max-height: calc(100vh - 32px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e1e7e4; border-radius: 12px; background: #fff; box-shadow: 0 16px 40px rgba(27,33,31,.16); }
#deal-modal .modal-header { height: 61px; flex: 0 0 61px; padding: 0 20px; border-bottom: 1px solid #eef2f0; }
#deal-modal .modal-header h3 { color: #1b211f; font: 600 16px/20px 'Geist', system-ui, sans-serif; }
#deal-modal .modal-close { width: 28px; height: 28px; color: #63706b; }
#deal-modal .modal-body { flex: 1 1 auto; min-height: 0; padding: 18px 20px; overflow-y: auto; }
#deal-modal #deal-form { display: flex; flex-direction: column; gap: 14px; }
#deal-modal .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
#deal-modal .form-group { min-width: 0; margin: 0; }
#deal-modal .form-label { height: 16px; display: block; margin: 0 0 5px; color: #55605c; font: 500 11px/16px 'Geist', system-ui, sans-serif; }
#deal-modal .required { color: #8c2018; }
#deal-modal .form-control { width: 100%; height: 32px; padding: 0 10px; border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #1b211f; box-shadow: none; font: 400 13px/18px 'Geist', system-ui, sans-serif; }
#deal-modal .form-control:focus { outline: none; border-color: #0b7a50; box-shadow: none; }
#deal-modal .df-pipeline-row { min-height: 74px; }
#deal-modal .df-stage-hint { display: block; margin-top: 5px; color: #8b9793; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
#deal-modal .modal-footer { height: 60px; flex: 0 0 60px; padding: 0 20px; border-top: 1px solid #eef2f0; background: #eef2f0; }
#deal-modal .modal-footer .btn { height: 32px; padding: 0 12px; border-radius: 6px; box-shadow: none; font: 500 13px/18px 'Geist', system-ui, sans-serif; }
#deal-modal .modal-footer .btn-secondary { border: 0; background: transparent; color: #55605c; }
#deal-modal .modal-footer .btn-primary { border: 0; background: #0b7a50; color: #fff; }
.df-create-another { margin-right: auto; display: flex; align-items: center; gap: 8px; color: #63706b; font: 400 12px/16px 'Geist', system-ui, sans-serif; }
.df-create-another input { width: 16px; height: 16px; margin: 0; appearance: none; border: 1px solid #cad3cf; border-radius: 4px; background: #fff; }
.df-create-another input:checked { background: #0b7a50; border-color: #0b7a50; }

.dl-toolbar.empty-pipeline .dl-view-switch { margin-left: auto; }

/* Deal record overview: geometry and hierarchy from “Deals — Record/Overview.svg”. */
.dr-wrap {
  width: 100%; height: 100%; min-width: 1192px; min-height: 0; display: flex; flex-direction: column;
  overflow: hidden; background: #f6f8f7; color: #1b211f; font-family: 'Geist', system-ui, sans-serif;
}
.dr-wrap * { box-sizing: border-box; }
.dr-loading { width: 100%; height: 100%; display: grid; place-items: center; background: #f6f8f7; }
.dr-header { position: relative; height: 188px; flex: 0 0 188px; padding: 0 24px; border-bottom: 1px solid #e1e7e4; background: #fff; }
.dr-breadcrumb { height: 40px; display: flex; align-items: center; gap: 6px; color: #8b9793; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.dr-breadcrumb button { padding: 0; border: 0; background: transparent; color: #63706b; cursor: pointer; font: inherit; }
.dr-breadcrumb .mdi { font-size: 13px; }
.dr-breadcrumb span { max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dr-heading-row { height: 36px; display: flex; align-items: center; }
.dr-heading-row h1 { margin: 0; max-width: 520px; overflow: hidden; color: #1b211f; text-overflow: ellipsis; white-space: nowrap; font: 600 20px/28px 'Geist', system-ui, sans-serif; letter-spacing: -.3px; }
.dr-heading-row h1, .dr-heading-row > strong { transform: translateY(5px); }
.dr-heading-row > strong { margin-left: 12px; color: #1b211f; font: 500 18px/28px 'Geist Mono', ui-monospace, monospace; }
.dr-actions { position: absolute; top: 58px; right: 24px; display: flex; align-items: center; gap: 8px; }
.dr-actions button { height: 32px; padding: 0 10px; border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #1b211f; cursor: pointer; font: 500 12px/18px 'Geist', system-ui, sans-serif; }
.dr-actions button .mdi { margin-right: 4px; font-size: 13px; }
.dr-actions .dr-more { width: 32px; padding: 0; color: #63706b; }
.dr-actions .dr-more .mdi { margin: 0; }
.dr-subtitle { height: 26px; display: flex; align-items: center; gap: 7px; color: #63706b; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.dr-subtitle b { color: #cad3cf; font-weight: 400; }
.dr-stage-path { height: 43px; display: flex; gap: 3px; padding-top: 11px; }
.dr-stage-path > div { min-width: 0; flex: 1; }
.dr-stage-path > div > span { height: 4px; display: block; border-radius: 2px; background: #e1e7e4; }
.dr-stage-path > div.done > span { background: #0b7a50; }
.dr-stage-path p { margin: 6px 0 0; overflow: hidden; color: #8b9793; text-overflow: ellipsis; white-space: nowrap; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.dr-stage-path .done p { color: #55605c; }
.dr-stage-path .current p { color: #1b211f; font-weight: 500; }
.dr-stage-path p .mdi { margin-right: 4px; color: #0b7a50; font-size: 12px; }
.dr-tabs { height: 43px; display: flex; align-items: flex-end; }
.dr-tabs button { height: 43px; min-width: 120px; padding: 0 20px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #63706b; cursor: pointer; font: 500 12px/41px 'Geist', system-ui, sans-serif; }
.dr-tabs button.active { border-bottom-color: #0b7a50; color: #1b211f; }
.dr-tabs span, .dr-card-head h2 span { margin-left: 4px; color: #8b9793; font: 400 10px/16px 'Geist Mono', ui-monospace, monospace; }
.dr-body { flex: 1; min-height: 0; display: grid; grid-template-columns: 300px minmax(524px, 1fr) 280px; gap: 20px; padding: 20px 24px; overflow: auto; align-items: start; }
.dr-card { overflow: hidden; border: 1px solid #e1e7e4; border-radius: 8px; background: #fff; }
.dr-card-head { height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border-bottom: 1px solid #eef2f0; }
.dr-card-head h2 { margin: 0; color: #1b211f; font: 600 13px/18px 'Geist', system-ui, sans-serif; }
.dr-card-head button { height: 28px; padding: 0 8px; border: 0; border-radius: 5px; background: transparent; color: #55605c; cursor: pointer; font: 500 12px/18px 'Geist', system-ui, sans-serif; }
.dr-property-list > div { min-height: 48px; padding: 7px 14px; }
.dr-property-list dt { margin: 0 0 3px; color: #8b9793; text-transform: uppercase; letter-spacing: .45px; font: 600 9px/13px 'Geist', system-ui, sans-serif; }
.dr-property-list dd { min-height: 18px; margin: 0; display: flex; align-items: center; gap: 6px; color: #1b211f; font: 400 12px/18px 'Geist', system-ui, sans-serif; }
.dr-mono { font-family: 'Geist Mono', ui-monospace, monospace; }
.dr-strong { font-weight: 600; }
.dr-muted { color: #63706b; }
.dr-stage-value { display: inline-flex; align-items: center; gap: 7px; }
.dr-stage-value i { width: 6px; height: 6px; border-radius: 50%; }
.dr-owner-mark { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #eef2f0; color: #55605c; font: 500 9px/20px 'Geist', system-ui, sans-serif; }
.dr-show-all { width: 100%; height: 36px; border: 0; background: #fbfcfc; color: #55605c; cursor: pointer; font: 500 11px/16px 'Geist', system-ui, sans-serif; }
.dr-main-column, .dr-side-column { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.dr-line-heading { height: 30px; padding: 0 14px; border-bottom: 1px solid #e1e7e4; background: #fbfcfc; color: #8b9793; text-transform: uppercase; letter-spacing: .45px; font: 600 9px/30px 'Geist', system-ui, sans-serif; }
.dr-line-row { min-height: 51px; display: grid; grid-template-columns: 1fr auto 24px; align-items: center; gap: 10px; padding: 6px 10px 6px 14px; border-bottom: 1px solid #eef2f0; }
.dr-line-row strong, .dr-line-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dr-line-row strong { color: #1b211f; font: 500 12px/18px 'Geist', system-ui, sans-serif; }
.dr-line-row small { color: #8b9793; font: 400 10px/14px 'Geist', system-ui, sans-serif; }
.dr-line-row > span, .dr-line-total > span { color: #1b211f; font: 500 12px/18px 'Geist Mono', ui-monospace, monospace; }
.dr-line-row button { width: 24px; height: 24px; padding: 0; border: 0; background: transparent; color: #8b9793; cursor: pointer; }
.dr-line-empty { height: 52px; display: grid; place-items: center; border-bottom: 1px solid #eef2f0; color: #8b9793; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.dr-line-total { height: 40px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; }
.dr-line-total strong { font: 600 12px/18px 'Geist', system-ui, sans-serif; }
.dr-composer { height: 112px; position: relative; }
.dr-compose-tabs { height: 38px; display: flex; border-bottom: 1px solid #eef2f0; }
.dr-compose-tabs button { height: 38px; padding: 0 12px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #63706b; cursor: pointer; font: 500 11px/36px 'Geist', system-ui, sans-serif; }
.dr-compose-tabs button.active { border-bottom-color: #0b7a50; color: #1b211f; }
.dr-compose-tabs .mdi { margin-right: 4px; font-size: 13px; }
.dr-compose-placeholder { width: calc(100% - 28px); height: 44px; margin: 14px; padding: 0 34px 0 10px; border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #8b9793; text-align: left; cursor: text; font: 400 12px/18px 'Geist', system-ui, sans-serif; }
.dr-compose-link { position: absolute; right: 24px; bottom: 27px; color: #8b9793; font-size: 15px; }
.dr-timeline { min-height: 160px; padding-bottom: 8px; }
.dr-stalled { height: 36px; display: flex; align-items: center; gap: 7px; padding: 0 14px; border-bottom: 1px solid #f2d3cf; background: #fef0ef; color: #8c2018; font: 500 11px/16px 'Geist', system-ui, sans-serif; }
.dr-month { height: 36px; padding: 0 14px; border-bottom: 1px solid #eef2f0; color: #63706b; text-transform: uppercase; letter-spacing: .45px; font: 600 9px/36px 'Geist', system-ui, sans-serif; }
.dr-activity-row { min-height: 58px; display: grid; grid-template-columns: 24px 1fr auto; gap: 10px; padding: 10px 14px; border-bottom: 1px solid #eef2f0; }
.dr-activity-icon { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #eef2f0; color: #63706b; font-size: 12px; }
.dr-activity-icon.alert { background: #e7f4ee; color: #0b7a50; }
.dr-activity-row strong, .dr-activity-row small { display: block; }
.dr-activity-row strong { color: #1b211f; font: 500 12px/18px 'Geist', system-ui, sans-serif; }
.dr-activity-row small { color: #63706b; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.dr-activity-row p { margin: 1px 0 0; color: #63706b; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.dr-activity-row > time { color: #8b9793; white-space: nowrap; font: 400 10px/16px 'Geist', system-ui, sans-serif; }
.dr-no-activity { height: 80px; display: grid; place-items: center; color: #8b9793; font: 400 12px/18px 'Geist', system-ui, sans-serif; }
.dr-side-card { min-height: 86px; }
.dr-association { width: 100%; min-height: 55px; display: flex; align-items: center; gap: 10px; padding: 8px 14px; border: 0; border-bottom: 1px solid #eef2f0; background: #fff; color: #1b211f; text-align: left; cursor: pointer; }
.dr-association > span:last-child { min-width: 0; }
.dr-association strong, .dr-association small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dr-association strong { font: 500 12px/18px 'Geist', system-ui, sans-serif; }
.dr-association small { color: #8b9793; font: 400 10px/14px 'Geist', system-ui, sans-serif; }
.dr-side-empty { margin: 0; padding: 18px 14px; color: #8b9793; font: 400 11px/16px 'Geist', system-ui, sans-serif; }

/* Pipeline stage configuration from “Pipelines — Stage configuration.svg”. */
.pl-wrap { width: 100%; height: 100%; min-width: 900px; min-height: 0; display: flex; flex-direction: column; overflow: hidden; background: #f6f8f7; color: #1b211f; font-family: 'Geist', system-ui, sans-serif; }
.pl-wrap * { box-sizing: border-box; }
.pl-header { height: 65px; flex: 0 0 65px; display: flex; align-items: center; justify-content: space-between; padding: 8px 24px 0; border-bottom: 1px solid #e1e7e4; background: #fff; }
.pl-header > div:first-child { display: flex; align-items: baseline; gap: 10px; }
.pl-header h1 { margin: 0; font: 600 20px/28px 'Geist', system-ui, sans-serif; letter-spacing: -.3px; }
.pl-header > div:first-child > span { color: #63706b; font: 400 13px/18px 'Geist Mono', ui-monospace, monospace; }
.pl-header-actions { display: flex; align-items: center; gap: 8px; }
.pl-header-actions button { height: 32px; border-radius: 6px; cursor: pointer; }
.pl-more { width: 28px; padding: 0; border: 1px solid #e1e7e4; background: #fff; color: #63706b; }
.pl-new { padding: 0 12px; border: 0; background: #0b7a50; color: #fff; font: 500 13px/18px 'Geist', system-ui, sans-serif; }
.pl-layout { flex: 1; min-height: 0; display: grid; grid-template-columns: 280px minmax(620px, 844px); justify-content: start; gap: 20px; padding: 20px 24px; overflow: auto; background: #f6f8f7; }
.pl-list-card, .pl-config-card { align-self: start; overflow: hidden; border: 1px solid #e1e7e4; border-radius: 8px; background: #fff; }
.pl-panel-head { height: 45px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px 0 14px; border-bottom: 1px solid #eef2f0; }
.pl-panel-head h2 { margin: 0; font: 600 13px/18px 'Geist', system-ui, sans-serif; }
.pl-panel-head button { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: #63706b; cursor: pointer; }
.pl-list { padding: 5px; }
.pl-list-item { width: 100%; height: 49px; display: flex; flex-direction: column; justify-content: center; padding: 0 10px; border: 0; border-radius: 6px; background: transparent; color: #1b211f; text-align: left; cursor: pointer; }
.pl-list-item.active { background: #eef2f0; }
.pl-list-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 12px/18px 'Geist', system-ui, sans-serif; }
.pl-list-item span { color: #8b9793; font: 400 10px/15px 'Geist', system-ui, sans-serif; }
.pl-list-item span.duplicate { color: #8c2018; }
.pl-list-empty, .pl-config-empty { padding: 24px 14px; color: #8b9793; font: 400 12px/18px 'Geist', system-ui, sans-serif; }
.pl-config-card { width: 100%; }
.pl-config-head { height: 74px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border-bottom: 1px solid #eef2f0; }
.pl-config-head h2 { margin: 0 0 4px; font: 600 14px/20px 'Geist', system-ui, sans-serif; }
.pl-config-head p { margin: 0; color: #63706b; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.pl-config-head button { width: 28px; height: 28px; padding: 0; border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #63706b; cursor: pointer; }
.pl-stage-heading { height: 31px; display: grid; grid-template-columns: 1fr 96px 64px 90px 28px; align-items: center; gap: 8px; padding: 0 12px; border-bottom: 1px solid #eef2f0; background: #fbfcfc; color: #8b9793; text-transform: uppercase; letter-spacing: .45px; font: 600 9px/14px 'Geist', system-ui, sans-serif; }
.pl-stage-row { height: 45px; display: grid; grid-template-columns: 1fr 96px 64px 90px 28px; align-items: center; gap: 8px; padding: 0 12px; border-bottom: 1px solid #eef2f0; background: #fff; }
.pl-stage-row:hover { background: #fbfcfc; }
.pl-stage-main { min-width: 0; display: flex; align-items: center; gap: 8px; }
.pl-drag { color: #8b9793; cursor: grab; font-size: 15px; flex-shrink: 0; }
.pl-stage-color { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.pl-stage-name { min-width: 0; flex: 1; height: 28px; padding: 0 7px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #1b211f; font: 400 12px/18px 'Geist', system-ui, sans-serif; }
.pl-stage-name:hover, .pl-stage-name:focus { outline: none; border-color: #cad3cf; background: #fff; }
.pl-probability { width: 96px; height: 28px; position: relative; }
.pl-probability input { width: 100%; height: 28px; padding: 0 25px 0 8px; border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #1b211f; font: 400 12px/18px 'Geist Mono', ui-monospace, monospace; }
.pl-probability span { position: absolute; right: 8px; top: 5px; color: #8b9793; font: 400 11px/18px 'Geist', system-ui, sans-serif; }
.pl-stage-deals { color: #55605c; font: 400 12px/18px 'Geist Mono', ui-monospace, monospace; }
.pl-stage-target { min-width: 0; height: 28px; padding: 0 7px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #55605c; font: 400 12px/18px 'Geist Mono', ui-monospace, monospace; }
.pl-stage-target:hover, .pl-stage-target:focus { outline: none; border-color: #cad3cf; background: #fff; }
.pl-stage-target::placeholder { color: #8b9793; }
.pl-stage-more { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: #8b9793; cursor: pointer; }
.pl-stage-more:hover { background: #eef2f0; color: #1b211f; }
.pl-add-stage { width: 100%; height: 43px; display: flex; align-items: center; gap: 6px; padding: 0 12px; border: 0; background: #fff; color: #0b7a50; cursor: pointer; font: 500 12px/18px 'Geist', system-ui, sans-serif; }
.pl-add-stage:hover { background: #fbfcfc; }

@media (max-width: 1200px) {
  .dr-wrap { min-width: 980px; }
  .dr-body { grid-template-columns: 260px minmax(440px, 1fr) 240px; gap: 14px; padding-left: 18px; padding-right: 18px; }
  .pl-wrap { min-width: 760px; }
  .pl-layout { grid-template-columns: 240px minmax(480px, 1fr); }
}

/* ---------- bulk-selection bar ---------- */
#ct-bulkbar-slot { position: absolute; inset: 0; z-index: 50; pointer-events: none; }
.ct-bulkbar {
  width: 464px; height: 44px; position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%);
  display: flex; align-items: center; gap: 10px; margin: 0; padding: 0 12px; border-radius: 8px;
  background: #1b211f; color: #fff; box-shadow: 0 12px 28px -8px rgba(0,0,0,0.35);
  pointer-events: auto; font: 500 11px/16px 'Geist', system-ui, sans-serif;
}
.ct-bulkbar-count { font-size: 12px; font-weight: 500; white-space: nowrap; }
.ct-bulkbar-btn { background: none; border: none; color: #fff; cursor: pointer; font: 500 11px/16px 'Geist', sans-serif; padding: 5px 0; white-space: nowrap; }
.ct-bulkbar-btn:hover { color: #cad3cf; }
.ct-bulkbar-btn.danger { color: #f08a80; }
.ct-bulkbar-btn.danger:hover { color: #ffb0a8; }
.ct-bulkbar-divider { width: 1px; align-self: stretch; background: rgba(202,211,207,0.4); }
.ct-bulkbar-close { background: none; border: none; color: #8b9793; cursor: pointer; display: flex; padding: 4px; }
.ct-bulkbar-close:hover { color: #fff; }
.ct-bulkbar-sub { position: absolute; left: 12px; bottom: 5px; padding: 0 4px 0 0; background: #fff; color: #55605c; pointer-events: auto; text-align: left; font: 400 13px/18px 'Geist', sans-serif; }
.ct-bulkbar-sub a { color: #2b7a5b; font-weight: 600; text-decoration: none; }
.ct-bulkbar-sub a:hover { text-decoration: underline; }

/* ---------- empty / no-results / error states ---------- */
.ct-list-state { width: 100%; height: 100%; }
.ct-list-state[hidden] { display: none; }
.ct-table-wrap.ct-state-only .ct-table { display: none; }
.ct-table-wrap.ct-no-results .ct-table { margin-top: 164px; }
.ct-table-wrap.ct-no-results .ct-state { height: 315px; padding: 0 20px; }
.ct-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 90px 20px; text-align: center; }
.ct-list-state .ct-state { width: 100%; height: 100%; padding: 0 20px; }
.ct-state-icon {
  width: 44px; height: 44px; border-radius: 50%; background: #eef2f0; color: #8b9793;
  display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 18px;
}
.ct-state-icon.error { background: #fef0ef; color: #d6392b; }
.ct-state h3 { font: 600 16px/20px 'Geist', system-ui, sans-serif; color: #1b211f; margin: 0 0 6px; }
.ct-state p { font: 400 13px/18px 'Geist', system-ui, sans-serif; color: #63706b; max-width: 340px; margin: 0 0 20px; }
.ct-state-actions { display: flex; gap: 10px; }
.ct-state .ct-btn-secondary { height: 32px; padding: 0 12px; border-radius: 6px; font: 500 13px/30px 'Geist', sans-serif; }
.ct-btn-secondary {
  display: inline-flex; align-items: center; gap: 6px; background: #fff; color: #1b211f;
  border: 1px solid #e1e7e4; border-radius: 8px; padding: 9px 16px; font: 600 13.5px/1 'Geist', sans-serif; cursor: pointer;
}
.ct-btn-secondary:hover { background: #fbfcfc; }

/* ---------- loading skeleton ---------- */
.ct-skel-row td { padding: 0 12px; }
.ct-skel-bar { height: 10px; border-radius: 3px; background: linear-gradient(90deg, #eef2f0 25%, #e4e9e6 37%, #eef2f0 63%); background-size: 400% 100%; animation: ct-shimmer 1.6s ease infinite; }
@keyframes ct-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

/* ---------- filter builder popovers ---------- */
.ct-popover-anchor { position: relative; display: inline-block; }
.ct-popover {
  position: absolute; top: calc(100% + 6px); left: 0; z-index: 60; background: #fff;
  border: 1px solid #e1e7e4; border-radius: 8px; box-shadow: 0 16px 40px -12px rgba(27,33,31,0.22);
  width: 280px; overflow: hidden;
}
.ct-popover-search { padding: 8px; border-bottom: 1px solid #eef2f0; }
.ct-popover-search input {
  width: 100%; height: 28px; padding: 0 10px 0 30px; border: 1px solid #e1e7e4; border-radius: 6px;
  font: 400 13px/1 'Geist', sans-serif; color: #1b211f; background: #fff no-repeat 9px center;
}
.ct-popover-search-wrap { position: relative; }
.ct-popover-search-wrap .mdi { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #55605c; font-size: 15px; }
.ct-popover-group { padding: 6px 0; max-height: 320px; overflow-y: auto; }
.ct-popover-label { font: 700 10.5px/1 'Geist', sans-serif; letter-spacing: 0.06em; text-transform: uppercase; color: #8b9793; padding: 10px 14px 6px; }
.ct-popover-item { display: flex; align-items: center; gap: 10px; padding: 8px 14px; cursor: pointer; font: 500 13.5px/1 'Geist', sans-serif; color: #1b211f; border-radius: 4px; }
.ct-popover-item:hover { background: #f6f8f7; }
.ct-popover-item .mdi { font-size: 16px; color: #55605c; width: 18px; text-align: center; }
.ct-popover-divider { height: 1px; background: #eef2f0; margin: 4px 0; }
.ct-row-menu { padding: 4px; border: 1px solid #e1e7e4; border-radius: 6px; box-shadow: 0 4px 12px rgba(27,33,31,.08); }
.ct-row-menu .ct-popover-group { padding: 0 !important; overflow: visible; }
.ct-row-menu .ct-popover-item { height: 30px; min-height: 30px; padding: 0 8px; font: 400 13px/17px 'Geist', sans-serif; }
.ct-row-menu .ct-popover-divider { margin: 1px -4px 2px; }
.ct-row-menu .ct-popover-danger,
.ct-row-menu .ct-popover-danger .mdi { color: #8c2018; }

.ct-popover-value { width: 260px; padding: 14px; }
.ct-popover-value-head { display: flex; align-items: center; gap: 8px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid #eef2f0; }
.ct-popover-back { background: none; border: none; cursor: pointer; color: #55605c; display: flex; font-size: 18px; padding: 0; }
.ct-popover-value-head h4 { margin: 0; font: 700 14.5px/1 'Geist', sans-serif; color: #1b211f; }
.ct-popover-value label { display: block; font: 600 12px/1 'Geist', sans-serif; color: #55605c; margin-bottom: 6px; }
.ct-popover-value .ct-field + label { margin-top: 14px; }
.ct-field {
  width: 100%; height: 36px; padding: 0 10px; border: 1px solid #e1e7e4; border-radius: 8px;
  font: 400 13.5px/1 'Geist', sans-serif; color: #1b211f; background: #fff;
}
.ct-field:focus { outline: none; border-color: #0b7a50; }
.ct-match-count { font-size: 12px; color: #63706b; margin-top: 10px; }
.ct-popover-value-foot { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin: 14px -14px -14px; padding: 12px 14px; background: #fafbfa; border-top: 1px solid #eef2f0; }
.ct-link-btn { background: none; border: none; color: #63706b; font: 600 13px/1 'Geist', sans-serif; cursor: pointer; }
.ct-link-btn:hover { color: #1b211f; }

.ct-popover-backdrop { position: fixed; inset: 0; z-index: 55; }

/* ════════════════════════════════════════════════════════════════════
   CONTACT RECORD — matches UI-UX-Images/Contacts/Contacts — Record/Overview
   Same palette as the list view above (.ct-wrap); .cr- prefix for record-only bits.
   ════════════════════════════════════════════════════════════════════ */
.cr-wrap { min-height: 100%; color: #1b211f; background: #f6f8f7; font-family: 'Geist', system-ui, sans-serif; }
.cr-wrap * { box-sizing: border-box; }

/* Figma: breadcrumb, identity, actions and tabs all live in ONE white
   "Record header" card (pt-12 px-24), ending in a single divider before
   the 3-column body — not four separately-spaced rows on the page bg. */
.cr-record-card { height: 146px; background: #fff; padding: 12px 24px 0; }
.cr-crumbs { display: flex; align-items: center; gap: 6px; }
.cr-crumbs-left { font-size: 11px; color: #1b211f; display: flex; align-items: center; gap: 6px; flex: 1; min-width: 0; }
.cr-crumbs-left a { color: #1b211f; text-decoration: none; cursor: pointer; }
.cr-crumbs-left a:hover { text-decoration: underline; }
.cr-crumbs-left .current { color: #63706b; font-weight: 400; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cr-pager { font-size: 11px; color: #63706b; display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.cr-pager-btn { width: 28px; height: 28px; border-radius: 6px; border: none; background: none; color: #55605c; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.cr-pager-btn:hover { background: #eef2f0; }
.cr-pager-btn:disabled { opacity: 0.4; cursor: default; }

.cr-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 10px; flex-wrap: wrap; }
.cr-header-id { display: flex; align-items: center; gap: 12px; }
.cr-name-line { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cr-name-line h1 { font-size: 20px; line-height: 28px; font-weight: 600; margin: 0; color: #1b211f; letter-spacing: -0.3px; }
.cr-status-separator { color: #8b9793; margin: 0 -4px; }
.cr-sub { font-size: 13px; color: #63706b; margin-top: 3px; }
.cr-sub b { color: #1b211f; font-weight: 500; }
.cr-header-actions { display: flex; align-items: center; gap: 8px; }
.cr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 6px; border: 1px solid #e1e7e4; background: #fff; color: #1b211f; font: 500 13px/16px 'Geist', sans-serif; cursor: pointer; }
.cr-btn:hover { background: #fbfcfc; }
.cr-btn.icon-only { width: 28px; height: 28px; padding: 0; justify-content: center; border: none; }
.cr-header-actions .cr-btn:nth-child(1) { width: 70px; }
.cr-header-actions .cr-btn:nth-child(2) { width: 80px; }
.cr-header-actions .cr-btn:nth-child(3) { width: 77px; }
.cr-header-actions > .ct-btn-primary { width: 118px; }

/* Figma's "Record tabs" gives each tab a fixed 120px slot with its label
   centered inside, not a left-packed row sized to each label's text — that's
   what was reading as uneven/cramped spacing between tabs. */
.cr-tabs { display: flex; align-items: center; gap: 20px; padding-top: 10px; }
.cr-tab { width: 120px; background: none; border: none; cursor: pointer; padding: 0 0 14px; font: 500 13px/18px 'Geist', sans-serif; color: #55605c; display: flex; align-items: center; justify-content: center; gap: 6px; position: relative; top: 1px; }
.cr-tab .cr-tab-count { font: 400 11px/16px 'Geist Mono', ui-monospace, monospace; color: #63706b; }
.cr-tab.active { color: #1b211f; font-weight: 500; border-bottom: 2px solid #0b7a50; }
.cr-tab.ai { color: #442a99; font-weight: 500; }
.cr-tab.ai.active { border-bottom-color: #442a99; }
.cr-record-divider { height: 1px; background: #e1e7e4; }

.cr-body-wrap { min-height: calc(100vh - 146px); padding: 20px 24px; background: #f6f8f7; }
.cr-cols { display: grid; grid-template-columns: 300px minmax(0,1fr) 280px; gap: 20px; align-items: start; }
@media (max-width: 1180px) { .cr-cols { grid-template-columns: 1fr; } }

.cr-card { background: #fff; border: 1px solid #e1e7e4; border-radius: 8px; margin-bottom: 16px; }
.cr-card-head { height: 43px; display: flex; align-items: center; justify-content: space-between; padding: 0 8px 0 13px; border-bottom: 1px solid #eef2f0; }
.cr-card-head h3 { font: 600 14px/20px 'Geist', sans-serif; letter-spacing: -0.2px; margin: 0; color: #1b211f; display: flex; align-items: center; gap: 6px; }
.cr-card-head h3 .n { font-family: 'Geist Mono', ui-monospace, monospace; color: #63706b; font-weight: 400; }
.cr-card-icon-btn { width: 28px; height: 28px; border-radius: 6px; border: none; background: none; color: #63706b; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.cr-card-icon-btn:hover { background: #eef2f0; }

.cr-prop-row { display: flex; align-items: center; gap: 8px; height: 31px; padding: 0 6px 0 13px; border-radius: 4px; font-size: 13px; }
.cr-prop-label { font: 500 12px/16px 'Geist', sans-serif; letter-spacing: 0.06px; color: #63706b; flex-shrink: 0; width: 90px; }
/* display:flex (not text-align) so nested flex badges — ctLifecycleCell()/
   ctLeadStatusCell()'s dot+label, the owner avatar+name — render their label
   text instead of silently defaulting to flex-start-but-clipped (only the
   dot was visible). Figma lays the value out flush against the label, not
   right-aligned to the card edge, with a trailing spacer taking up the rest. */
.cr-prop-val { display: flex; align-items: center; gap: 4px; color: #1b211f; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: text; }
.cr-prop-val > * { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.cr-prop-val.empty { color: #8b9793; }
.cr-prop-val a { color: #1b211f; text-decoration: none; }
.cr-prop-val select, .cr-prop-val input { width: 100%; border: 1px solid #0b7a50; border-radius: 6px; padding: 3px 6px; font: inherit; color: #1b211f; }
.cr-score-bar { display: inline-block; width: 56px; height: 4px; border-radius: 999px; background: #eef2f0; margin-left: 8px; vertical-align: middle; overflow: hidden; }
.cr-score-bar i { display: block; height: 100%; background: #0b7a50; }
.cr-showall { display: block; width: 100%; height: 43px; padding: 0 13px; border: none; background: none; color: #1b211f; text-align: left; font: 600 12.5px/1 'Geist', sans-serif; cursor: pointer; }
.cr-showall:hover { text-decoration: underline; }

.cr-composer-tabs { height: 35px; display: flex; align-items: center; gap: 4px; padding: 4px; border-bottom: 1px solid #e1e7e4; }
.cr-composer-tab { display: flex; align-items: center; gap: 5px; padding: 6px 10px; border-radius: 7px; border: 1px solid transparent; background: none; color: #63706b; font: 500 12.5px/1 'Geist', sans-serif; cursor: pointer; }
.cr-composer-tab.active { background: #fff; border-color: #e1e7e4; color: #1b211f; box-shadow: 0 1px 2px rgba(27,33,31,0.06); }
.cr-composer-body { height: 50px; }
.cr-composer-body textarea { width: 100%; height: 50px; min-height: 0; padding: 9px 11px 4px; border: none; resize: none; font: 400 13.5px/1.4 'Geist', sans-serif; color: #1b211f; }
.cr-composer-body textarea:focus { outline: none; }
.cr-composer-body textarea::placeholder { color: #8b9793; }
.cr-composer-foot { height: 45px; display: flex; align-items: center; justify-content: space-between; padding: 8px 11px 9px; }
.cr-composer-foot-left { display: flex; align-items: center; gap: 8px; }
.cr-attach-btn { width: 27px; height: 28px; border-radius: 6px; border: none; background: none; color: #63706b; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.cr-attach-btn:hover { background: #eef2f0; }
.cr-ai-pill { display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 8px; border-radius: 6px; background: #f3f0fe; border: 1px solid #c9bbfa; color: #442a99; font: 500 12px/1 'Geist', sans-serif; cursor: pointer; }
.cr-ai-pill:hover { background: #ece7fd; }
.cr-composer-foot .ct-btn-primary { width: 70px; height: 28px !important; padding: 0 !important; font-size: 11px; }

.cr-activity-toolbar { height: 28px; display: flex; align-items: center; justify-content: space-between; margin: 16px 0; }
.cr-activity-toolbar h3 { margin: 0; color: #1b211f; font: 600 15px/20px 'Geist', sans-serif; }
.cr-activity-toolbar h3 span { color: #8b9793; font-weight: 500; }
.cr-activity-tools { display: flex; align-items: center; gap: 8px; }
.cr-activity-tools .ct-field { width: 140px; height: 28px; padding: 0 28px 0 10px; font-size: 12px; }
.cr-activity-tools .cr-card-icon-btn { width: 28px; height: 28px; border: 1px solid #e1e7e4; background: #fff; }

/* Day-group header (Figma "Day — Today"): a full-bleed sunken band inside
   the timeline card, not floating text on the card's own white background. */
.cr-actgroup-label { font: 600 11px/16px 'Geist', sans-serif; letter-spacing: 0.06em; text-transform: uppercase; color: #63706b; background: #fbfcfc; padding: 8px 13px; margin: 0; }
/* Timeline Item (Figma): a marker + connecting rail down to the next item,
   so the list reads as an actual timeline. "Marker colour encodes type; the
   icon carries the meaning so colour is never load-bearing" — call/email
   share the communication blue, meeting green, task amber, lifecycle-change
   (system-generated) purple, note stays neutral. */
.cr-act-row { min-height: 77px; display: flex; gap: 12px; padding: 8px 13px; border-bottom: 1px solid #eef2f0; }
.cr-act-rail { display: flex; flex-direction: column; align-items: center; gap: 4px; flex-shrink: 0; align-self: stretch; }
.cr-act-rail::after { content: ''; width: 1px; flex: 1; min-height: 12px; background: #e1e7e4; }
.cr-act-icon { width: 24px; height: 24px; border-radius: 50%; background: #eef2f0; color: #55605c; display: flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0; }
.cr-act-icon.call, .cr-act-icon.email { background: #eaf1fe; color: #17429a; }
.cr-act-icon.meeting { background: #e3f5ec; color: #096341; }
.cr-act-icon.task { background: #fef6e7; color: #c77a05; }
.cr-act-icon.lifecycle_change { background: #f3f0fe; color: #442a99; }
.cr-act-body { flex: 1; min-width: 0; padding-bottom: 4px; }
.cr-act-top { display: flex; align-items: center; gap: 8px; }
.cr-act-title { flex: 1; min-width: 0; font: 500 13px/18px 'Geist', sans-serif; color: #1b211f; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cr-act-time { font: 400 11px/16px 'Geist', sans-serif; color: #63706b; flex-shrink: 0; white-space: nowrap; }
.cr-act-desc { font: 400 13px/18px 'Geist', sans-serif; color: #55605c; margin-top: 2px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.cr-ai-card { height: 152px; display: flex; flex-direction: column; background: #f3f0fe; border: 1px solid #c9bbfa; border-radius: 8px; padding: 12px 13px 11px; margin-bottom: 16px; }
.cr-ai-card-head { display: flex; align-items: center; gap: 6px; font: 700 12.5px/1 'Geist', sans-serif; color: #442a99; margin-bottom: 10px; }
.cr-ai-score { font: 600 18px/24px 'Geist', sans-serif; color: #442a99; }
.cr-ai-score-label { margin-left: 6px; color: #63706b; font: 400 13px/18px 'Geist', sans-serif; }
.cr-ai-desc { margin: 7px 0; color: #55605c; font: 400 12px/18px 'Geist', sans-serif; }
.cr-ai-btn { display: block; width: 100%; height: 28px; flex: 0 0 28px; margin-top: auto; padding: 0; border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #1b211f; text-align: center; font: 500 12px/26px 'Geist', sans-serif; cursor: pointer; }
.cr-ai-btn:hover { background: #fbfaff; }

.cr-company-row { height: 60px; display: flex; align-items: center; gap: 10px; padding: 8px 13px; }
.cr-company-icon { width: 32px; height: 32px; border-radius: 6px; background: #eef2f0; color: #55605c; display: flex; align-items: center; justify-content: center; font: 500 12px/16px 'Geist', sans-serif; letter-spacing: 0.06px; flex-shrink: 0; }
.cr-company-name { font: 500 13px/18px 'Geist', sans-serif; color: #1b211f; }
.cr-company-meta { font: 400 11px/16px 'Geist', sans-serif; color: #63706b; }
.cr-mini-row { display: flex; align-items: center; justify-content: space-between; padding: 6px 13px; font-size: 12.5px; color: #63706b; }
.cr-mini-row b { color: #1b211f; font-weight: 600; }
/* Label + value meta rows (Company card's Industry/Employees/etc.) — a
   distinct shape from .cr-mini-row's single-line associations/email rows. */
.cr-meta-row { display: flex; align-items: center; gap: 8px; padding: 4px 13px; height: 26px; }
.cr-meta-row span { font: 500 12px/16px 'Geist', sans-serif; letter-spacing: 0.06px; color: #63706b; width: 96px; flex-shrink: 0; }
.cr-meta-row b { font: 400 13px/18px 'Geist', sans-serif; color: #1b211f; font-weight: 400; }

.cr-deal-row, .cr-task-row { padding: 9px 13px; }
.cr-deal-row { height: 72px; }
.cr-deal-name { font: 600 13px/1.3 'Geist', sans-serif; color: #1b211f; }
.cr-deal-amt { font: 700 13px/1 'Geist', sans-serif; color: #1b211f; float: right; }
.cr-deal-meta { font-size: 12px; color: #8b9793; margin-top: 2px; clear: both; }
.cr-task-row { height: 56px; display: flex; align-items: flex-start; gap: 8px; }
.cr-task-check { width: 15px; height: 15px; border-radius: 4px; border: 1.5px solid #c4cdc9; margin-top: 2px; flex-shrink: 0; cursor: pointer; appearance: none; }
.cr-task-check:checked { background: #0b7a50; border-color: #0b7a50; }
.cr-task-title { font: 500 13px/1.35 'Geist', sans-serif; color: #1b211f; }
.cr-task-meta { font-size: 12px; color: #8b9793; margin-top: 1px; }
.cr-task-meta.overdue { color: #9a3a33; }
.cr-empty-mini { padding: 16px 14px; text-align: center; color: #8b9793; font-size: 12.5px; }

.cr-tabpane { background: #fff; border: 1px solid #e1e7e4; border-radius: 8px; padding: 14px; }

/* ---------- Company record: Companies — Record/Overview.svg ---------- */
.co-record-wrap .cr-record-card { height: 146px; }
.co-record-wrap .cr-body-wrap { min-height: calc(100vh - 146px); }
.co-record-avatar {
  width: 44px; height: 44px; flex: 0 0 44px; display: flex; align-items: center; justify-content: center;
  border-radius: 6px; background: #eef2f0; color: #55605c; font: 600 13px/16px 'Geist', sans-serif;
}
.co-record-domain { display: inline-flex; align-items: center; gap: 4px; color: #63706b; text-decoration: none; font: 400 12px/16px 'Geist', sans-serif; }
.co-record-domain:hover { color: #1b211f; text-decoration: underline; }
.co-record-domain .mdi { font-size: 13px; }
.co-record-wrap .cr-header-actions .cr-btn:first-child { width: 118px; }
.co-record-wrap .cr-header-actions .cr-btn:nth-child(2) { width: 77px; }
.co-record-wrap .cr-header-actions > .ct-btn-primary { width: 103px; }
.co-record-tabs { gap: 20px; }
.co-record-stats {
  height: 66px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden;
  margin-bottom: 16px; border: 1px solid #e1e7e4; border-radius: 8px; background: #fff;
}
.co-record-stats > div { display: flex; flex-direction: column; justify-content: center; padding: 0 15px; border-right: 1px solid #e1e7e4; }
.co-record-stats > div:last-child { border-right: 0; }
.co-record-stats b { color: #1b211f; font: 600 18px/24px 'Geist', sans-serif; letter-spacing: -0.2px; white-space: nowrap; }
.co-record-stats span { margin-top: 1px; color: #63706b; font: 600 10px/14px 'Geist', sans-serif; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.co-record-composer { margin-bottom: 16px; }
.co-record-person { min-height: 51px; display: flex; align-items: center; gap: 8px; padding: 7px 13px; cursor: pointer; }
.co-record-person:hover { background: #fbfcfc; }
.co-record-person-avatar { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; flex: 0 0 24px; border-radius: 50%; background: #eef2f0; color: #63706b; font: 600 9px/1 'Geist', sans-serif; }
.co-record-person b { display: block; color: #1b211f; font: 500 13px/17px 'Geist', sans-serif; }
.co-record-person small { display: block; color: #63706b; font: 400 11px/15px 'Geist', sans-serif; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 210px; }
.co-record-properties .cr-prop-row { min-height: 31px; height: auto; padding-top: 7px; padding-bottom: 7px; }
.co-record-properties .cr-prop-val { white-space: normal; line-height: 17px; }
@media (max-width: 620px) {
  #create-company-modal .cco-grid-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

/* Deal record: keep the reference's fixed 1144px three-column canvas at
   wide viewports instead of stretching the center card across spare space. */
.dr-body {
  grid-template-columns: 300px 524px 280px;
  justify-content: start;
}
.dr-record-nav { position: absolute; top: -38px; right: 0; display: inline-flex; align-items: center; gap: 10px; color: #63706b; font: 400 10px/16px 'Geist', system-ui, sans-serif; white-space: nowrap; }
.dr-record-nav span { color: #55605c; }.dr-record-nav .mdi { color: #63706b; font-size: 14px; }
.dr-actions .dr-mark-won { border-color: #0b7a50; background: #0b7a50; color: #fff; }.dr-actions .dr-mark-won .mdi { margin-right: 4px; }
.dr-line-heading { display: grid; grid-template-columns: 1fr 60px 82px; align-items: center; gap: 8px; }
.dr-line-heading span:nth-child(2), .dr-line-heading span:nth-child(3) { text-align: right; }
.dr-line-row { grid-template-columns: 1fr 60px 82px 24px; }.dr-line-row > span { text-align: right; }
.dr-properties { height: 429px; flex: 0 0 429px; }
.dr-property-list > div { height: 31px; min-height: 31px; display: grid; grid-template-columns: 98px minmax(0, 1fr); align-items: center; padding: 0 13px; }
.dr-property-list dt { margin: 0; color: #63706b; text-transform: none; letter-spacing: 0; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.dr-property-list dd { min-height: 0; margin: 0; color: #1b211f; font: 400 12px/16px 'Geist', system-ui, sans-serif; }
.dr-properties .dr-show-all { height: 36px; margin-top: 6px; background: #fff; border-top: 1px solid #eef2f0; text-align: left; padding: 0 13px; }
.dr-line-items { height: 267px; flex: 0 0 267px; }
.dr-line-empty { height: 153px; }
.dr-line-total { height: 39px; }
.dr-composer { height: 124px; }.dr-compose-tabs { height: 34px; }.dr-compose-tabs button { height: 34px; line-height: 32px; }.dr-compose-tabs button.active { margin: 5px 0 4px 5px; height: 26px; border: 1px solid #dce4e0; border-radius: 4px; background: #eef2f0; line-height: 24px; }
.dr-compose-placeholder { width: calc(100% - 28px); height: 30px; margin: 7px 14px 0; padding: 0; border: 0; border-radius: 0; background: transparent; }.dr-compose-link { right: auto; left: 18px; bottom: 12px; }
.dr-log-note { position: absolute; right: 14px; bottom: 9px; height: 28px; padding: 0 10px; border: 0; border-radius: 5px; background: #0b7a50; color: #fff; cursor: pointer; font: 500 11px/28px 'Geist', system-ui, sans-serif; }
.dr-side-card { min-height: 0; }.dr-side-empty { min-height: 53px; display: flex; align-items: center; padding: 12px 14px; }
@media (max-width: 1200px) { .dr-body { grid-template-columns: 260px 440px 240px; } }

/* AI pipeline: run queue, briefing and prospect portals */
.ap-wrap, .br-page, .pv-page { min-height: 100%; background: #fff; color: #1b211f; font-family: 'Geist', system-ui, sans-serif; }
.ap-wrap { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
.ap-wrap *, .br-page *, .pv-page * { box-sizing: border-box; }
.ap-header { height: 80px; flex: 0 0 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 15px 24px 12px; border-bottom: 1px solid #e1e7e4; }
.ap-title { display: flex; align-items: baseline; gap: 8px; }
.ap-title h1 { margin: 0; font: 600 20px/26px 'Geist', system-ui, sans-serif; letter-spacing: -.02em; }
.ap-count { color: #63706b; font: 500 12px/18px 'Geist Mono', monospace; }
.ap-header p { margin: 2px 0 0; color: #63706b; font: 400 13px/18px 'Geist', system-ui, sans-serif; }
.ap-subnav { display: flex; align-items: stretch; gap: 22px; height: 43px; flex: 0 0 43px; padding: 0 24px; border-bottom: 1px solid #e1e7e4; }
.ap-subnav-tab { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 0 2px; border: 0; background: transparent; color: #63706b; cursor: pointer; font: 500 13px/20px 'Geist', system-ui, sans-serif; }
.ap-subnav-tab.active { color: #1b211f; }.ap-subnav-tab.active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: #0b7a50; content: ''; }
.ap-draft-count { display: inline-flex; min-width: 18px; height: 18px; align-items: center; justify-content: center; padding: 0 5px; border-radius: 10px; background: #fff0df; color: #9a5500; font: 600 10px/18px 'Geist Mono', monospace; }
.ap-view { display: flex; flex: 1; flex-direction: column; min-height: 0; overflow: hidden; }
.ap-drafts-view { flex: 1; min-height: 0; overflow: auto; padding: 22px 24px 32px; background: #f7f9f8; }
.ap-drafts-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.ap-drafts-heading h2 { margin: 0; color: #1b211f; font: 600 18px/24px 'Geist', system-ui, sans-serif; }
.ap-drafts-heading p { margin: 4px 0 0; color: #63706b; font: 400 13px/19px 'Geist', system-ui, sans-serif; }
.ap-draft-list { display: grid; gap: 12px; max-width: 1040px; }
.ap-draft-card { padding: 16px 18px; border: 1px solid #dce4e0; border-radius: 9px; background: #fff; }
.ap-draft-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.ap-draft-copy { min-width: 0; }.ap-draft-copy h3 { margin: 0; color: #1b211f; overflow-wrap: anywhere; font: 600 14px/20px 'Geist', system-ui, sans-serif; }
.ap-draft-recipient { margin-top: 4px; color: #63706b; font: 400 12px/17px 'Geist', system-ui, sans-serif; overflow-wrap: anywhere; }
.ap-draft-status { flex: 0 0 auto; padding: 4px 8px; border-radius: 12px; font: 600 10px/14px 'Geist', system-ui, sans-serif; }
.ap-draft-status.pending { background: #fff0df; color: #925000; }.ap-draft-status.failed { background: #fde8e7; color: #a12722; }
.ap-draft-error { margin: 12px 0 0; color: #a12722; font: 400 12px/18px 'Geist', system-ui, sans-serif; }
.ap-draft-details { margin-top: 12px; border-top: 1px solid #edf1ef; padding-top: 10px; }.ap-draft-details summary { color: #087a4d; cursor: pointer; font: 500 12px/18px 'Geist', system-ui, sans-serif; }
.ap-draft-body { max-height: 300px; overflow: auto; margin-top: 9px; padding: 12px; border-radius: 6px; background: #f7f9f8; color: #36413d; white-space: pre-wrap; overflow-wrap: anywhere; font: 400 12px/18px 'Geist', system-ui, sans-serif; }
.ap-draft-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.ap-drafts-empty { display: flex; min-height: 220px; flex-direction: column; align-items: center; justify-content: center; padding: 28px; border: 1px dashed #cbd6d1; border-radius: 9px; background: #fff; color: #63706b; text-align: center; }
.ap-drafts-empty > i { color: #82908b; font-size: 28px; }.ap-drafts-empty h3 { margin: 8px 0 0; color: #26312d; font: 600 14px/20px 'Geist', system-ui, sans-serif; }.ap-drafts-empty p { margin: 5px 0 12px; font: 400 12px/18px 'Geist', system-ui, sans-serif; }
.ap-actions { display: flex; align-items: center; gap: 8px; }
.ap-button, .ap-icon-button, .ap-row-button, .ap-page-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 32px; border: 1px solid #dce4e0; border-radius: 6px; background: #fff; color: #26312d; cursor: pointer; white-space: nowrap; font: 500 13px/30px 'Geist', system-ui, sans-serif; }
.ap-button { padding: 0 12px; }.ap-icon-button { width: 32px; padding: 0; font-size: 17px; }.ap-button-primary { border-color: #0b7a50; background: #0b7a50; color: #fff; }.ap-button-secondary:hover, .ap-icon-button:hover, .ap-row-button:hover { background: #f3f6f4; }
.ap-stats { height: 66px; flex: 0 0 66px; display: grid; grid-template-columns: repeat(6, 1fr); margin: 0 24px; border: 1px solid #dce4e0; border-radius: 9px; overflow: hidden; }
.ap-stat { display: flex; flex-direction: column; justify-content: center; padding: 0 16px; border-right: 1px solid #dce4e0; }.ap-stat:last-child { border: 0; }.ap-stat strong { color: #1b211f; font: 600 19px/22px 'Geist Mono', monospace; }.ap-stat span { margin-top: 3px; color: #63706b; font: 600 10px/14px 'Geist', system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.ap-filters { min-height: 55px; display: flex; align-items: center; gap: 8px; padding: 12px 24px 8px; border-bottom: 1px solid #e1e7e4; }.ap-search { position: relative; width: 240px; }.ap-search i { position: absolute; top: 7px; left: 9px; color: #63706b; font-size: 16px; }.ap-search input, .ap-filters select { width: 100%; height: 28px; padding: 0 10px; border: 1px solid #dce4e0; border-radius: 6px; outline: 0; background: #fff; color: #36413d; font: 400 12px/26px 'Geist', system-ui, sans-serif; }.ap-search input { padding-left: 31px; }.ap-filters select { width: 140px; }.ap-auto-refine { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; color: #7a8581; font-size: 11px; }.ap-auto-refine input { display: none; }.ap-auto-refine span { position: relative; width: 28px; height: 16px; border-radius: 20px; background: #0b7a50; }.ap-auto-refine span::after { position: absolute; top: 2px; right: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; content: ''; }
.ap-table-wrap { flex: 1; min-height: 0; overflow: auto; }.ap-table { width: 100%; border-collapse: collapse; table-layout: fixed; }.ap-table th { height: 33px; padding: 0 12px; border-bottom: 1px solid #dce4e0; color: #82908b; text-align: left; font: 600 10px/14px 'Geist', system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }.ap-table td { height: 49px; padding: 7px 12px; border-bottom: 1px solid #edf1ef; color: #55605c; font: 400 12px/18px 'Geist', system-ui, sans-serif; vertical-align: middle; }.ap-table tr { cursor: pointer; }.ap-table tbody tr:hover { background: #f8faf9; }.ap-table th:first-child,.ap-table td:first-child { padding-left: 36px; }.ap-table th:nth-child(1) { width: 25%; }.ap-table th:nth-child(2) { width: 13%; }.ap-table th:nth-child(3) { width: 14%; }.ap-table th:nth-child(4) { width: 20%; }.ap-table th:nth-child(5) { width: 10%; }.ap-table th:nth-child(6) { width: 11%; }.ap-table th:last-child { width: 7%; }
.ap-prospect { display: flex; align-items: center; gap: 9px; }.ap-avatar, .ap-rep i { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: #e9efec; color: #63706b; font: 600 9px/1 'Geist', system-ui, sans-serif; font-style: normal; }.ap-prospect b { display: block; color: #1b211f; font: 500 13px/17px 'Geist', system-ui, sans-serif; }.ap-prospect small { display: block; overflow: hidden; max-width: 195px; color: #7a8581; text-overflow: ellipsis; white-space: nowrap; font: 400 10px/14px 'Geist', system-ui, sans-serif; }.ap-rep { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }.ap-rep i { width: 20px; height: 20px; font-size: 8px; }.ap-progress { display: inline-flex; gap: 3px; margin-right: 8px; vertical-align: middle; }.ap-progress i { width: 12px; height: 4px; border-radius: 4px; background: #dce4e0; }.ap-progress i.active { background: #7450ef; }.ap-phase-label { font-size: 10px; }.ap-phase-label.review { color: #8d5100; }.ap-phase-label.live { color: #5633cf; }.ap-source { color: #63706b !important; font-size: 10px !important; }.ap-research { color: #5633cf !important; font-family: 'Geist Mono', monospace !important; font-size: 10px !important; }.ap-row-button { height: 29px; padding: 0 10px; border-radius: 6px; font-size: 12px; line-height: 27px; }.ap-empty { height: 180px !important; text-align: center; color: #63706b !important; }.ap-pagination { height: 44px; flex: 0 0 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px 0 12px; border-top: 1px solid #edf1ef; color: #63706b; font: 400 12px/18px 'Geist', system-ui, sans-serif; }.ap-pagination > span:last-child { display: inline-flex; align-items: center; gap: 8px; }.ap-page-button { width: 28px; height: 28px; padding: 0; color: #63706b; }.ap-page-button:disabled { opacity: .45; }.ap-errors { margin: 8px 24px 18px; color: #63706b; font-size: 12px; }
.pp-warning { display: flex; align-items: center; gap: 10px; min-height: 48px; margin: 14px 24px 4px; padding: 8px 11px; border: 1px solid #f2c668; border-radius: 6px; background: #fff8e8; color: #925000; font: 400 12px/18px 'Geist', system-ui, sans-serif; }.pp-warning strong { font-weight: 600; }.pp-warning button { height: 28px; margin-left: auto; padding: 0 10px; border: 1px solid #dce4e0; border-radius: 6px; background: #fff; color: #26312d; font: 500 12px/26px 'Geist', system-ui, sans-serif; white-space: nowrap; }.pp-filters { padding-bottom: 12px; }.pp-filter-space { margin-left: auto; }.pp-status { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; }.pp-status i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }.pp-status.opened { color: #087a4d; }.pp-status.sent { color: #9a5500; }.pp-status.created { color: #b42318; }.pp-views { text-align: center; font-family: 'Geist Mono', monospace !important; }

.br-page { min-height: 100%; }.br-header { height: 99px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 24px; border-bottom: 1px solid #dce4e0; }.br-person { display: flex; align-items: center; gap: 12px; min-width: 0; }.br-avatar { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: #e8eeec; color: #31403a; font: 600 14px/1 'Geist', system-ui, sans-serif; }.br-breadcrumb { margin-bottom: 5px; color: #63706b; font: 400 11px/14px 'Geist', system-ui, sans-serif; }.br-breadcrumb i { color: #98a39f; font-size: 14px; vertical-align: -1px; }.br-name { display: flex; align-items: center; gap: 8px; }.br-name h1 { margin: 0; color: #1b211f; font: 600 20px/24px 'Geist', system-ui, sans-serif; }.br-name + div, #briefing-subtitle { margin-top: 3px; color: #63706b; font: 400 13px/18px 'Geist', system-ui, sans-serif; }.br-phase { display: inline-block; padding: 3px 8px; border: 1px solid color-mix(in srgb, var(--phase), transparent 62%); border-radius: 4px; background: color-mix(in srgb, var(--phase), white 90%); color: var(--phase); font: 500 11px/15px 'Geist', system-ui, sans-serif; }.br-header-actions { display: flex; align-items: center; gap: 8px; }.br-header-actions code { margin-right: 8px; color: #82908b; font: 400 10px/14px 'Geist Mono', monospace; }.br-layout { display: grid; grid-template-columns: 196px 608px 300px; gap: 20px; max-width: 1144px; margin: 18px auto; }.br-nav { padding-top: 1px; }.br-nav h2 { margin: 0 0 7px; padding-left: 10px; color: #82908b; font: 600 10px/14px 'Geist', system-ui, sans-serif; letter-spacing: .07em; text-transform: uppercase; }.briefing-side-tab { display: flex; align-items: center; gap: 8px; width: 100%; height: 31px; padding: 0 10px; border: 0; border-radius: 4px; background: transparent; color: #63706b; cursor: pointer; text-align: left; font: 400 13px/31px 'Geist', system-ui, sans-serif; }.briefing-side-tab i { width: 15px; color: #82908b; font-size: 15px; }.br-main { min-width: 0; }.br-snapshot-grid { display: grid; grid-template-columns: 228px 1fr; gap: 16px; margin-bottom: 16px; }.br-intent, .br-snapshot, .br-call-card, .br-sources, .br-agenda, .br-questions { border: 1px solid #dce4e0; border-radius: 8px; background: #fff; }.br-intent { min-height: 205px; padding: 15px; }.br-intent h2, .br-snapshot h2, .br-call-card h2, .br-sources h2, .br-agenda h2, .br-questions h2 { margin: 0; color: #1b211f; font: 600 14px/20px 'Geist', system-ui, sans-serif; }.br-intent > b { display: inline-block; margin: 12px 7px 10px 0; font: 600 25px/28px 'Geist Mono', monospace; }.br-intent > span { font-size: 12px; }.br-intent > i { display: block; height: 4px; margin-bottom: 12px; border-radius: 5px; background: #e6ece9; }.br-intent > i em { display: block; height: 100%; border-radius: inherit; background: #c77a00; }.br-intent small { display: inline-block; width: 78%; margin: 4px 0; color: #63706b; font-size: 10px; }.br-intent strong { float: right; margin-top: 4px; color: #1b211f; font: 400 10px/14px 'Geist Mono', monospace; }.br-snapshot header, .br-sources header, .br-agenda header, .br-questions header { padding: 12px 15px 10px; border-bottom: 1px solid #edf1ef; }.br-snapshot header small, .br-sources header small, .br-agenda header small, .br-questions header small { display: block; margin-top: 2px; color: #63706b; font-size: 10px; }.br-snapshot > div { padding: 11px 15px; }.br-snapshot > div > div { display: grid; grid-template-columns: 92px 1fr; gap: 4px; margin: 8px 0; font-size: 12px; }.br-snapshot span { color: #63706b; }.br-snapshot strong { font-weight: 500; }.br-fit { padding: 0 15px 13px; }.br-side { min-width: 0; }.br-call-card { overflow: hidden; margin-bottom: 16px; border-color: #bda9ff; background: #f8f5ff; }.br-call-card h2 { padding: 12px 15px; border-bottom: 1px solid #cdbdff; color: #5134bf; }.br-call-card h2 i { margin-right: 6px; }.br-call-card > div { padding: 11px 15px; }.br-call-card small { color: #6f7774; font: 600 10px/14px 'Geist', system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }.br-call-card p { margin: 3px 0 12px; color: #303936; font: 400 12px/17px 'Geist', system-ui, sans-serif; }.br-call-card p:last-child { margin-bottom: 0; }.br-sources { overflow: hidden; }.br-source-row { display: grid; grid-template-columns: 16px 1fr auto; gap: 8px; align-items: start; padding: 10px 15px; border-bottom: 1px solid #edf1ef; }.br-source-row:last-child { border-bottom: 0; }.br-source-row > i { color: #0b7a50; font-size: 14px; }.br-source-row a, .br-source-row span { display: block; overflow: hidden; color: #26312d; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }.br-source-row small { color: #63706b; font-size: 10px; }.br-source-row em { padding: 2px 5px; border-radius: 3px; background: #eef2f0; color: #63706b; font: 400 9px/12px 'Geist', system-ui, sans-serif; font-style: normal; }.br-discovery { display: flex; flex-direction: column; gap: 16px; }.br-agenda, .br-questions { overflow: hidden; }.br-agenda > div { display: grid; grid-template-columns: 80px 12px 1fr; gap: 8px; align-items: center; min-height: 36px; padding: 0 15px; border-bottom: 1px solid #edf1ef; }.br-agenda code { color: #63706b; font: 400 10px/14px 'Geist Mono', monospace; }.br-agenda > div > i { width: 3px; height: 16px; border-radius: 3px; background: #dce4e0; }.br-agenda > div > i.active { background: #7450ef; }.br-agenda > div > span { font-size: 12px; }.br-question { border-bottom: 1px solid #edf1ef; }.br-question h3 { margin: 0; padding: 10px 15px 4px; color: #63706b; font: 600 10px/14px 'Geist', system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }.br-question h3 span { margin-left: 4px; color: #98a39f; }.br-question button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; padding: 5px 15px; border: 0; background: #fff; color: #26312d; cursor: pointer; text-align: left; font: 400 13px/18px 'Geist', system-ui, sans-serif; }.br-question button i { color: #63706b; }.br-question > small { display: block; padding: 0 15px 10px; color: #82908b; font-size: 10px; }

.pv-page { min-height: 100vh; background: #f7f9f8; }.pv-topbar { height: 66px; display: flex; align-items: center; justify-content: space-between; padding: 0 40px; border-bottom: 1px solid #dce4e0; background: #fff; }.pv-brand { display: flex; align-items: center; gap: 11px; }.pv-brand > span { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 6px; background: #0b7a50; color: #fff; font: 600 12px/1 'Geist', system-ui, sans-serif; }.pv-brand b { display: block; font-size: 13px; }.pv-brand small, .pv-private { color: #63706b; font-size: 10px; }.pv-private i { margin-right: 4px; }.pv-toolbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; max-width: 760px; min-height: 54px; margin: 0 auto; }.pv-toolbar > :last-child { justify-self: end; }.pv-content { width: 760px; max-width: calc(100% - 32px); margin: 31px auto 0; }.pv-guest .pv-toolbar { display: none; }.pv-guest .pv-content { margin-top: 35px; }.pv-content > h1 { margin: 0; color: #202825; font: 600 24px/30px 'Geist', system-ui, sans-serif; letter-spacing: -.025em; }.pv-meta { margin: 6px 0 21px; color: #63706b; font: 400 13px/18px 'Geist', system-ui, sans-serif; }.pv-card { overflow: hidden; margin-bottom: 20px; border: 1px solid #dce4e0; border-radius: 8px; background: #fff; }.pv-card > header { padding: 15px 19px 12px; border-bottom: 1px solid #edf1ef; }.pv-card h2 { margin: 0; color: #26312d; font: 600 14px/20px 'Geist', system-ui, sans-serif; }.pv-card header small { display: block; margin-top: 2px; color: #63706b; font-size: 11px; }.pv-summary, .pv-card-copy > div { padding: 13px 19px; color: #55605c; font: 400 13px/20px 'Geist', system-ui, sans-serif; }.pv-takeaways > div { padding: 11px 19px; border-top: 1px solid #edf1ef; }.pv-takeaways b, .pv-answer-row b { color: #26312d; font: 500 13px/18px 'Geist', system-ui, sans-serif; }.pv-takeaways p, .pv-answer-row p { margin: 2px 0 0; color: #55605c; font: 400 13px/19px 'Geist', system-ui, sans-serif; }.pv-answer-row { padding: 14px 19px; border-bottom: 1px solid #edf1ef; }.pv-answer-row:last-child { border: 0; }.pv-pricing { width: 100%; border-collapse: collapse; }.pv-pricing th { height: 35px; padding: 0 19px; background: #fbfcfc; color: #82908b; text-align: left; font: 600 10px/14px 'Geist', system-ui, sans-serif; letter-spacing: .05em; text-transform: uppercase; }.pv-pricing th:last-child, .pv-pricing td:last-child { text-align: right; }.pv-pricing td { padding: 10px 19px; border-top: 1px solid #edf1ef; color: #55605c; font-size: 13px; }.pv-pricing td:first-child { color: #26312d; }.pv-pricing td:last-child { color: #26312d; font-family: 'Geist Mono', monospace; }.pv-pricing tr.recommended { background: #e1f4ea; }.pv-pricing tr.recommended td:first-child { color: #087a4d; }.pv-pricing span { display: inline-block; margin-left: 8px; padding: 2px 6px; border: 1px solid #7fc9a5; border-radius: 3px; color: #087a4d; font-size: 10px; }.pv-footer { padding: 28px 0 34px; color: #82908b; text-align: center; font-size: 11px; }
@media (max-width: 1040px) { .br-layout { grid-template-columns: 180px minmax(420px, 1fr); margin: 16px 24px; }.br-side { display: none; } }
@media (max-width: 760px) { .ap-header { height: auto; align-items: flex-start; padding: 14px; }.ap-subnav { padding: 0 14px; }.ap-drafts-view { padding: 16px 14px 24px; }.ap-draft-card { padding: 13px; }.ap-draft-card-head { flex-direction: column; }.ap-actions { flex-wrap: wrap; justify-content: flex-end; }.ap-stats { grid-template-columns: repeat(3, 1fr); height: auto; margin: 0 14px; }.ap-stat { min-height: 58px; }.ap-filters { padding: 10px 14px; flex-wrap: wrap; }.ap-search { width: 100%; }.ap-auto-refine { margin-left: 0; }.ap-table { min-width: 840px; }.br-header { height: auto; align-items: flex-start; padding: 12px; }.br-header-actions code { display: none; }.br-layout { display: block; margin: 14px; }.br-nav { display: flex; overflow-x: auto; margin-bottom: 12px; }.br-nav h2 { display: none; }.briefing-side-tab { width: auto; flex: 0 0 auto; }.br-snapshot-grid { grid-template-columns: 1fr; }.pv-topbar { padding: 0 18px; }.pv-private { display: none; }.pv-content { margin-top: 23px; } }

/* ---------- Tasks: Tasks — Queue.svg and Task detail (drawer).svg ---------- */
.tq-wrap { min-height: 100%; background: #f6f8f7; color: #1b211f; font-family: 'Geist', system-ui, sans-serif; }
.tq-wrap * { box-sizing: border-box; }
.tq-header { height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; background: #fff; }
.tq-header h1 { margin: 0; font: 600 20px/28px 'Geist', sans-serif; letter-spacing: -.3px; }
.tq-header h1 span { color: #63706b; font: 400 13px/18px 'Geist Mono', monospace; }
.tq-header > div { display: flex; gap: 8px; align-items: center; }
.tq-more, .tq-sliders { width: 28px; height: 28px; border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #55605c; }
.tq-tabs { height: 40px; display: flex; gap: 20px; align-items: end; padding: 0 24px; background: #fff; border-bottom: 1px solid #e1e7e4; }
.tq-wrap .task-view-tab { height: 40px; padding: 0 31px; border: 0; border-bottom: 2px solid transparent; background: none; color: #55605c; font: 500 13px/38px 'Geist', sans-serif; cursor: pointer; }
.tq-wrap .task-view-tab:first-child { padding-left: 31px; }
.tq-wrap .task-view-tab.active { color: #1b211f; border-bottom-color: #0b7a50; }
.tq-wrap .task-view-tab span { margin-left: 5px; color: #63706b; font: 400 11px/16px 'Geist Mono', monospace; }
.tq-filters { height: 54px; display: flex; align-items: center; gap: 8px; padding: 0 24px; background: #fff; border-bottom: 1px solid #e1e7e4; }
.tq-filters label { width: 220px; height: 28px; display: flex; align-items: center; gap: 7px; padding: 0 9px; border: 1px solid #e1e7e4; border-radius: 6px; color: #63706b; }
.tq-filters label input { min-width: 0; flex: 1; border: 0; outline: 0; color: #1b211f; font: 400 12px/16px 'Geist', sans-serif; }
.tq-filters select { height: 28px; border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #1b211f; padding: 0 28px 0 9px; font: 400 12px/1 'Geist', sans-serif; }
.tq-filter-add { height: 28px; padding: 0 10px; border: 1px dashed #cad3cf; border-radius: 6px; background: #fff; color: #55605c; font: 400 12px/1 'Geist', sans-serif; }
.tq-group-select { margin-left: auto; width: 180px; }
.tq-body { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 20px; padding: 16px 24px 20px; }
.tq-groups { overflow: hidden; border: 1px solid #e1e7e4; border-radius: 8px; background: #fff; }
.tq-loading { height: 180px; display: grid; place-items: center; }
.tq-group + .tq-group { border-top: 1px solid #eef2f0; }
.tq-wrap .task-group-label { height: 31px; padding: 0 13px; display: flex; align-items: center; gap: 7px; background: #fbfcfc; color: #63706b; font: 600 11px/16px 'Geist', sans-serif; letter-spacing: .05em; }
.tq-wrap .task-group-label.overdue { background: #fef0ef; color: #8c2018; }
.tq-wrap .task-group-label span { font-family: 'Geist Mono', monospace; font-weight: 400; }
.tq-wrap .task-row { height: 56px; display: flex; align-items: center; gap: 9px; padding: 0 13px; border-bottom: 1px solid #eef2f0; background: #fff; }
.tq-wrap .task-row:last-child { border-bottom: 0; }
.tq-wrap .task-row:hover { background: #f6f8f7; }
.tq-wrap .task-row input { width: 15px; height: 15px; margin: 0; accent-color: #0b7a50; }
.tq-priority { width: 5px; height: 5px; border-radius: 50%; background: #f0bb4c; }
.tq-priority.high { background: #d63b32; }.tq-priority.low { background: #8b9793; }
.tq-type { color: #63706b; font-size: 15px; }
.tq-wrap .task-title { flex: 1; min-width: 0; color: #1b211f; font: 500 13px/18px 'Geist', sans-serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tq-wrap .task-title.done { color: #8b9793; text-decoration: line-through; }
.tq-wrap .task-company { width: 205px; display: flex; align-items: center; gap: 7px; overflow: hidden; color: #55605c; font: 400 11px/16px 'Geist', sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.tq-wrap .task-company span, .tq-wrap .task-assignee { width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; border-radius: 5px; background: #eef2f0; color: #63706b; font: 500 9px/1 'Geist', sans-serif; flex: 0 0 auto; }
.tq-wrap .task-assignee { border-radius: 50%; }
.tq-wrap .task-meta { width: 72px; color: #63706b; text-align: right; font: 400 11px/16px 'Geist', sans-serif; white-space: nowrap; }
.tq-side { display: flex; flex-direction: column; gap: 16px; }
.tq-side-card { overflow: hidden; border: 1px solid #e1e7e4; border-radius: 8px; background: #fff; }
.tq-side-card h4 { height: 43px; margin: 0; padding: 0 13px; display: flex; align-items: center; border-bottom: 1px solid #eef2f0; color: #1b211f; font: 600 14px/20px 'Geist', sans-serif; text-transform: none; letter-spacing: 0; }
.tq-side-card .sidebar-item { min-height: 53px; display: flex; gap: 8px; padding: 8px 13px; border-bottom: 1px solid #eef2f0; }
.tq-side-card .si-dot { width: 5px; height: 5px; margin-top: 7px; border-radius: 50%; background: #d63b32; }.tq-side-card .si-dot.blue { background: #7b61d1; }
.tq-side-card .si-title { color: #1b211f; font: 500 13px/17px 'Geist', sans-serif; }.tq-side-card .si-sub { color: #63706b; font: 400 11px/15px 'Geist', sans-serif; }
.tq-wrap .pagination { margin: 0 24px 20px; }
.task-flyout-backdrop { position: fixed; inset: 0; z-index: 199; background: rgba(27,33,31,.28); }
.task-flyout { position: fixed; top: 0; right: 0; z-index: 200; width: 440px; height: 100vh; padding: 16px 18px 12px; overflow-y: auto; transform: translateX(100%); transition: transform .18s ease; background: #fff; border-left: 1px solid #e1e7e4; box-shadow: -8px 0 24px rgba(27,33,31,.12); }
.task-flyout.open { transform: translateX(0); }
.td-head { min-height: 55px; display: flex; align-items: flex-start; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid #e1e7e4; }.td-head input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: #0b7a50; }.td-head > div { flex: 1; min-width: 0; }.td-head h2 { margin: 0; color: #1b211f; font: 600 16px/20px 'Geist', sans-serif; }.td-head p { margin: 3px 0 0; color: #63706b; font: 400 12px/16px 'Geist', sans-serif; }.td-head button { width: 24px; height: 24px; padding: 0; border: 0; background: none; color: #55605c; }
.td-fields { padding: 12px 0; border-bottom: 1px solid #e1e7e4; }.td-fields > div { min-height: 36px; display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: center; gap: 0; }.td-fields span { color: #63706b; font: 400 12px/16px 'Geist', sans-serif; }.td-fields select { width: 100%; height: 28px; border: 1px solid #e1e7e4; border-radius: 6px; padding: 0 8px; background: #fff; color: #1b211f; font: 400 12px/1 'Geist', sans-serif; }.td-fields b { color: #1b211f; font: 400 13px/18px 'Geist', sans-serif; }.td-fields b i { width: 6px; height: 6px; display: inline-block; margin-right: 6px; border-radius: 50%; background: #f0bb4c; }.td-fields b.high i { background: #d63b32; }.td-fields b.low i { background: #8b9793; }.td-fields .td-due { color: #a32920; }
.td-notes { padding: 14px 0; border-bottom: 1px solid #e1e7e4; }.td-notes h3 { margin: 0 0 7px; color: #63706b; font: 500 12px/16px 'Geist', sans-serif; }.td-notes p { margin: 0; color: #1b211f; font: 400 13px/18px 'Geist', sans-serif; }.td-foot { position: sticky; bottom: -12px; display: flex; align-items: center; justify-content: space-between; min-height: 56px; margin: 0 -18px; padding: 0 18px; background: #eef2f0; }.td-foot > button:first-child { padding: 0; border: 0; background: none; color: #a32920; font: 500 12px/16px 'Geist', sans-serif; }
.td-subtasks { padding: 14px 0 10px; border-bottom: 1px solid #e1e7e4; }
.td-subtasks-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; }.td-subtasks-head h3 { margin:0; color:#63706b; font:500 12px/16px 'Geist',sans-serif; }.td-subtasks-head span { color:#63706b; font:400 10px/16px 'Geist Mono',monospace; }
.td-subtask { min-height:28px; display:flex; align-items:center; gap:8px; color:#1b211f; font:400 12px/17px 'Geist',sans-serif; cursor:pointer; }.td-subtask input { width:15px; height:15px; margin:0; accent-color:#0b7a50; }.td-subtask.done span { color:#63706b; text-decoration:line-through; }
.td-subtask-add { height:28px; display:flex; align-items:center; gap:7px; margin-top:5px; color:#63706b; }.td-subtask-add input { min-width:0; flex:1; border:0; outline:0; color:#1b211f; font:400 12px/16px 'Geist',sans-serif; }.td-subtask-add button { padding:0; border:0; background:transparent; color:#0b7a50; font:500 11px/16px 'Geist',sans-serif; cursor:pointer; }

/* Calls & Meetings */
.cl-shell { min-height:100%; background:#fff; color:#1b211f; font-family:'Geist',system-ui,sans-serif; }.cl-shell .cl-header { height:80px; margin:0!important; padding:15px 24px 8px; background:#fff; }.cl-shell .cl-title { color:#1b211f!important; font:600 20px/26px 'Geist',sans-serif!important; }.cl-shell .cl-title span,.cl-shell .cl-tabs span { color:#63706b; font:400 11px/16px 'Geist Mono',monospace; }.cl-shell .cl-subtitle { color:#63706b!important; font:400 12px/16px 'Geist',sans-serif!important; }.cl-shell .cl-actions { gap:8px; }.cl-shell .cl-actions .cl-search { display:none; }
.cl-tabs { height:40px; display:flex; gap:20px; padding:0 24px; border-bottom:1px solid #e1e7e4; background:#fff; }.cl-tabs button { height:40px; padding:0 23px; border:0; border-bottom:2px solid transparent; background:transparent; color:#55605c; font:500 12px/38px 'Geist',sans-serif; cursor:pointer; }.cl-tabs button.active { color:#1b211f; border-bottom-color:#0b7a50; }
.cl-controls { height:55px; display:flex; align-items:center; gap:8px; padding:0 24px; border-bottom:1px solid #e1e7e4; background:#fff; }.cl-controls .cl-search,.cl-controls select,.cl-controls button { height:28px; border:1px solid #e1e7e4; border-radius:6px; background:#fff; color:#55605c; font:400 12px/1 'Geist',sans-serif; }.cl-controls .cl-search { width:220px; padding:0 9px; }.cl-controls select { width:140px; padding:0 9px; }.cl-controls button { padding:0 9px; cursor:pointer; }.cl-controls button:first-of-type { margin-left:auto; }
.cl-shell .cl-coverage-bar { height:37px; margin:0!important; padding:0 24px!important; border:0!important; border-radius:0!important; background:#eef2f0!important; color:#55605c; font:400 10px/16px 'Geist',sans-serif!important; }.cl-shell .cl-wrap { border:0!important; border-radius:0!important; }.cl-shell .cl-table { font-size:12px!important; }.cl-shell .cl-table thead th { height:32px; padding:0 12px!important; background:#fbfcfc!important; color:#82908b!important; font:600 9px/16px 'Geist',sans-serif!important; }.cl-shell .cl-table td { height:41px; padding:5px 12px!important; border-bottom:1px solid #eef2f0!important; }.cl-shell .cl-company-avatar { width:24px!important; height:24px!important; border-radius:6px!important; background:#eef2f0!important; color:#63706b!important; }.cl-shell .cl-company-name { font:500 12px/15px 'Geist',sans-serif!important; }.cl-shell .cl-company-email { font:400 10px/13px 'Geist',sans-serif!important; }.cl-shell .cl-phase-badge,.cl-shell .cl-sal-badge { padding:0!important; border:0!important; background:transparent!important; font:400 11px/16px 'Geist',sans-serif!important; }.cl-bulk { position:fixed; z-index:80; bottom:24px; left:50%; transform:translateX(-50%); }
.cl-columns-backdrop { position:fixed; inset:0; z-index:250; display:grid; place-items:center; background:rgba(27,33,31,.4); }.cl-columns-modal { width:560px; height:640px; display:flex; flex-direction:column; overflow:hidden; border-radius:12px; background:#fff; box-shadow:0 18px 40px rgba(27,33,31,.2); }.cl-columns-modal header { min-height:71px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; border-bottom:1px solid #eef2f0; }.cl-columns-modal h2 { margin:0; font:600 14px/20px 'Geist',sans-serif; }.cl-columns-modal p { margin:2px 0 0; color:#63706b; font-size:10px; }.cl-columns-modal header button { border:0; background:none; color:#63706b; }.cl-columns-modal > input { height:28px; margin:12px 20px; padding:0 9px; border:1px solid #e1e7e4; border-radius:6px; }.cl-columns-modal > div { flex:1; overflow:auto; padding:0 12px; }.cl-columns-modal label { height:34px; display:flex; align-items:center; gap:10px; padding:0 8px; font:400 12px/16px 'Geist',sans-serif; }.cl-columns-modal label span { flex:1; }.cl-columns-modal label .mdi { color:#63706b; }.cl-columns-modal footer { min-height:62px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; background:#eef2f0; }.cl-columns-modal footer button { height:32px; margin-left:8px; padding:0 10px; border:1px solid #e1e7e4; border-radius:6px; background:#fff; color:#55605c; font:500 11px/1 'Geist',sans-serif; }.cl-columns-modal footer .ct-btn-primary { border-color:#0b7a50; background:#0b7a50; color:#fff; }
.call-detail { min-height:100%; background:#f6f8f7; color:#1b211f; font-family:'Geist',system-ui,sans-serif; }.call-detail header { height:112px; display:flex; align-items:center; gap:14px; padding:0 24px; border-bottom:1px solid #e1e7e4; background:#fff; }.call-detail header > button { height:32px; padding:0 10px; border:1px solid #e1e7e4; border-radius:6px; background:#fff; }.call-detail header > button:first-child { align-self:flex-start; margin-top:14px; border:0; padding:0; color:#63706b; }.call-detail h1 { margin:0; font:600 20px/28px 'Geist',sans-serif; }.call-detail header p { margin:4px 0 0; color:#63706b; font-size:11px; }.call-detail header > span { flex:1; }.call-detail main { display:grid; grid-template-columns:minmax(0,804px) 280px; gap:24px; padding:20px 24px; }.call-detail main > div { display:flex; flex-direction:column; gap:16px; }.call-player,.call-summary,.call-transcript,.call-detail aside { border:1px solid #e1e7e4; border-radius:8px; background:#fff; }.call-player { height:139px; display:flex; align-items:center; gap:18px; padding:16px; }.call-player button { width:40px; height:40px; border:0; border-radius:50%; background:#0b7a50; color:#fff; }.call-player > i { flex:1; height:28px; background:repeating-linear-gradient(90deg,#0b7a50 0 3px,transparent 3px 7px); opacity:.7; }.call-player small { color:#63706b; }.call-summary { padding:16px; border-color:#c9bbfa; background:#f3f0fe; }.call-summary h2,.call-transcript h2 { margin:0 0 10px; font:600 13px/18px 'Geist',sans-serif; }.call-summary h2 { color:#5134bf; }.call-summary p,.call-transcript p { margin:0; color:#63706b; font-size:12px; }.call-transcript { min-height:300px; padding:16px; }.call-transcript small { color:#63706b; font-weight:400; }.call-detail aside { padding:16px; }.call-detail aside h3 { margin:0 0 12px; color:#63706b; font:600 10px/14px 'Geist',sans-serif; letter-spacing:.06em; text-transform:uppercase; }.call-detail aside p { display:grid; grid-template-columns:1fr 1fr; margin:0 0 10px; font-size:12px; }.call-detail aside p span { color:#63706b; }.call-detail aside p b { font-weight:500; }
@media (max-width: 1100px) { .call-detail main { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 640px) { .call-detail header { height: auto; flex-wrap: wrap; padding: 14px; gap: 8px; } .call-detail header > span { display: none; } .call-detail header > button:not(:first-child) { flex: 0 0 auto; } .call-detail main { padding: 14px; gap: 14px; } }

/* ---------- Activities: Activities — Feed.svg ---------- */
.af-wrap, .lo-wrap, .gl-wrap { min-height: 100%; background: #f6f8f7; color: #1b211f; font-family: 'Geist', system-ui, sans-serif; }
.af-wrap *,.lo-wrap *,.gl-wrap * { box-sizing: border-box; }
.af-wrap .page-header, .lo-wrap .page-header, .gl-wrap .page-header { height: 60px; margin: 0; padding: 0 24px; background: #fff; border: 0; align-items: center; flex-wrap: nowrap; }
.af-wrap .page-header h1, .lo-wrap .page-header h1, .gl-wrap .page-header h1 { margin: 0; color: #1b211f; font: 600 20px/28px 'Geist', sans-serif; letter-spacing: -.3px; }
.af-wrap .page-header h1 span, .lo-wrap .page-header h1 span { color: #63706b; font: 400 13px/18px 'Geist Mono', monospace; }
.af-wrap .page-header-actions, .lo-wrap .page-header-actions, .gl-wrap .page-header-actions { gap: 8px; }
.af-more,.lo-more { width: 28px; height: 28px; padding: 0; border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #55605c; }
.af-wrap .btn-primary,.lo-wrap .btn-primary,.gl-wrap .btn-primary { height: 32px; border-radius: 6px; padding: 0 12px; font: 500 13px/16px 'Geist', sans-serif; }
.af-wrap > div:nth-of-type(2), .lo-wrap > div:nth-of-type(2) { height: 40px; display: flex !important; align-items: end; gap: 20px !important; padding: 0 24px; margin: 0 !important; background: #fff; border-bottom: 1px solid #e1e7e4 !important; }
.af-wrap .act-view-tab, .lo-wrap .list-view-tab { height: 40px; padding: 0 31px; border: 0; border-bottom: 2px solid transparent; background: none; color: #55605c; font: 500 13px/38px 'Geist', sans-serif; }
.af-wrap .act-view-tab.active, .lo-wrap .list-view-tab.active { color: #1b211f; border-bottom-color: #0b7a50; }
.af-wrap .act-view-tab span, .lo-wrap .list-view-tab span { color: #63706b !important; font: 400 11px/16px 'Geist Mono', monospace; }
.af-filters { height: 54px; padding: 0 24px; margin: 0 !important; background: #fff; border-bottom: 1px solid #e1e7e4; }
.af-filters label { width: 220px; height: 28px; display: flex; align-items: center; gap: 7px; padding: 0 9px; border: 1px solid #e1e7e4; border-radius: 6px; color: #63706b; }
.af-filters label input { flex: 1; min-width: 0; border: 0; outline: 0; font: 400 12px/16px 'Geist', sans-serif; }
.af-wrap .form-control, .lo-wrap .form-control { height: 28px !important; border-color: #e1e7e4; border-radius: 6px; font: 400 12px/1 'Geist', sans-serif; }
.af-wrap .co-add-filter-btn, .lo-wrap .co-add-filter-btn { height: 28px; border: 1px dashed #cad3cf; border-radius: 6px; background: #fff; color: #55605c; font: 400 12px/1 'Geist', sans-serif; }
.af-wrap #act-groups { margin: 16px 24px 20px; overflow: hidden !important; border: 1px solid #e1e7e4; border-radius: 8px; background: #fff; box-shadow: none; }
.af-wrap .act-group-label { height: 31px; padding: 0 13px; display: flex; align-items: center; background: #fbfcfc; color: #63706b; font: 600 11px/16px 'Geist', sans-serif; letter-spacing: .05em; }
.af-wrap .act-row { height: 45px; display: grid; grid-template-columns: 24px minmax(220px,1fr) 210px 150px 24px 52px; padding: 0 13px; gap: 10px; border-bottom: 1px solid #eef2f0; background: #fff; }
.af-wrap .act-row:hover { background: #f6f8f7; }.af-wrap .act-icon { width: 24px; height: 24px; font-size: 12px; }
.af-wrap .act-title { font: 500 13px/18px 'Geist', sans-serif; }.af-wrap .act-sub { display: none; }
.af-wrap .act-related { display: flex; align-items: center; gap: 7px; overflow: hidden; color: #55605c; font: 400 11px/16px 'Geist', sans-serif; white-space: nowrap; text-overflow: ellipsis; }.af-wrap .act-related span { width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 5px; background: #eef2f0; color: #63706b; font-size: 8px; }
.af-wrap .act-badge { padding: 0; background: none !important; color: #63706b !important; font: 400 11px/16px 'Geist', sans-serif; text-transform: none; }
.af-wrap .act-owner { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #eef2f0; color: #63706b; font: 500 9px/1 'Geist', sans-serif; }.af-wrap .act-time { color: #63706b; font: 400 11px/16px 'Geist', sans-serif; text-align: right; white-space: nowrap; }
.af-wrap .pagination { margin: 0 24px 20px; }

/* ---------- Goals: same canvas/header as Activities & Lists ---------- */
.gl-wrap #goals-list { padding: 16px 24px 20px; }

/* ---------- Lists: Lists — Overview.svg ---------- */
.lo-wrap .table-wrapper { margin: 16px 24px 20px; overflow: hidden; border: 1px solid #e1e7e4; border-radius: 8px; box-shadow: none; background: #fff; }
.lo-wrap .table-container { overflow: visible; }.lo-wrap table { border-collapse: collapse; background: #fff; }
.lo-wrap thead { background: #fbfcfc; }.lo-wrap th { height: 32px; padding: 0 13px; color: #8b9793; font: 600 10px/16px 'Geist', sans-serif; letter-spacing: .05em; }
.lo-wrap td { height: 49px; padding: 7px 13px; border-color: #eef2f0; color: #55605c; font: 400 12px/16px 'Geist', sans-serif; }
.lo-wrap td:first-child > div:first-child { color: #1b211f; font: 500 13px/17px 'Geist', sans-serif !important; }
.lo-wrap td:first-child > div:nth-child(2) { font: 400 11px/15px 'Geist', sans-serif !important; }
.lo-wrap .list-type-badge { display: inline-flex; align-items: center; gap: 5px; padding: 0; background: none !important; color: #55605c !important; font: 400 12px/16px 'Geist', sans-serif; }
.lo-wrap .list-type-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #2e74d7; }.lo-wrap .list-type-badge.static::before { background: #63706b; }
@media (max-width: 980px) { .tq-body { grid-template-columns: 1fr; }.tq-side { display: none; }.tq-wrap .task-company { width: 150px; } }

/* ---------- Lists: Lists — Smart list builder.svg ---------- */
#create-list-overlay { padding: 0; background: rgba(27,33,31,.42); font-family: 'Geist', system-ui, sans-serif; }
#create-list-overlay .list-builder-modal { width: 720px; height: 537px; max-width: calc(100vw - 40px); display: flex; flex-direction: column; overflow: hidden; border: 0; border-radius: 12px; box-shadow: 0 12px 32px rgba(27,33,31,.18); }
#create-list-overlay .modal-header { height: 60px; flex: 0 0 60px; padding: 0 20px; border-bottom: 1px solid #eef2f0; } #create-list-overlay .modal-header h3 { font: 600 16px/20px 'Geist', sans-serif; }
#create-list-overlay .modal-body { flex: 1; padding: 18px 20px 16px; overflow-y: auto; } #create-list-overlay .modal-footer { height: 61px; flex: 0 0 61px; padding: 0 20px; background: #eef2f0; border: 0; }
.lb-top-grid { display: grid; grid-template-columns: minmax(0,1fr) 220px; gap: 12px; }.lb-top-grid .form-group { margin: 0; }.lb-top-grid .form-label { margin-bottom: 5px; color: #55605c; font: 400 12px/16px 'Geist', sans-serif; }.lb-top-grid .form-control { height: 32px; border-color: #e1e7e4; border-radius: 6px; font: 400 13px/30px 'Geist', sans-serif; }
.lb-type-toggle { height: 32px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid #e1e7e4; border-radius: 6px; background: #eef2f0; }.lb-type-toggle button { border: 0; background: transparent; color: #55605c; font: 500 12px/1 'Geist', sans-serif; }.lb-type-toggle #list-type-smart { margin: 2px; border-radius: 4px; background: #fff; color: #1b211f; box-shadow: 0 1px 2px rgba(27,33,31,.08); }
.lb-explainer { margin: 12px 0 16px; color: #63706b; font: 400 11px/16px 'Geist', sans-serif; }.lb-condition-box { padding: 12px 13px; border-radius: 8px; background: #eef2f0; }.lb-condition-intro { margin-bottom: 10px; color: #1b211f; font: 400 13px/18px 'Geist', sans-serif; }.lb-condition-intro select { height: 26px; margin: 0 4px; border: 1px solid #e1e7e4; border-radius: 5px; background: #fff; padding: 0 8px; font: inherit; }
#create-list-overlay .condition-row { display: grid; grid-template-columns: 210px 160px minmax(0,1fr) 18px; align-items: center; gap: 8px; margin-bottom: 8px; }.condition-row .form-control { width: 100% !important; height: 28px !important; padding: 0 8px; border-color: #e1e7e4; border-radius: 6px; background: #fff; font: 400 12px/1 'Geist', sans-serif; }.condition-row .condition-remove { width: 18px; padding: 0; color: #63706b; }
.lb-condition-actions { display: flex; gap: 16px; margin-top: 2px; }.lb-condition-actions button { height: 28px; padding: 0 10px; border: 0; background: none; color: #55605c; font: 500 12px/1 'Geist', sans-serif; }.lb-condition-actions button:first-child { border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #1b211f; }
#create-list-overlay .match-preview { min-height: 64px; display: flex; align-items: center; gap: 10px; margin-top: 16px; padding: 10px 13px; border: 1px solid #94b9ff; border-radius: 6px; background: #eaf1fe; color: #17429a; }.match-preview > i { font-size: 18px; }.match-preview span { flex: 1; font: 400 12px/16px 'Geist', sans-serif; }.match-preview strong { margin-right: 5px; font: 600 18px/20px 'Geist', sans-serif; }.match-preview small { display: block; margin-top: 2px; color: #63706b; font: 400 10px/14px 'Geist', sans-serif; }.match-preview button { border: 0; background: none; color: #17429a; font: 500 12px/16px 'Geist', sans-serif; }
.lb-footer { justify-content: flex-end; gap: 18px; }.lb-footer .btn { height: 32px; border-radius: 6px; font: 500 13px/1 'Geist', sans-serif; }.lb-enroll { margin-right: auto; display: flex; align-items: center; gap: 8px; color: #55605c; font: 400 13px/18px 'Geist', sans-serif; }.lb-enroll input { width: 16px; height: 16px; accent-color: #0b7a50; }

/* ---------- Activities: Activities — Log activity (modal).svg ---------- */
#log-activity-overlay { padding: 0; background: rgba(27,33,31,.42); font-family: 'Geist', system-ui, sans-serif; }
#log-activity-overlay .activity-log-modal { width: 600px; height: 636px; max-width: calc(100vw - 40px); display: flex; flex-direction: column; overflow: hidden; border: 0; border-radius: 12px; box-shadow: 0 12px 32px rgba(27,33,31,.18); }
#log-activity-overlay .modal-header { height: 60px; flex: 0 0 60px; padding: 0 20px; border-bottom: 1px solid #eef2f0; } #log-activity-overlay .modal-header h3 { font: 600 16px/20px 'Geist', sans-serif; }
#log-activity-overlay .modal-body { flex: 1; padding: 12px 20px 14px; overflow-y: auto; } #log-activity-overlay .modal-footer { height: 61px; flex: 0 0 61px; padding: 0 20px; border: 0; background: #eef2f0; }
.alm-tabs { height: 36px; display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; margin: -12px -20px 15px; padding: 12px 20px 0; border-bottom: 1px solid #eef2f0; box-sizing: content-box; }.alm-tabs .log-type-tab { height: 32px; padding: 0; border: 1px solid #e1e7e4; border-radius: 6px; background: #fff; color: #55605c; font: 500 12px/1 'Geist', sans-serif; }.alm-tabs .log-type-tab.active { border-color: #94b9ff; background: #eaf1fe; color: #17429a; }
#log-activity-overlay .form-group { margin-bottom: 10px; } #log-activity-overlay .form-label { margin-bottom: 5px; color: #55605c; font: 400 12px/16px 'Geist', sans-serif; } #log-activity-overlay .form-control { height: 32px; min-height: 32px; border-color: #e1e7e4; border-radius: 6px; font: 400 13px/30px 'Geist', sans-serif; }
.alm-related > div { height: 46px; display: flex; align-items: center; gap: 7px; padding: 0 8px; border: 1px solid #e1e7e4; border-radius: 6px; }.alm-related > div > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #eef2f0; color: #63706b; }.alm-related input { flex: 1; height: auto !important; border: 0 !important; padding: 0 !important; outline: 0; }.alm-related button { border: 0; background: none; color: #55605c; font-size: 17px; }
.alm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.alm-notes label { display: flex; justify-content: space-between; }.alm-notes label button { height: 24px; padding: 0 7px; border: 1px solid #c9bbfa; border-radius: 5px; background: #f3f0fe; color: #442a99; font: 500 10px/1 'Geist', sans-serif; }.alm-notes textarea { height: 74px !important; min-height: 74px !important; padding: 8px 10px; line-height: 17px !important; resize: none; }
.alm-followup { height: 44px; display: flex; align-items: center; justify-content: space-between; margin-top: 4px; padding: 0 12px; border-radius: 6px 6px 0 0; background: #eef2f0; }.alm-followup > label:first-child { color: #1b211f; font: 500 12px/16px 'Geist', sans-serif; }.alm-switch { width: 32px; height: 18px; position: relative; }.alm-switch input { opacity: 0; }.alm-switch span { position: absolute; inset: 0; border-radius: 10px; background: #cad3cf; cursor: pointer; }.alm-switch span::after { content: ''; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform .15s; }.alm-switch input:checked + span { background: #0b7a50; }.alm-switch input:checked + span::after { transform: translateX(14px); }
.alm-followup-fields { padding: 8px 12px 12px; background: #eef2f0; border-radius: 0 0 6px 6px; }.alm-followup-fields > div { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }.alm-followup-fields .form-control { height: 30px !important; }
.alm-footer { justify-content: flex-end; gap: 18px; }.alm-footer .btn { height: 32px; border-radius: 6px; font: 500 13px/1 'Geist', sans-serif; }

/* ---------- contact overlays: exact Contacts SVG component geometry ---------- */
#create-contact-modal,
#ct-delete-modal,
#import-contact-modal {
  background: rgba(27, 33, 31, 0.32);
  backdrop-filter: none;
  font-family: 'Geist', system-ui, sans-serif;
}

#create-contact-modal .modal {
  width: 560px;
  height: 500px;
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
  border: 1px solid #e1e7e4;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(27, 33, 31, 0.16);
  overflow: hidden;
}
#create-contact-modal .modal.cc-validation-state { height: 568px; max-height: calc(100vh - 40px); }
#create-contact-modal .modal-header {
  height: 60px;
  flex: 0 0 60px;
  padding: 0 20px;
  border-bottom: 1px solid #eef2f0;
}
#create-contact-modal .modal-header h3 {
  margin: 0;
  color: #1b211f;
  font: 600 16px/20px 'Geist', system-ui, sans-serif;
}
#create-contact-modal .modal-close,
.ct-import-close {
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #55605c;
  font-size: 15px;
}
#create-contact-modal .modal-close:hover,
.ct-import-close:hover { background: #eef2f0; color: #1b211f; }
#create-contact-modal .modal-body { flex: 1; min-height: 0; padding: 20px; overflow-y: auto; }
#create-contact-modal .form-group { margin: 0; }
#create-contact-modal .modal-body > .form-group,
#create-contact-modal .modal-body > div[style*="grid-template-columns"] { margin-bottom: 14px; }
#create-contact-modal .modal-body > div[style*="grid-template-columns"]:last-child { margin-bottom: 0; }
#create-contact-modal .form-label {
  display: block;
  margin: 0 0 5px;
  color: #55605c;
  font: 500 12px/16px 'Geist', system-ui, sans-serif;
}
#create-contact-modal .form-control {
  width: 100%;
  height: 32px;
  padding: 0 10px;
  border: 1px solid #cad3cf;
  border-radius: 6px;
  background-color: #fff;
  color: #1b211f;
  font: 400 13px/30px 'Geist', system-ui, sans-serif;
  box-shadow: none;
}
#create-contact-modal .form-control::placeholder { color: #8b9793; }
#create-contact-modal .form-control:focus { border-color: #0b7a50; box-shadow: 0 0 0 2px rgba(11, 122, 80, 0.12); }
#create-contact-modal .form-control.cc-invalid { border-color: #f8b5af; }
#create-contact-modal .form-control.cc-invalid:focus { box-shadow: 0 0 0 2px rgba(248, 181, 175, 0.25); }
#create-contact-modal .cc-hint {
  margin-top: 5px;
  color: #63706b;
  font: 400 11px/16px 'Geist', system-ui, sans-serif;
}
#create-contact-modal .cc-field-error {
  display: none;
  align-items: center;
  gap: 4px;
  margin-top: 5px;
  color: #8c2018;
  font: 400 11px/16px 'Geist', system-ui, sans-serif;
}
#create-contact-modal .cc-field-error .mdi { font-size: 14px; }
#create-contact-modal .cc-banner {
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  margin: 0 0 14px;
  padding: 7px 10px;
  border: 1px solid #f8b5af;
  border-radius: 6px;
  background: #fef0ef;
  color: #8c2018;
  font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
#create-contact-modal .cc-banner .mdi { font-size: 16px; }
#create-contact-modal .cc-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 62px;
  flex: 0 0 62px;
  padding: 14px 20px;
  border-top: 1px solid #eef2f0;
  background: #eef2f0;
}
#create-contact-modal .cc-check-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #63706b;
  font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
#create-contact-modal .cc-check-label input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #0b7a50;
}
#create-contact-modal .cc-footer-buttons { display: flex; align-items: center; gap: 12px; }
#create-contact-modal .cc-footer-buttons .btn {
  height: 32px;
  padding: 0 12px;
  border-radius: 6px;
  font: 500 13px/32px 'Geist', system-ui, sans-serif;
}
#create-contact-modal .cc-footer-buttons .btn-secondary {
  border: 0;
  background: transparent;
  color: #55605c;
}
#create-contact-modal .cc-footer-buttons .btn-primary {
  border: 0;
  background: #0b7a50;
  color: #fff;
  box-shadow: none;
}
#create-contact-modal .cc-footer-buttons .btn-primary:hover { background: var(--btn-primary-hover); transform: none; box-shadow: none; }
#create-contact-modal .cc-footer-buttons .cc-submit-muted { color: #8b9793 !important; }

.ct-delete-dialog {
  width: 440px;
  max-width: calc(100vw - 40px);
  border: 1px solid #e1e7e4;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(27, 33, 31, 0.16);
  overflow: hidden;
}
.ct-delete-body { padding: 19px 20px; }
.ct-delete-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  border-radius: 50%;
  background: #fef0ef;
  color: #8c2018;
  font-size: 16px;
}
.ct-delete-title { margin: 0 0 9px; color: #1b211f; font: 600 16px/20px 'Geist', system-ui, sans-serif; }
.ct-delete-copy { margin: 0; color: #55605c; font: 400 13px/19px 'Geist', system-ui, sans-serif; }
.ct-delete-list {
  max-height: 120px;
  overflow: auto;
  margin-top: 8px;
  padding: 10px;
  border-radius: 6px;
  background: #eef2f0;
  color: #1b211f;
  font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.ct-delete-footer {
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 0 20px;
  border-top: 1px solid #eef2f0;
  background: #eef2f0;
}
.ct-delete-cancel,
.ct-delete-confirm {
  height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  font: 500 13px/32px 'Geist', system-ui, sans-serif;
}
.ct-delete-cancel { background: transparent; color: #55605c; }
.ct-delete-confirm { background: #d6392b; color: #fff; }
.ct-delete-confirm:hover { background: #c92f25; }

/* CSV import is a viewport-height drawer, matching the supplied step-2 SVG. */
#import-contact-modal {
  display: block;
  padding: 0;
}
.ct-import-drawer {
  position: absolute;
  inset: 0 0 0 auto;
  width: 520px;
  max-width: 100vw;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-left: 0;
  box-shadow: -8px 0 24px rgba(27, 33, 31, 0.10);
  color: #1b211f;
}
.ct-import-head {
  height: 61px;
  flex: 0 0 61px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  border-bottom: 1px solid #eef2f0;
}
.ct-import-head h3 { margin: 0; font: 600 16px/20px 'Geist', system-ui, sans-serif; }
.ct-import-steps {
  height: 47px;
  flex: 0 0 47px;
  display: flex;
  align-items: center;
  padding: 0 20px;
  border-bottom: 1px solid #eef2f0;
}
.ct-import-step { display: flex; align-items: center; gap: 6px; color: #63706b; font: 400 13px/18px 'Geist', system-ui, sans-serif; white-space: nowrap; }
.ct-import-step.active { color: #1b211f; }
.ct-import-step-dot {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eef2f0;
  color: #8b9793;
  font: 500 11px/18px 'Geist Mono', monospace;
}
.ct-import-step.complete .ct-import-step-dot,
.ct-import-step.active .ct-import-step-dot { background: #0b7a50; color: #fff; }
.ct-import-step-line { width: 36px; height: 1px; margin: 0 8px; background: #e1e7e4; }
.ct-import-main { flex: 1; min-height: 0; overflow: auto; padding: 16px 20px 20px; }
.ct-import-file {
  height: 50px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  border-radius: 6px;
  background: #eef2f0;
}
.ct-import-file .mdi { color: #63706b; font-size: 16px; }
.ct-import-file-meta { min-width: 0; flex: 1; }
.ct-import-file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #1b211f; font: 500 13px/18px 'Geist', system-ui, sans-serif; }
.ct-import-file-detail { color: #63706b; font: 400 11px/15px 'Geist', system-ui, sans-serif; }
.ct-import-replace { border: 0; background: transparent; color: #1b211f; cursor: pointer; font: 500 12px/18px 'Geist', system-ui, sans-serif; }
.ct-import-copy { height: 18px; margin: 15px 0 13px; overflow: hidden; color: #55605c; white-space: nowrap; font: 400 13px/18px 'Geist', system-ui, sans-serif; }
.ct-map-table { border: 1px solid #e1e7e4; border-radius: 8px; overflow: hidden; }
.ct-map-head,
.ct-map-row { display: grid; grid-template-columns: 170px 22px minmax(0, 1fr); align-items: center; }
.ct-map-head { height: 30px; padding: 0 12px; background: #fbfcfc; color: #63706b; font: 600 11px/16px 'Geist', system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.ct-map-row { min-height: 41px; padding: 5px 10px 5px 12px; border-top: 1px solid #eef2f0; }
.ct-map-source { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #1b211f; font: 400 12px/18px 'Geist Mono', monospace; }
.ct-map-arrow { color: #8b9793; font-size: 15px; }
.ct-map-select {
  width: 100%;
  height: 30px;
  padding: 0 30px 0 10px;
  border: 1px solid #cad3cf;
  border-radius: 6px;
  background-color: #fff;
  color: #1b211f;
  font: 400 13px/28px 'Geist', system-ui, sans-serif;
}
.ct-map-select.skip { color: #8b9793; }
.ct-import-info {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  padding: 7px 10px;
  border: 1px solid #a9c5fa;
  border-radius: 6px;
  background: #eaf1fe;
  color: #17429a;
  font: 400 13px/18px 'Geist', system-ui, sans-serif;
}
.ct-import-info .mdi { margin-top: 1px; font-size: 15px; }
.ct-import-upload {
  min-height: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px;
  border: 1px dashed #cad3cf;
  border-radius: 8px;
  background: #fbfcfc;
  text-align: center;
}
.ct-import-upload .mdi { color: #63706b; font-size: 28px; }
.ct-import-upload h4 { margin: 12px 0 4px; font: 600 14px/20px 'Geist', system-ui, sans-serif; }
.ct-import-upload p { margin: 0 0 16px; color: #63706b; font: 400 13px/18px 'Geist', system-ui, sans-serif; }
.ct-import-review { color: #55605c; font: 400 13px/19px 'Geist', system-ui, sans-serif; }
.ct-import-review strong { color: #1b211f; }
.ct-import-footer {
  height: 60px;
  flex: 0 0 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  border-top: 1px solid #eef2f0;
  background: #eef2f0;
}
.ct-import-footer-note { color: #63706b; font: 400 11px/16px 'Geist', system-ui, sans-serif; }
.ct-import-footer-actions { display: flex; align-items: center; gap: 12px; }
.ct-import-back,
.ct-import-next {
  height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  font: 500 13px/32px 'Geist', system-ui, sans-serif;
}
.ct-import-back { background: transparent; color: #55605c; }
.ct-import-next { background: #0b7a50; color: #fff; }
.ct-import-next:disabled { background: #cad3cf; cursor: default; }

@media (max-width: 620px) {
  #create-contact-modal .modal { max-height: calc(100vh - 24px); }
  #create-contact-modal .modal-body > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .ct-import-drawer { width: 100vw; }
  .ct-map-head, .ct-map-row { grid-template-columns: minmax(90px, .8fr) 20px minmax(140px, 1.2fr); }
}
