/* Comunicación gestoría ↔ cliente (panel de la gestoría y «Mi gestoría» de la empresa) */

.cm-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 16px; }
.cm-tabs a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid #EAECF0; color: #344054; font-weight: 600; font-size: 14px; text-decoration: none; }
.cm-tabs a.is-active { background: var(--navy-900, #0B1F3A); border-color: var(--navy-900, #0B1F3A); color: #fff; }
.cm-tabs .cm-count { background: var(--orange-500, #FF6B1A); color: #fff; border-radius: 999px; font-size: 11px; padding: 1px 7px; }

.cm-grid { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 16px; align-items: start; }
.cm-grid--even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 960px) { .cm-grid, .cm-grid--even { grid-template-columns: 1fr; } .cm-grid .cm-hide-mobile { display: none; } }

/* Bandeja */
.cm-inbox { padding: 0; overflow: hidden; }
.cm-inbox__search { padding: 12px; border-bottom: 1px solid var(--gray-100, #F2F4F7); display: flex; gap: 8px; align-items: center; }
.cm-inbox__search input[type=search] { flex: 1; min-width: 0; }
.cm-conv { display: flex; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--gray-100, #F2F4F7); text-decoration: none; color: inherit; }
.cm-conv:hover, .cm-conv.is-active { background: var(--gray-50, #F9FAFB); }
.cm-conv__main { flex: 1; min-width: 0; }
.cm-conv__top { display: flex; justify-content: space-between; gap: 8px; }
.cm-conv__name { font-weight: 700; color: var(--navy-900, #0B1F3A); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-conv__time { color: var(--gray-500, #667085); font-size: 12px; white-space: nowrap; }
.cm-conv__preview { color: var(--gray-500, #667085); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-conv.is-unread .cm-conv__preview { color: var(--gray-900, #101828); font-weight: 600; }
.cm-dot { display: inline-block; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--orange-500, #FF6B1A); color: #fff; font-size: 11px; font-weight: 700; line-height: 20px; text-align: center; }

/* Conversación */
.cm-thread { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.cm-thread__head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--gray-100, #F2F4F7); }
.cm-thread__body { padding: 16px; display: flex; flex-direction: column; gap: 10px; max-height: 60vh; min-height: 240px; overflow-y: auto; background: var(--gray-50, #F9FAFB); }
.cm-msg { display: flex; gap: 8px; max-width: 80%; }
.cm-msg--mine { align-self: flex-end; flex-direction: row-reverse; }
.cm-msg--system { align-self: center; max-width: 90%; }
.cm-msg__bubble { background: #fff; border: 1px solid #EAECF0; border-radius: 14px; padding: 9px 12px; white-space: pre-wrap; word-wrap: break-word; }
.cm-msg--mine .cm-msg__bubble { background: var(--cm-accent, var(--navy-900, #0B1F3A)); border-color: transparent; color: #fff; }
.cm-msg--system .cm-msg__bubble { background: var(--gray-100, #F2F4F7); color: #344054; font-size: 13px; }
.cm-msg__meta { font-size: 11px; color: var(--gray-500, #667085); margin-top: 3px; }
.cm-msg--mine .cm-msg__meta { text-align: right; }
.cm-msg__files { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.cm-msg__files img { max-width: 180px; max-height: 140px; border-radius: 8px; display: block; }
.cm-file { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 8px; background: rgba(0,0,0,.06); color: inherit; font-size: 13px; text-decoration: none; }
.cm-msg--mine .cm-file { background: rgba(255,255,255,.18); color: #fff; }
.cm-composer { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--gray-100, #F2F4F7); align-items: flex-end; }
.cm-composer textarea { flex: 1; min-height: 44px; max-height: 160px; resize: vertical; }
.cm-composer__attach { cursor: pointer; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 10px; border: 1px solid #EAECF0; background: #fff; }
.cm-composer__attach input { display: none; }
.cm-composer__files { font-size: 12px; color: var(--gray-500, #667085); padding: 0 12px 8px; }

/* Avatares y marca */
.cm-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; background: var(--gray-100, #F2F4F7); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; color: var(--navy-900, #0B1F3A); font-size: 14px; }
.cm-avatar--lg { width: 72px; height: 72px; font-size: 22px; }
.cm-brand { display: flex; gap: 16px; align-items: center; padding: 18px 20px; border-radius: 16px; background: #fff; border-top: 5px solid var(--cm-accent, #0B1F3A); margin-bottom: 16px; }
.cm-brand__logo { max-height: 52px; max-width: 180px; }
.cm-brand__name { font-size: 20px; font-weight: 800; color: var(--navy-900, #0B1F3A); }
.cm-brand__status { color: var(--success, #16A34A); font-weight: 600; font-size: 14px; display: inline-flex; gap: 4px; align-items: center; }
.cm-brand__who { margin-left: auto; display: flex; gap: 10px; align-items: center; text-align: right; }
.cm-brand__who small { display: block; color: var(--gray-500, #667085); }
@media (max-width: 640px) { .cm-brand { flex-wrap: wrap; } .cm-brand__who { margin-left: 0; text-align: left; } }

/* Trimestre */
.cm-quarter { padding: 0; overflow: hidden; }
.cm-quarter__head { background: var(--cm-accent, var(--navy-900, #0B1F3A)); color: #fff; padding: 14px 18px; font-weight: 700; display: flex; gap: 8px; align-items: center; }
.cm-quarter__row { display: flex; align-items: center; gap: 12px; padding: 13px 18px; border-bottom: 1px solid var(--gray-100, #F2F4F7); }
.cm-quarter__row strong { margin-left: auto; }
.cm-ok { color: var(--success, #16A34A); }
.cm-warn { color: #B45309; }
.cm-shared { margin: 12px 18px 16px; padding: 9px 12px; border-radius: 10px; background: #E8F7EE; color: #15803D; font-weight: 600; display: flex; gap: 8px; align-items: center; font-size: 14px; }

/* Listas */
.cm-list { list-style: none; margin: 0; padding: 0; }
.cm-list li { display: flex; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--gray-100, #F2F4F7); }
.cm-list li:last-child { border-bottom: 0; }
.cm-list__main { flex: 1; min-width: 0; }
.cm-list__title { font-weight: 600; color: var(--navy-900, #0B1F3A); }
.cm-list__sub { color: var(--gray-500, #667085); font-size: 13px; }
.cm-actions { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.cm-actions form { margin: 0; }
.cm-filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: end; margin-bottom: 16px; }
.cm-filters .field { margin: 0; min-width: 160px; }
.cm-due--danger { color: var(--danger, #DC2626); font-weight: 700; }
.cm-due--warning { color: #B45309; font-weight: 700; }
.cm-circular-body { white-space: pre-wrap; line-height: 1.6; font-size: 15px; }
.cm-audience { background: var(--gray-50, #F9FAFB); border-radius: 12px; padding: 12px 14px; font-size: 14px; }
.cm-checks { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.cm-checks label { display: inline-flex; gap: 6px; align-items: center; font-weight: 500; font-size: 14px; }
.cm-evidence th { width: 34%; text-align: left; color: var(--gray-500, #667085); font-weight: 600; vertical-align: top; }
.cm-evidence td, .cm-evidence th { padding: 8px 10px; border-bottom: 1px solid var(--gray-100, #F2F4F7); word-break: break-all; }
.cm-pdf { width: 100%; height: 70vh; border: 1px solid #EAECF0; border-radius: 12px; background: #fff; }
.cm-swatch { display: inline-block; width: 18px; height: 18px; border-radius: 4px; vertical-align: middle; border: 1px solid rgba(0,0,0,.1); }
.cm-member { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 10px 0; border-bottom: 1px solid var(--gray-100, #F2F4F7); }
.cm-member form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0; }
.cm-empty { color: var(--gray-500, #667085); padding: 8px 0; }
