.communications, .communication-inbox { display: grid; gap: var(--space-sm); min-width: 0; margin-block: var(--space-sm); }
.communication-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); min-width: 0; }
.communication-toolbar h2 { margin: 0 var(--space-sm) 0 0; font-size: 1.2rem; }
.communication-filters { align-items: flex-end; }
.communication-filters > .field { width: min(100%, 16rem); }
.communication-counts { margin-left: auto; padding: .5rem; font-size: .875rem; }
.communication-table-scroll { overflow: auto; max-height: 50vh; border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.communication-table { border-collapse: separate; border-spacing: 0; width: 100%; font-family: inherit; font-size: .875rem; line-height: 1.25; }
.communication-table th, .communication-table td { text-align: left; vertical-align: middle; padding: .35rem .5rem; border-bottom: 1px solid var(--color-border); border-right: 1px solid var(--color-border); }
.communication-table thead th { position: sticky; top: 0; z-index: 1; background: var(--color-surface-muted); font-weight: 600; white-space: nowrap; }
.communication-table td { background: var(--color-surface); }
.communication-table .button { min-height: 28px; padding: .25rem .4rem; font-size: .8125rem; white-space: nowrap; }
.communication-table small { display: block; color: var(--color-text-muted); }
.communication-row--overdue td { background: color-mix(in srgb, #ce3f3f 9%, var(--color-surface)); }
.communication-row--muted td { color: var(--color-text-muted); }
.communication-date { white-space: nowrap; font-variant-numeric: tabular-nums; }
.communication-state { margin: 0; font-size: .875rem; }
.communication-badge { display: inline-block; margin-left: .4rem; padding: .15rem .3rem; font-size: .75rem; border: 1px solid var(--color-border); border-radius: 4px; }
.communication-dialog-content { display: grid; gap: var(--space-sm); min-width: 0; max-height: min(65vh, 46rem); overflow: auto; padding: .15rem; }
.communication-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
.communication-info { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: var(--space-sm); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface-muted); font-size: .875rem; }
.communication-info > strong { width: 100%; font-size: 1rem; }
.communication-flags { display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: center; font-size: .875rem; }
.communication-flags label { display: flex; gap: .4rem; align-items: center; }
.communication-audience { border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: .5rem; margin: 0; min-width: 0; }
.communication-audience__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem .8rem; max-height: 12rem; overflow: auto; }
.communication-audience label { display: flex; gap: .4rem; align-items: flex-start; font-size: .875rem; }
.communication-audience small { display: block; color: var(--color-text-muted); font-size: .8125rem; }
.communication-history { max-height: 12rem; }
@media (max-width: 650px) { .communication-grid, .communication-audience__list { grid-template-columns: 1fr; } .communication-counts { margin-left: 0; } }
