
.cm { font-family: var(--cc-fuente-texto); font-size: 14px; line-height: 1.4; color: var(--cc-texto); font-variant-numeric: tabular-nums; min-width: 0; }
.cm *, .cm *::before, .cm *::after { box-sizing: border-box; }
.cm button { margin: 0; width: auto; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.cm button:focus-visible, .cm select:focus-visible { outline: 2px solid var(--u-info); outline-offset: 2px; border-radius: 6px; }
.cm small { font-size: 12.5px; }
.cm .cm-nd, .cm-nd { color: var(--cc-texto-3); }
.cm-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cm-intro { margin: 0; color: var(--cc-texto-2); max-width: 78ch; }


.cm-sec { margin: 22px 0 0; padding-top: 16px; border-top: 1px solid var(--cc-borde); min-width: 0; }
.cm-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 0 10px; font-size: 16px; font-weight: 700; color: var(--cc-texto); }
.cm-h .d { font-size: 13px; font-weight: 400; color: var(--cc-texto-3); }
.cm-nota { margin: 10px 0 0; font-size: 13px; color: var(--cc-texto-2); max-width: 78ch; }
.cm-vacia { margin: 10px 0 0; padding-left: 10px; border-left: 3px solid var(--u-neutro); font-size: 13.5px; color: var(--cc-texto-2); max-width: 78ch; }


.cm-lineas { list-style: none; margin: 14px 0 0; padding: 0; }
.cm-linea { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 2px 12px; align-items: start; padding: 10px 0; border-bottom: 1px solid var(--cc-borde); min-height: 44px; }
.cm-linea:last-child { border-bottom: 0; }
.cm-punto { width: 10px; height: 10px; border-radius: 50%; margin-top: 5px; background: var(--u-neutro); grid-row: span 2; }
.cm-linea[data-tono="alerta"] .cm-punto { background: var(--u-alerta); }
.cm-linea b { font-size: 14px; }
.cm-linea p { margin: 0; font-size: 13px; color: var(--cc-texto-2); }


.cm-btn { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px !important; border: 1px solid var(--cc-borde-fuerte) !important; border-radius: 8px !important; font-size: 13px; color: var(--cc-texto-2); }
.cm-acciones { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
.cm-msg { margin: 10px 0 0; min-height: 20px; font-size: 13px; color: var(--cc-texto-2); }
.cm-filtros { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 22px 0 0; padding-top: 16px; border-top: 1px solid var(--cc-borde); }
.cm-filtro { display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; color: var(--cc-texto-3); }
.cm-filtro select { min-height: 36px; min-width: 190px; padding: 0 10px; border: 1px solid var(--cc-borde-fuerte); border-radius: 8px; background: var(--cc-fondo, transparent); color: var(--cc-texto); font: inherit; font-size: 14px; }
.cm-ord { display: inline-flex; align-items: center; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: inherit; white-space: nowrap; }
.cm-ord.act { color: var(--cc-texto); }
.cm-ord:hover { text-decoration: underline; text-underline-offset: 3px; }


.cm-tabla-caja { max-width: 100%; }   
.cm-tabla { width: 100%; border-collapse: collapse; font-size: 14px; }
.cm-tabla th, .cm-tabla td { height: 44px; padding: 6px 10px; border-bottom: 1px solid var(--cc-borde); text-align: left; vertical-align: middle; }
.cm-tabla thead th { height: 36px; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--cc-texto-3); border-bottom: 1px solid var(--cc-borde-fuerte); }
.cm-tabla .cm-celda-nom, .cm-tabla tfoot th { font-weight: 600; font-size: 14px; text-transform: none; letter-spacing: normal; background: none; color: var(--cc-texto); }
.cm-tabla .num { text-align: right; white-space: nowrap; }
.cm-tabla tfoot th, .cm-tabla tfoot td { border-bottom: 0; border-top: 1px solid var(--cc-borde-fuerte); font-weight: 700; }
.cm-tabla .cm-celda-nom { font-weight: 600; }
.cm-celda-nom small { display: block; font-weight: 400; color: var(--cc-texto-3); }
.cm-nom { display: block; }
.cm-acc { text-align: right; width: 1%; white-space: nowrap; }
.cm-acc .cm-btn + .cm-btn { margin-left: 6px; }


@media (max-width: 760px) {
  .cm-linea { grid-template-columns: 14px minmax(0, 1fr); }
  .cm-tabla thead { display: none; }
  .cm-tabla, .cm-tabla tbody, .cm-tabla tfoot, .cm-tabla tr { display: block; width: 100%; min-width: 0 !important; }
  .cm-tabla tr { padding: 8px 0; border-bottom: 1px solid var(--cc-borde); }
  .cm-tabla th, .cm-tabla td { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; height: auto; min-height: 28px; padding: 3px 0; border: 0; text-align: left; }
  .cm-tabla td[data-rot]::before { content: attr(data-rot); font-size: 13px; color: var(--cc-texto-3); font-weight: 400; }
  .cm-tabla td:empty { display: none; }
  .cm-tabla .num { text-align: right; white-space: normal; }
  .cm-tabla .cm-celda-nom { display: block; }
  .cm-acc { width: auto; text-align: left; justify-content: flex-start; }
  .cm-tabla tfoot tr { border-bottom: 0; }
  .cm-filtro select { min-width: 0; width: 100%; }
}

.cm-ord::after { content: ' \2195'; opacity: .45; }
.cm-ord[data-dir="asc"]::after { content: ' \25B4'; opacity: 1; }
.cm-ord[data-dir="desc"]::after { content: ' \25BE'; opacity: 1; }


.cm-cuanto{position:relative}
.cm-sufijo{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-weight:600;color:var(--tinta-2,#445);pointer-events:none}
.cm-cuanto [hidden]{display:none}
.cm-cuanto:has(.cm-sufijo:not([hidden])) input{padding-right:34px}
.cm-alcance{margin:4px 0 10px;font-size:13px;color:var(--tinta-2,#445)}
