.communications-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;gap:24px;max-width:1440px}
.communication-panel{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.communication-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;color:var(--graphite);font-family:Manrope,sans-serif;font-size:17px;font-weight:750;letter-spacing:-.02em}
.communication-campaign-list{border-top:1px solid var(--line)}
.communication-campaign-card{padding:17px 4px 18px;border-bottom:1px solid var(--line);min-width:0}
.communication-campaign-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}
.communication-campaign-heading time{white-space:nowrap}
.communication-category{display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;border-radius:999px;background:#FCE9E8;color:var(--ruby-dark);font-size:12px;font-weight:700;text-transform:none}
.communication-campaign-card h3{margin:11px 0 5px;font:700 16px/1.35 Manrope,sans-serif;color:var(--graphite);overflow-wrap:anywhere}
.communication-body{margin:0;color:#514843;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.communication-delivery-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 0;padding:0}
.communication-delivery-metric{min-width:0;padding:10px 9px;border-left:2px solid var(--line);background:#F8F9FA}
.communication-delivery-metric dt{font-size:11px;line-height:1.3;color:var(--muted);overflow-wrap:anywhere}
.communication-delivery-metric dd{margin:5px 0 0;color:var(--graphite);font:700 17px/1 Manrope,sans-serif}
.communication-form,.communication-publish-form{display:grid;gap:17px}
.communication-field{display:grid;gap:7px;min-width:0}
.communication-field .field-label{font-size:13px;font-weight:700;color:var(--graphite)}
.communication-field input,.communication-field select,.communication-field textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #BFC5CC;border-radius:8px;background:#fff;color:var(--graphite);font-size:16px;line-height:1.4}
.communication-field textarea{min-height:110px;resize:vertical}
.communication-field input:focus-visible,.communication-field select:focus-visible,.communication-field textarea:focus-visible{outline:3px solid #2F6FED;outline-offset:2px;border-color:#2F6FED}
.communication-field .field-hint,.communication-form>.field-hint{color:var(--muted);font-size:12px;line-height:1.45}
.communication-audience,.communication-locales{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:9px}
.communication-audience legend,.communication-locales legend{padding:0 5px;color:var(--graphite);font-size:13px;font-weight:700}
.communication-account-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;max-height:250px;overflow:auto;overscroll-behavior:contain}
.communication-account-option{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;padding:5px 8px;border-radius:7px;color:var(--graphite);font-size:13px;cursor:pointer}
.communication-account-option:hover{background:#F3F4F6}
.communication-account-option input,.communication-confirmation input{width:20px;height:20px;min-width:20px;min-height:20px;accent-color:var(--ruby)}
.communication-account-option span{min-width:0;overflow-wrap:anywhere}
.communication-locales{display:grid;gap:8px}
.communication-locale-details{border-top:1px solid var(--line)}
.communication-locale-details summary{display:flex;align-items:center;min-height:44px;padding:0 4px;color:var(--graphite);font-size:13px;font-weight:700;cursor:pointer}
.communication-locale-details .communication-field{margin:0 3px 12px}
.communication-preview{border-left:4px solid var(--ruby)}
.communication-preview-timer{color:var(--muted);font:500 12px/1.4 DMSans,sans-serif}
.communication-immutability,.communication-fallback-note{margin:0;color:#514843;font-size:13px;line-height:1.5}
.communication-immutability{padding:10px 12px;border-radius:7px;background:#F3F4F6}
.communication-audience-summary{margin:15px 0 8px;font-weight:700;color:var(--graphite)}
.communication-preview-recipients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin:0 0 12px;padding:0 0 0 19px;max-height:150px;overflow:auto;font-size:13px;color:#514843}
.communication-fallback-note{margin:0 0 12px;padding-left:11px;border-left:2px solid #D99819}
.communication-preview-message{padding:14px 0;border-top:1px solid var(--line)}
.communication-preview-message h3{margin:9px 0 5px;color:var(--graphite);font:700 16px/1.35 Manrope,sans-serif;overflow-wrap:anywhere}
.communication-preview-message p{margin:0;color:#514843;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.communication-preview-link{margin-top:9px!important;color:var(--ruby-dark)!important;font-size:12px!important;overflow-wrap:anywhere}
.communication-cancel-pending{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.communication-cancel-pending summary{display:flex;align-items:center;min-height:44px;color:var(--ruby-dark);font-size:13px;font-weight:700;cursor:pointer}
.communication-cancel-form{display:grid;gap:12px;padding:5px 0 2px}
.communication-cancel-form textarea{width:100%;min-height:70px;padding:10px 12px;border:1px solid #BFC5CC;border-radius:8px;background:#fff;color:var(--graphite);font:16px/1.4 DMSans,sans-serif;resize:vertical}
.communication-cancel-form textarea:focus-visible{outline:3px solid #2F6FED;outline-offset:2px;border-color:#2F6FED}
.communication-confirmation{display:flex;align-items:flex-start;gap:10px;min-height:44px;color:#514843;font-size:13px;line-height:1.45;cursor:pointer}
.communication-confirmation input{margin:1px 0 0;flex:none}
.communication-actions{display:flex;flex-wrap:wrap;gap:10px}
.communication-alert{margin:0;padding:11px 13px;border-radius:8px;font-size:13px;line-height:1.45}
.communication-alert.is-error{border:1px solid #EDB4B0;background:var(--red-bg);color:#9B2821}
.communication-empty{padding:24px 0;color:var(--muted)}
.communication-empty h3{margin:0 0 7px;color:var(--graphite);font:700 15px/1.35 Manrope,sans-serif}
.communication-empty p{max-width:54ch;margin:0;font-size:13px;line-height:1.5}
.communication-loading{color:var(--muted);font-size:14px}
@media(max-width:980px){.communications-layout{grid-template-columns:minmax(0,1fr)}.communication-panel{padding:19px}.communication-preview{border-left-width:3px}}
@media(max-width:560px){.communication-panel{padding:15px}.communication-section-heading{align-items:flex-start;font-size:16px}.communication-delivery-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.communication-delivery-metric{display:flex;align-items:center;justify-content:space-between;gap:10px}.communication-delivery-metric dd{margin:0}.communication-account-list,.communication-preview-recipients{grid-template-columns:minmax(0,1fr)}.communication-actions{display:grid}.communication-actions .button{width:100%;min-height:46px}.communication-preview-timer{max-width:48%;text-align:right}}

.communication-audience[hidden]{display:none}.communication-segment{display:grid;gap:12px}.communication-filter-group{min-width:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:8px}.communication-filter-group legend{padding:0 4px;color:var(--graphite);font-size:12px;font-weight:700}.communication-filter-group .communication-account-option{display:inline-flex;min-width:150px;margin-right:8px}.communication-test-audience select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #BFC5CC;border-radius:8px;background:#fff;color:var(--graphite);font-size:16px}

.communication-template-manage{align-self:flex-start;flex:none;text-decoration:none}
.communication-template-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}
.communication-template-heading-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;text-decoration:none}
.communication-template-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.communication-template-card{display:grid;gap:10px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.communication-template-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.communication-template-state{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700}
.communication-template-state.is-active{background:#E6F4EC;color:#17663A}
.communication-template-state.is-archived{background:#F1F2F4;color:#535B65}
.communication-template-card h2{margin:0;color:var(--graphite);font:700 17px/1.35 Manrope,sans-serif;overflow-wrap:anywhere}
.communication-template-card h3{margin:4px 0 0;color:var(--graphite);font:700 14px/1.4 Manrope,sans-serif;overflow-wrap:anywhere}
.communication-template-meta{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.communication-template-edit{justify-self:start;margin-top:3px;text-decoration:none}
.communication-template-form{display:grid;gap:16px}
.communication-template-form .communication-confirmation{align-items:center;padding:5px 0}
.communication-template-form .communication-actions{justify-content:flex-end}
.communication-template-form .communication-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;text-decoration:none}
@media(max-width:760px){.communication-template-cards{grid-template-columns:minmax(0,1fr)}.communication-template-heading-actions{width:100%;justify-content:flex-start}.communication-template-manage{white-space:nowrap}}
@media(max-width:560px){.communication-template-heading-actions{display:grid;grid-template-columns:minmax(0,1fr)}.communication-template-heading-actions .button,.communication-template-form .communication-actions .button{width:100%}.communication-template-form .communication-actions{display:grid}}
