.communications-center { display: grid; gap: 18px; }
.communications-service { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 8px; background: var(--primary-soft); color: var(--forest-dark); font-size: 13px; line-height: 1.5; }
.communications-service p { margin: 5px 0 0; color: var(--muted); }
.communications-service small { display: block; margin-top: 7px; }
.communications-service .communications-worker-warning { color: #8b4e18; }
.communications-counts { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 8px; background: white; overflow: hidden; }
.communications-counts > div { padding: 16px 14px; border-right: 1px solid var(--line); }
.communications-counts > div:last-child { border-right: 0; }
.communications-counts span { display: block; color: var(--muted); font-size: 11px; min-height: 30px; }
.communications-counts strong { display: block; margin-top: 7px; font-size: 24px; color: var(--forest-dark); }
.communications-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.communications-filters label { flex: 1 1 150px; min-width: 0; }
.communications-filters label:first-child { flex-grow: 2; }
.communications-filters button { flex: 0 0 auto; }
.communications-status { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.communications-error { color: var(--danger); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.communications-hint { max-width: 280px; line-height: 1.5; margin-top: 7px; }
.communications-pages { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--muted); }
.communications-detail { padding: 22px 26px; color: var(--ink); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.communications-detail p { margin: 0 0 16px; }
.communications-confirmation { display: flex; align-items: flex-start; gap: 10px; }
.communications-confirmation input { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 4px; }
.communications-dialog-actions { flex-wrap: wrap; }
@media (max-width: 1000px) { .communications-counts { grid-template-columns: repeat(4, minmax(0, 1fr)); } .communications-counts > div { border-bottom: 1px solid var(--line); } }
@media (max-width: 640px) { .communications-service { grid-template-columns: 1fr; } .communications-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .communications-filters label { flex-basis: 100%; } .communications-dialog-actions button { width: 100%; } }
