/* ===== MATRIZ DE PERMISSÕES ===== */
table.matrix th { text-align: center; }
table.matrix th:first-child, table.matrix td:first-child { text-align: left; }
.mx-yes { color: var(--success); font-weight: 700; }
.mx-no { color: var(--text-muted); }

/* ===== CANAIS DE COMUNICAÇÃO ===== */
.channel-card { display: flex; align-items: center; gap: 14px; }
.channel-ic { width: 46px; height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.channel-ic svg { width: 22px; height: 22px; }

/* ===== INBOX ===== */
.inbox { display: flex; gap: 0; background: var(--surface); border: 1px solid var(--border-light); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); height: 560px; }
.inbox-list { width: 320px; border-right: 1px solid var(--border-light); overflow-y: auto; flex-shrink: 0; }
.inbox-thread { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--border-light); cursor: pointer; transition: var(--transition); }
.inbox-thread:hover { background: var(--bg); }
.inbox-thread.active { background: var(--accent-light); }
.inbox-conv { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.inbox-conv-head { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--border-light); }
.inbox-msgs { flex: 1; padding: 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; background: var(--bg); }
.imsg { max-width: 70%; padding: 10px 14px; border-radius: 14px; font-size: .88rem; line-height: 1.4; }
.imsg.in { background: var(--surface); border: 1px solid var(--border-light); align-self: flex-start; border-bottom-left-radius: 4px; }
.imsg.out { background: var(--accent); color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; }
.inbox-compose { display: flex; gap: 10px; padding: 14px 16px; border-top: 1px solid var(--border-light); }
.inbox-compose .form-input { flex: 1; }

/* ===== TIMELINE / AUDITORIA ===== */
.timeline { position: relative; padding-left: 8px; }
.tl-item { display: flex; gap: 16px; padding-bottom: 22px; position: relative; }
.tl-item:not(:last-child)::before { content: ''; position: absolute; left: 17px; top: 36px; bottom: 0; width: 2px; background: var(--border); }
.tl-dot { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; z-index: 1; }
.tl-dot svg { width: 18px; height: 18px; }
.tl-text { font-size: .9rem; }
.tl-meta { font-size: .76rem; color: var(--text-muted); margin-top: 2px; }

@media (max-width: 768px) {
  .inbox { flex-direction: column; height: auto; }
  .inbox-list { width: 100%; max-height: 240px; }
  .inbox-msgs { min-height: 280px; }
}
