/* CRM Xtrim v2.8.1: contacto multicanal */
.ct-network-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border:1px solid #cbd8ee;border-radius:999px;background:#f6f9ff;color:#244d91;font-size:12px;font-weight:700;white-space:nowrap}
.ct-new-contact-form{display:flex;flex-direction:column;gap:0;padding:0 2px 96px}
.ct-form-section{padding:18px 0;border-bottom:1px solid #e6ebf3}
.ct-form-section:first-child{padding-top:4px}.ct-form-section:last-of-type{border-bottom:0}
.ct-section-heading{display:flex;flex-direction:column;gap:3px;margin-bottom:13px}
.ct-section-heading strong{font-size:14px;color:#17233a}.ct-section-heading span{font-size:12px;color:#6d7890;line-height:1.45}
.ct-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;background:#edf2f9;border-radius:10px}
.ct-type-switch button{min-height:38px;border:0;border-radius:8px;background:transparent;color:#61708a;font-weight:700;cursor:pointer;transition:.16s ease}
.ct-type-switch button:hover:not(:disabled){background:#fff;color:#174b9b}.ct-type-switch button.active{background:#fff;color:#1453a6;box-shadow:0 2px 8px rgba(24,54,98,.12)}
.ct-type-switch button:disabled{cursor:default;opacity:.72}
.contact-form-grid.compact{gap:11px 12px}.contact-form-grid.compact label{gap:5px;font-size:12px;font-weight:650;color:#43516a}
.contact-form-grid.compact input,.contact-form-grid.compact select,.contact-form-grid.compact textarea{min-height:38px;padding:8px 10px;border-radius:8px}
.ct-location-actions{display:flex;align-items:center;gap:10px;min-height:38px}.ct-location-actions span{font-size:12px;color:#60708a}
.contact-drawer-actions.sticky{position:sticky;bottom:0;z-index:5;margin:16px -18px -18px;padding:12px 18px;background:rgba(255,255,255,.96);border-top:1px solid #e2e8f1;backdrop-filter:blur(8px)}
@media(max-width:700px){.ct-type-switch{grid-template-columns:1fr}.ct-location-actions{align-items:flex-start;flex-direction:column}}


/* v2.8.2: opener abreviado y trazabilidad visual */
.ct-opener-initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 28px;
  padding: 0 9px;
  border: 1px solid #bfd2f6;
  border-radius: 999px;
  background: #eef4ff;
  color: #1749a6;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  cursor: help;
  white-space: nowrap;
}
.ct-opener-initials:hover {
  background: #e2ecff;
  border-color: #8fb1ef;
}

/* v2.8.3: filtros completos, orden global y edición integral */
.ct-filter-panel-v283{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;align-items:end}
.ct-filter-panel-v283.hidden{display:none}
.ct-filter-panel-v283 label{min-width:0}
.ct-filter-panel-v283 select,.ct-filter-panel-v283 input{width:100%}
.ct-filter-panel-v283 #ct-clear-filters{min-height:42px}
.ct-full-edit-form{padding:0 2px 96px}
.ct-full-edit-form .ct-form-section{padding:15px 0}
.ct-full-edit-form .contact-form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.ct-full-edit-form .contact-form-grid .full{grid-column:1/-1}
.ct-full-edit-form input,.ct-full-edit-form select,.ct-full-edit-form textarea{width:100%}
@media(max-width:720px){.ct-filter-panel-v283{grid-template-columns:1fr 1fr}.ct-full-edit-form .contact-form-grid.compact{grid-template-columns:1fr}}
@media(max-width:480px){.ct-filter-panel-v283{grid-template-columns:1fr}}

/* v2.8.3.2: paginacion compacta y edicion inline completa */
.contacts-opener .ct-footer{
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) auto;
  align-items:center;
  gap:18px;
  padding:14px 18px;
}
.contacts-opener .ct-footer>label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:auto;
  min-width:0;
  white-space:nowrap;
  font-weight:500;
}
.contacts-opener .ct-footer #ct-size{
  width:112px !important;
  min-width:112px;
  max-width:112px;
  flex:0 0 112px;
  min-height:42px;
  padding:8px 34px 8px 12px;
}
.contacts-opener #ct-range{
  justify-self:center;
  white-space:nowrap;
}
.contacts-opener .ct-pager{justify-self:end}
.contacts-opener .ct-inline-control{
  width:100%;
  min-width:0;
  min-height:38px;
  padding:7px 10px;
  border:1px solid #c9d7eb;
  border-radius:9px;
  background:#fff;
  color:#17233a;
  font:inherit;
  box-shadow:0 0 0 1px rgba(37,99,235,.02);
}
.contacts-opener textarea.ct-inline-control{resize:vertical;line-height:1.35}
.contacts-opener .ct-inline-control:focus{
  outline:0;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.contacts-opener .ct-inline-actions .ct-save-inline{
  color:#0f5ed7;
  border-color:#8fb4f2;
  background:#eef5ff;
}
.contacts-opener .ct-inline-actions .ct-cancel-inline{
  color:#b42318;
  border-color:#efb6b0;
  background:#fff6f5;
}
.contacts-opener .ct-row-saving{opacity:.65;pointer-events:none}
.contacts-opener .ct-table tbody tr:has(.ct-inline-control){background:#f8fbff}
@media(max-width:900px){
  .contacts-opener .ct-footer{grid-template-columns:1fr auto}
  .contacts-opener #ct-range{grid-column:1/-1;grid-row:1;justify-self:center}
  .contacts-opener .ct-footer>label{grid-column:1;grid-row:2}
  .contacts-opener .ct-pager{grid-column:2;grid-row:2}
}
@media(max-width:620px){
  .contacts-opener .ct-footer{display:flex;flex-wrap:wrap;justify-content:center}
  .contacts-opener #ct-range{order:-1;width:100%;text-align:center}
}

/* v2.8.5: columnas compactas, truncamiento y vista previa contextual */
.contacts-opener .ct-table{
  table-layout:fixed;
}
.contacts-opener .ct-table th,
.contacts-opener .ct-table td{
  min-width:0;
  overflow:hidden;
}
.contacts-opener .ct-table td{
  padding-left:12px;
  padding-right:12px;
}
.contacts-opener .ct-table .ct-cell-clip{
  display:block;
  width:100%;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.35;
}
.contacts-opener .ct-table .ct-cell-strong{
  display:block;
  min-width:0;
}
.contacts-opener .ct-table .ct-cell-preview{
  cursor:help;
  border-radius:5px;
}
.contacts-opener .ct-table .ct-cell-preview:hover,
.contacts-opener .ct-table .ct-cell-preview:focus-visible{
  background:#eef4ff;
  outline:2px solid rgba(37,99,235,.16);
  outline-offset:2px;
}
.ct-preview-popover{
  position:fixed;
  z-index:10050;
  display:none;
  width:max-content;
  max-width:min(420px,calc(100vw - 24px));
  max-height:240px;
  overflow:auto;
  padding:12px 14px;
  border:1px solid #cbd8eb;
  border-radius:10px;
  background:#fff;
  color:#17233a;
  box-shadow:0 14px 34px rgba(15,35,70,.20);
  font-size:13px;
  line-height:1.5;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  pointer-events:none;
}
.ct-preview-popover.visible{display:block}
.contacts-opener .ct-table th .ct-th-inner{
  min-width:0;
}
.contacts-opener .ct-table th .ct-th-inner>span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.contacts-opener .ct-table .ct-resizer{
  cursor:col-resize;
}

/* v2.8.6: bloque operativo fijo durante el desplazamiento horizontal */
.contacts-opener .ct-table-scroll{
  position:relative;
  isolation:isolate;
}

/* Selección, edición y contactabilidad permanecen visibles. */
.contacts-opener .ct-table th[data-col="select"],
.contacts-opener .ct-table td[data-col="select"]{
  position:sticky;
  left:0;
  z-index:8;
  background:#fff;
}
.contacts-opener .ct-table th[data-col="edit"],
.contacts-opener .ct-table td[data-col="edit"]{
  position:sticky;
  left:48px;
  z-index:8;
  background:#fff;
}
.contacts-opener .ct-table th[data-col="activity"],
.contacts-opener .ct-table td[data-col="activity"]{
  position:sticky;
  left:136px;
  z-index:8;
  background:#fff;
}

/* El encabezado fijo debe quedar por encima de las celdas fijas. */
.contacts-opener .ct-table thead th[data-col="select"],
.contacts-opener .ct-table thead th[data-col="edit"],
.contacts-opener .ct-table thead th[data-col="activity"]{
  z-index:14;
  background:#f7faff;
}

/* Mantiene el color de la fila durante hover y edición. */
.contacts-opener .ct-table tbody tr:hover td[data-col="select"],
.contacts-opener .ct-table tbody tr:hover td[data-col="edit"],
.contacts-opener .ct-table tbody tr:hover td[data-col="activity"]{
  background:#f7faff;
}
.contacts-opener .ct-table tbody tr:has(.ct-inline-control) td[data-col="select"],
.contacts-opener .ct-table tbody tr:has(.ct-inline-control) td[data-col="edit"],
.contacts-opener .ct-table tbody tr:has(.ct-inline-control) td[data-col="activity"]{
  background:#f8fbff;
}

/* Sombra sutil que indica dónde termina el bloque fijo. */
.contacts-opener .ct-table th[data-col="activity"],
.contacts-opener .ct-table td[data-col="activity"]{
  box-shadow:8px 0 12px -12px rgba(15,35,70,.65);
}

/* Evita transparencias o saltos visuales en los botones del bloque fijo. */
.contacts-opener .ct-table td[data-col="edit"] .ct-fixed-actions,
.contacts-opener .ct-table td[data-col="activity"] .ct-cell{
  position:relative;
  z-index:1;
}

@media(max-width:700px){
  .contacts-opener .ct-table th[data-col="select"],
  .contacts-opener .ct-table td[data-col="select"]{left:0}
  .contacts-opener .ct-table th[data-col="edit"],
  .contacts-opener .ct-table td[data-col="edit"]{left:48px}
  .contacts-opener .ct-table th[data-col="activity"],
  .contacts-opener .ct-table td[data-col="activity"]{left:136px}
}


/* v2.8.7: anchos realmente libres, truncamiento estricto y resize fluido */
.contacts-opener .ct-table{
  table-layout:fixed !important;
  max-width:none !important;
}
.contacts-opener .ct-table th,
.contacts-opener .ct-table td{
  box-sizing:border-box;
  overflow:hidden !important;
  white-space:nowrap;
}
.contacts-opener .ct-table .ct-cell,
.contacts-opener .ct-table .ct-cell-strong,
.contacts-opener .ct-table .ct-cell-clip,
.contacts-opener .ct-table a,
.contacts-opener .ct-table .ct-state-pill,
.contacts-opener .ct-table .badge-channel{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.contacts-opener .ct-table .ct-network-pill,
.contacts-opener .ct-table .ct-opener-initials,
.contacts-opener .ct-table .contact-count{
  max-width:100%;
}
.contacts-opener .ct-table .ct-inline-control,
.contacts-opener .ct-table input.ct-inline-control,
.contacts-opener .ct-table select.ct-inline-control,
.contacts-opener .ct-table textarea.ct-inline-control{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.contacts-opener .ct-table textarea.ct-inline-control{
  resize:none;
  height:38px;
}
.contacts-opener .ct-resizer{
  width:10px;
  right:-5px;
  z-index:20;
  touch-action:none;
}
.contacts-opener .ct-resizer::after{
  content:"";
  position:absolute;
  top:20%;
  bottom:20%;
  left:4px;
  width:2px;
  border-radius:2px;
  background:transparent;
  transition:background .12s ease;
}
.contacts-opener .ct-resizer:hover::after,
.contacts-opener .ct-resizer.active::after{
  background:#2563eb;
}
body.ct-is-resizing{
  cursor:col-resize !important;
  user-select:none !important;
}
body.ct-is-resizing *{
  cursor:col-resize !important;
}

/* v2.8.8: tabla operativa compacta y densidad visual profesional */
.contacts-opener .ct-table-card{
  padding:0 !important;
  overflow:hidden;
}
.contacts-opener .ct-table-scroll{
  margin:0 !important;
  border-radius:0;
}
.contacts-opener .ct-table{
  margin:0 !important;
  border-spacing:0;
  line-height:1.2;
}

/* Encabezado compacto, legible y estable. */
.contacts-opener .ct-table thead tr{
  height:48px !important;
}
.contacts-opener .ct-table thead th{
  height:48px !important;
  min-height:48px !important;
  padding:8px 10px !important;
  vertical-align:middle;
  font-size:13px;
  line-height:1.2;
}
.contacts-opener .ct-table th .ct-th-inner{
  height:100%;
  display:flex;
  align-items:center;
  gap:6px;
}

/* Filas más densas sin sacrificar el área táctil de las acciones. */
.contacts-opener .ct-table tbody tr{
  height:54px !important;
}
.contacts-opener .ct-table tbody td{
  height:54px !important;
  min-height:54px !important;
  padding:6px 10px !important;
  vertical-align:middle;
  font-size:13px;
  line-height:1.25;
}
.contacts-opener .ct-table tbody td > *{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* El bloque fijo mantiene exactamente la misma densidad que el resto. */
.contacts-opener .ct-table td[data-col="select"],
.contacts-opener .ct-table td[data-col="edit"],
.contacts-opener .ct-table td[data-col="activity"]{
  padding-top:6px !important;
  padding-bottom:6px !important;
}
.contacts-opener .ct-table td[data-col="select"]{
  padding-left:8px !important;
  padding-right:6px !important;
}
.contacts-opener .ct-table td[data-col="edit"]{
  padding-left:4px !important;
  padding-right:4px !important;
}
.contacts-opener .ct-table td[data-col="activity"]{
  padding-left:5px !important;
  padding-right:8px !important;
}

/* Botones operativos compactos, pero todavía fáciles de pulsar. */
.contacts-opener .ct-fixed-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  height:36px;
}
.contacts-opener .ct-fixed-actions .icon-button,
.contacts-opener .ct-table .ct-inline-actions .icon-button{
  width:36px !important;
  min-width:36px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 !important;
  border-radius:10px;
}
.contacts-opener .ct-table .contact-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  min-width:36px;
  height:36px;
  min-height:36px;
  padding:0 6px;
  line-height:1;
}

/* Chips y textos sin altura artificial. */
.contacts-opener .ct-table .ct-network-pill,
.contacts-opener .ct-table .ct-opener-initials,
.contacts-opener .ct-table .ct-state-pill,
.contacts-opener .ct-table .badge-channel{
  min-height:26px;
  height:26px;
  padding-top:0;
  padding-bottom:0;
  line-height:24px;
  vertical-align:middle;
}

/* Edición inline compacta y alineada con la fila. */
.contacts-opener .ct-table .ct-inline-control,
.contacts-opener .ct-table input.ct-inline-control,
.contacts-opener .ct-table select.ct-inline-control,
.contacts-opener .ct-table textarea.ct-inline-control{
  min-height:36px !important;
  height:36px !important;
  padding:5px 8px !important;
  border-radius:8px;
  line-height:1.2;
}

/* El footer se separa de la tabla sin añadir una franja innecesariamente alta. */
.contacts-opener .ct-footer{
  min-height:64px;
  padding:10px 16px !important;
  border-top:1px solid #e1e8f2;
}

@media(max-width:700px){
  .contacts-opener .ct-table thead th{
    padding:7px 8px !important;
  }
  .contacts-opener .ct-table tbody td{
    padding:5px 8px !important;
  }
}

/* CRM Xtrim v2.8.9: asignaciones reales, búsqueda y trazabilidad */
.ct-assignment-modal{width:min(560px,calc(100vw - 32px));display:grid;gap:14px}
.ct-assignment-modal label{display:grid;gap:7px;font-size:13px;font-weight:800;color:#344054}
.ct-assignment-modal input,.ct-assignment-modal select,.ct-assignment-modal textarea{width:100%;min-height:40px;border:1px solid #cbd8ea;border-radius:10px;padding:8px 11px;background:#fff}
.ct-combobox{position:relative}
.ct-combobox-results{position:absolute;z-index:120;left:0;right:0;top:calc(100% + 5px);max-height:260px;overflow:auto;border:1px solid #cbd8ea;border-radius:12px;background:#fff;box-shadow:0 16px 32px rgba(15,23,42,.18);padding:6px}
.ct-combobox-results button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 11px;border-radius:8px;cursor:pointer;font-size:13px;color:#172033}
.ct-combobox-results button:hover,.ct-combobox-results button:focus{background:#eef4ff;color:#1746b3;outline:0}
.ct-combobox-results span{display:block;padding:12px;color:#667085}
.ct-assignment-history-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.ct-assignment-history-head h3{margin:0;font-size:18px}
.ct-assignment-history{display:grid;gap:12px}
.ct-assignment-history article{border:1px solid #d9e3f1;border-radius:14px;padding:14px;background:#fff}
.ct-assignment-history article header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.ct-assignment-history dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin:0}
.ct-assignment-history dl div{min-width:0}
.ct-assignment-history dt{font-size:11px;font-weight:900;text-transform:uppercase;color:#667085}
.ct-assignment-history dd{margin:3px 0 0;font-size:13px;color:#172033}
.ct-history-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:900}
.ct-history-status.active{background:#ecfdf3;color:#067647}
.opx-assignment-timing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid #d8e2f1;border-radius:13px;background:#f8fbff;margin-bottom:12px}
.opx-assignment-timing div{display:grid;gap:3px}
.opx-assignment-timing span{font-size:11px;font-weight:900;color:#667085;text-transform:uppercase}
.opx-assignment-timing strong{font-size:13px;color:#172033}
@media(max-width:700px){.ct-assignment-history dl,.opx-assignment-timing{grid-template-columns:1fr}.opx-assignment-timing button{width:100%}}

/* v2.8.9.2: modal de asignación y búsqueda de vendedores */
.cap-modal-backdrop[data-contact-assignment]{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}
.cap-modal-backdrop[data-contact-assignment] .cap-modal{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid #d7e1ef;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.28);padding:22px}
.cap-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:6px}
.cap-modal-head small{display:block;margin-bottom:4px;color:#667085;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.cap-modal-head h3{margin:0;color:#172033;font-size:20px}
.cap-modal-help{margin:0 0 18px;color:#667085;font-size:14px}
.cap-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cap-modal-grid label{display:grid;gap:7px;color:#344054;font-size:13px;font-weight:700}
.cap-modal-grid label.full{grid-column:1/-1}
.cap-modal-grid input,.cap-modal-grid select,.cap-modal-grid textarea{width:100%;min-height:40px;border:1px solid #cbd8ea;border-radius:10px;background:#fff;padding:9px 11px;color:#172033;font:inherit;box-sizing:border-box}
.cap-modal-grid textarea{min-height:82px;resize:vertical}
.cap-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.ct-seller-search{position:relative}
.ct-seller-results{position:absolute;z-index:3010;top:calc(100% + 6px);left:0;right:0;max-height:250px;overflow:auto;border:1px solid #cbd8ea;border-radius:12px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.2);padding:6px}
.ct-seller-results.hidden{display:none}
.ct-seller-results button{display:block;width:100%;border:0;border-radius:8px;background:#fff;padding:10px 11px;text-align:left;color:#172033;cursor:pointer}
.ct-seller-results button:hover,.ct-seller-results button:focus{background:#eef4ff;color:#1746b3;outline:0}
.ct-seller-results span{display:block;padding:12px;color:#667085;font-weight:400}
.ct-inline-control[list="ct-sellers-list"]{min-width:0}
@media(max-width:720px){.cap-modal-grid{grid-template-columns:1fr}.cap-modal-grid label.full{grid-column:auto}.cap-modal-backdrop[data-contact-assignment]{padding:12px}.cap-modal-backdrop[data-contact-assignment] .cap-modal{width:calc(100vw - 24px);padding:16px}}


/* v2.8.9.3: asignación directa y centro consolidado del contacto */
.ct-contact-hub-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:4px 0 18px;border-bottom:1px solid #e2e8f0}
.ct-contact-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eaf1ff;color:#1746b3;font-weight:900;font-size:16px}
.ct-contact-identity{min-width:0}.ct-contact-identity small{display:block;color:#667085;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.ct-contact-identity h3{margin:3px 0 2px;font-size:19px;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ct-contact-identity p{margin:0;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-contact-hub-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ct-contact-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.ct-contact-kpis article{min-width:0;padding:11px 12px;border:1px solid #dbe5f2;border-radius:12px;background:#f8fbff}.ct-contact-kpis span{display:block;margin-bottom:4px;color:#667085;font-size:10px;font-weight:900;text-transform:uppercase}.ct-contact-kpis strong{display:block;color:#172033;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-hub-tabs{overflow-x:auto;scrollbar-width:thin}.ct-hub-tabs button{white-space:nowrap}
.ct-hub-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ct-hub-summary-grid>article{padding:14px;border:1px solid #dbe5f2;border-radius:13px;background:#fff}.ct-hub-summary-grid>article.full{grid-column:1/-1}.ct-hub-summary-grid h4{margin:0 0 10px;color:#172033;font-size:14px}.ct-hub-summary-grid dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin:0}.ct-hub-summary-grid dt{font-size:10px;font-weight:900;text-transform:uppercase;color:#667085}.ct-hub-summary-grid dd{margin:3px 0 0;font-size:13px;color:#172033;overflow-wrap:anywhere}.ct-hub-summary-grid p{margin:0;color:#475467;line-height:1.5;white-space:pre-wrap}
.ct-assignment-active,.ct-assignment-closed{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.ct-assignment-active{background:#e9f8ef;color:#08783e}.ct-assignment-closed{background:#f1f3f7;color:#667085}.ct-assignment-history dl .full{grid-column:1/-1}
@media(max-width:760px){.ct-contact-hub-header{grid-template-columns:auto minmax(0,1fr)}.ct-contact-hub-actions{grid-column:1/-1;justify-content:stretch}.ct-contact-hub-actions .btn{flex:1}.ct-contact-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-hub-summary-grid{grid-template-columns:1fr}.ct-hub-summary-grid>article.full{grid-column:auto}}

/* v2.9.1: contactabilidad rápida sin centro consolidado */
.ct-quick-management{display:flex;flex-direction:column;min-height:100%;gap:18px}
.ct-quick-management-head{padding:2px 0 14px;border-bottom:1px solid #dfe7f3}
.ct-quick-management-head small{font-size:11px;font-weight:800;letter-spacing:.08em;color:#64748b}
.ct-quick-management-head h3{margin:5px 0 4px;font-size:20px;color:#13233f}
.ct-quick-management-head p{margin:0;color:#64748b;font-size:14px}
.ct-activity-only-form{align-content:start}
.ct-activity-only-form input,.ct-activity-only-form select,.ct-activity-only-form textarea{min-height:42px}
.ct-activity-only-form textarea{resize:vertical}

/* v2.9.4: la asignación inline es una acción, no un selector. */
.contacts-opener .ct-inline-assignment-button{
  width:100%;
  min-width:0;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0 11px;
  border:1px solid #b9cdf2;
  border-radius:10px;
  background:#f7faff;
  color:#172033;
  font:inherit;
  font-weight:700;
  text-align:left;
  cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;
}
.contacts-opener .ct-inline-assignment-button span:first-child{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.contacts-opener .ct-inline-assignment-button:hover{
  background:#eaf1ff;
  border-color:#6f9bf4;
  color:#1746b3;
}
.contacts-opener .ct-inline-assignment-button:focus-visible{
  outline:0;
  border-color:#2d5fe3;
  box-shadow:0 0 0 3px rgba(45,95,227,.16);
}
.contacts-opener .ct-inline-assignment-arrow{
  flex:0 0 auto;
  font-size:20px;
  line-height:1;
  color:#2d5fe3;
}
