/* mod-comms.css — Module E: communications outbox monitor, composer, inbound log. */

.comms-banner {
  background: var(--soft-amber);
  border: 1px solid var(--amber-line);
  border-radius: 10px;
  padding: .7rem .85rem;
  font-size: .9rem;
  margin: .6rem 0;
}
.comms-banner strong { display: block; margin-bottom: .15rem; }

.comms-tabs { display: flex; gap: .4rem; margin: .8rem 0; flex-wrap: wrap; }
.comms-tabs .btn[aria-selected="true"] { font-weight: 700; }

.comms-filters { display: flex; gap: .5rem; flex-wrap: wrap; align-items: flex-end; margin: .6rem 0; }
.comms-filters label { font-size: .8rem; color: var(--muted); display: flex; flex-direction: column; gap: .2rem; }

.comms-counts { display: flex; gap: .45rem; flex-wrap: wrap; margin: .5rem 0 .8rem; }
.comms-count { font-size: .78rem; color: var(--muted); }

table.comms-table { width: 100%; border-collapse: collapse; font-size: .88rem; min-width: 680px; }
table.comms-table th, table.comms-table td { padding: .5rem .4rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
table.comms-table th { font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); white-space: nowrap; }
table.comms-table .snippet { color: var(--muted); font-size: .82rem; }

.st-chip { display: inline-block; font-size: .74rem; font-weight: 700; border-radius: 999px; padding: .12rem .55rem; white-space: nowrap; }
.st-queued { background: var(--soft-neutral); border: 1px solid var(--line); }
.st-quiet_hold { background: var(--soft-amber); border: 1px solid var(--amber-line); }
.st-blocked_consent { background: #fde8e8; border: 1px solid #e8a3a3; color: #8f1d1d; }
.st-sent, .st-delivered { background: #e3f2e5; border: 1px solid #9cc7a3; color: #1d5c2a; }
.st-failed { background: #fde8e8; border: 1px solid #e8a3a3; color: #8f1d1d; }

.comms-reason { font-size: .82rem; color: var(--muted); margin-top: .25rem; }
.comms-detail dt { font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-top: .7rem; }
.comms-detail dd { margin: .15rem 0 0; font-size: .92rem; }
.comms-detail pre { white-space: pre-wrap; word-break: break-word; background: var(--soft-neutral); border: 1px solid var(--line); border-radius: 8px; padding: .6rem .7rem; font-size: .88rem; }

.comms-form label { display: block; margin: .7rem 0; font-size: .9rem; }
.comms-form input[type="text"], .comms-form input[type="email"], .comms-form input[type="datetime-local"],
.comms-form select, .comms-form textarea {
  display: block; width: 100%; margin-top: .25rem; padding: .5rem .6rem; font-size: .92rem;
  border: 1px solid var(--line); border-radius: 8px; background: var(--bg);
}
.comms-form textarea { min-height: 7rem; font-family: inherit; }
.comms-contact-card { background: var(--soft-neutral); border: 1px solid var(--line); border-radius: 10px; padding: .6rem .8rem; font-size: .88rem; margin: .6rem 0; }
.comms-template-note { font-size: .8rem; color: var(--muted); margin-top: .3rem; }
