@import url('./sms-message-preview.css');
@import url('./reporting-line-chart.css');

/* Messaging route-only workspace: shared Contacts tokens and directory geometry. */
.marketing-workspace { overflow: hidden; --cp-surface: #fafafa; }
.marketing-workspace [hidden], .marketing-dialog [hidden] { display: none !important; }
.marketing-screen { display: flex; flex-direction: column; height: 100%; min-height: 0; padding: 39px 36px 18px 35px; font-size: 11px; }
.marketing-heading, .marketing-title, .marketing-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.marketing-heading { justify-content: space-between; flex: 0 0 auto; }
.marketing-title { gap: 6px; }
.marketing-title h1 { margin: 0; font-size: 16px; font-weight: 500; text-transform: uppercase; }
.marketing-title .contact-count { min-width: 100px; margin-left: 14px; }
.marketing-actions { min-width:0; max-width:100%; justify-content:flex-end; gap:5px; }
.marketing-page-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; max-width:100%; }
.marketing-filter-sort-controls { display:flex; align-items:center; flex-wrap:wrap; gap:7px; min-width:0; max-width:100%; }
.marketing-filter-sort-controls .filter-chip-row { flex-wrap:wrap; }
/* Page references can be long; keep Audience pills within the shared header width. */
.marketing-filter-sort-controls #audience-filter-pills { max-width:100%; }
.marketing-filter-sort-controls #audience-filter-pills .filter-chip { max-width:100%; min-width:0; }
.marketing-filter-sort-controls #audience-filter-pills .filter-chip__toggle { min-width:0; }
.marketing-filter-sort-controls #audience-filter-pills strong { flex-shrink:1; overflow:hidden; text-overflow:ellipsis; }
.marketing-page-actions > .marketing-create-campaign { width:auto; flex:0 0 auto; }
.marketing-create-campaign .contact-create-menu__label { min-width:82px; }
.marketing-workspace .marketing-create-campaign .contact-create-menu__icon .icon { width:9px; height:9px; flex:0 0 9px; }
.marketing-workspace button:not(.left-directory-handle button,.business-calendars-directory__item), .marketing-dialog button:not(.pragtical-dialog-close,.contact-list-create-drawer__directory-row,.communication-setup-info) { cursor: pointer; }
.marketing-page-actions > button:not(.data-values-page-action), .marketing-empty button, .marketing-selection button, .marketing-detail-toolbar button, .marketing-dialog footer button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 26px; padding: 4px 9px; border: 1px solid #a8aaa8; border-radius: 4px; background: #fff; color: var(--ink); font: inherit; font-size: 10px; }
.marketing-workspace .marketing-primary, .marketing-dialog .marketing-primary { background: var(--pale-lime); }
.marketing-workspace button:hover:not(:disabled,.table-heading-button,.filter-chip__toggle,.filter-chip__remove,.data-values-tab), .marketing-dialog button:hover:not(:disabled) { background: var(--blue); }
.marketing-workspace :focus-visible, .marketing-dialog :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.marketing-workspace button:disabled, .marketing-dialog button:disabled { opacity: .5; cursor: default; }
/* Selection brackets retain Contacts' shared geometry instead of toolbar icon sizing. */
.marketing-workspace .icon:where(:not(.selection-bracket)), .marketing-dialog .icon:where(:not(.selection-bracket)) { width: 13px; height: 13px; flex: 0 0 13px; object-fit: contain; }
.marketing-intro { flex: 0 0 auto; margin: 6px 0 0; line-height: 1.4; color: #454b49; }
/* Match Conversations' directory proportions, section rows, count badges and handle. */
.marketing-layout { flex: 1 1 0; gap:22px; min-height: 0; margin-top: 16px; }
.marketing-layout > .marketing-directory-dock { flex-basis:210px; width:210px; height: 100%; align-self: stretch; }
.marketing-directory-dock .marketing-directory { height: 100%; max-height: 100%; }
.marketing-directory { display: flex; flex-direction: column; border: 1px solid var(--line-soft); background: #fcfcfc; }
.marketing-directory .business-calendars-directory__caret { width:6px; height:5px; flex:0 0 6px; }
.marketing-directory .business-calendars-directory__item.is-active .business-calendars-directory__count { color:var(--ink); background:#d5d5d5; }
.marketing-directory-handle .icon { width:8px; height:8px; flex:0 0 8px; }
.marketing-directory-handle button[aria-expanded="false"], .marketing-directory-handle button[aria-expanded="false"] .left-directory-handle__label { height:158px; }
.marketing-directory .business-calendars-directory__builder { display: flex; align-items: center; justify-content: center; gap: 7px; background: var(--lime); }
.marketing-directory .left-directory-note { margin: 25px 16px 12px; line-height: 1.6; }
.marketing-content { display: flex; flex-direction: column; overflow: hidden; }
.marketing-tabs { display: flex; align-items: center; flex: 0 0 auto; gap: 12px; padding: 0 0 12px; }
.marketing-tabs button { min-width: 96px; min-height: 31px; padding: 6px 14px; background: var(--pale-lime); border: 1px solid #d1d8b8; border-radius: 6px; font: inherit; font-size: 11px; }
.marketing-tabs button[aria-selected="true"] { box-shadow: 0 5px 0 #111; }
.marketing-panel { display: flex; flex: 1 1 0; flex-direction: column; min-width: 0; min-height: 0; outline-offset: -2px !important; }
/* Keep Task Manager's title proportions and reserve its outer header-frame gutters. */
.marketing-list-controls { display:flex; align-items:center; flex:0 0 auto; flex-wrap:wrap; gap:7px; min-height:36px; padding:0 0 8px; }
.marketing-future-filter select { min-height:24px; padding:3px 5px; border:1px solid #aaa; border-radius:4px; background:#fff; color:#111; font:inherit; font-size:10px; }
.marketing-capability { font-size:10px; color:var(--muted); margin-right:5px; }
.marketing-directory-dock[data-expanded="true"] + .marketing-content .marketing-capability { padding-left:5px; }
.marketing-filter-sort-controls .toolbar-icon-button { width:24px; height:24px; margin:0; align-self:center; }
.marketing-matching { margin-left:auto; font-size:10px; color:var(--muted); }
.marketing-panel [data-builder-list=campaign] { flex:1 1 0; min-width:0; min-height:0; width:calc(100% - 20px); margin:0 10px; }
.marketing-panel .business-calendar-builder__list-bar { flex:0 0 auto; align-items:flex-end; }
.marketing-panel .business-calendar-builder__list-tabs { flex:1 1 0; }
.marketing-panel .business-calendar-builder__list-search { flex:0 1 245px; margin:0; }
.marketing-panel .business-calendar-builder__list-search .list-search { width:245px; max-width:100%; margin:0; }
.marketing-panel .business-calendar-builder__list-content { flex:1 1 0; min-height:0; }
.marketing-panel .business-calendar-builder__table-shell { flex:1 1 0; width:calc(100% + 20px); height:auto; min-height:100px; margin:0 -10px 12px; }
.marketing-panel .business-calendar-builder__table-shell .contacts-list-container { left:10px; right:10px; }
.marketing-panel .business-calendar-builder__table-shell::before, .marketing-panel .business-calendar-builder__table-shell::after { right:0; }
.marketing-panel .business-calendar-builder__table-scroll { padding:0 4px 12px; }
.marketing-panel .business-calendar-builder__calendar-table { margin-left:0; }
.marketing-panel .business-calendar-builder__calendar-table tbody th:first-child { padding-left:30px; }
.marketing-panel .marketing-table tbody [data-column=name] > span[title] { white-space:normal; overflow-wrap:anywhere; }
.marketing-panel .marketing-table tbody [data-column=audience] > span { display:block; white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
/* Keep explanation controls separate from the accepted sorting buttons and arrows. */
.marketing-panel .marketing-table thead :is([data-column=audience],[data-column=ctaClicks]) .table-heading-button { max-width:calc(100% - 32px); }
.marketing-column-info { position:absolute; top:14px; right:6px; z-index:3; display:grid; place-items:center; width:18px; height:18px; padding:0; border:0; border-radius:50%; background:transparent; }
.marketing-column-info .icon { width:12px; height:12px; }
.marketing-column-help { position:fixed; inset:auto; box-sizing:border-box; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overflow:auto; margin:0; padding:10px 12px; border:1px solid #aeb0ac; border-radius:5px; background:#fff; color:var(--ink); box-shadow:0 3px 10px #0002; font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.marketing-column-help p { margin:4px 0 0; }
.marketing-panel .column-field-token__label { flex-shrink:1; }
.marketing-panel :is([data-campaign-selection-toolbar],[data-audience-directory-selection-toolbar]) { flex:0 0 auto; flex-wrap:wrap; height:auto; min-height:30px; margin:0; }
.marketing-panel .business-calendar-builder__pagination { flex:0 0 auto; flex-wrap:wrap; gap:5px; min-height:36px; padding:5px 10px; }
.marketing-panel .contacts-pagination__controls { margin-left:auto; }
.marketing-panel :focus-visible { outline:2px solid var(--focus); outline-offset:-2px; }
.marketing-empty { display: flex; flex: 1 0 auto; width: 100%; min-height: 180px; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 45px 25px; text-align: center; line-height: 1.7; }
.marketing-empty h2, .marketing-empty h3 { margin: 0; font-size: 15px; font-weight: 500; }
.marketing-empty p { max-width: 440px; margin: 0; color: var(--muted); }
.marketing-empty-icon { display: grid; place-items: center; width: 45px; height: 45px; border: 1px solid #d0d5c2; border-radius: 10px; background: var(--pale-lime); }
.marketing-empty-icon .icon { width: 24px; height: 24px; }
.marketing-future { min-height: 200px; border: 1px solid var(--line-soft); background: #fcfcfc; overflow-y: auto; }
.marketing-eyebrow { font-size: 9px; letter-spacing: .5px; }
.marketing-empty-actions { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 5px; }
.marketing-status { flex: 0 0 auto; min-height: 14px; margin: 8px 0 0; color: #4a5649; font-size: 10px; }
.marketing-workspace [role="alert"], .marketing-save-error { color: #a03131; }
.marketing-status:empty, .marketing-workspace [role="alert"]:empty, .marketing-save-error:empty { display: none; }
.marketing-detail-toolbar { display: flex; flex: 0 0 auto; justify-content: space-between; gap: 10px; padding: 5px 0 16px; }
.marketing-detail-scroll { flex: 1 1 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 12px 10px 0; scrollbar-width: thin; }
.marketing-detail-identity { display: flex; align-items: center; gap: 15px; padding: 18px; border: 1px solid var(--line-soft); background: #fafafa; margin-bottom: 18px; }
.marketing-detail-identity h2 { margin: 3px 0 9px; font-size: 17px; font-weight: 500; overflow-wrap: anywhere; }
.marketing-detail-identity p { margin: 0; font-size: 9px; color: var(--muted); }
.marketing-detail-icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 50%; background: var(--blue-strong); }
.marketing-detail-icon .icon { width: 24px; height: 24px; }
.marketing-detail-grid { display: grid; grid-template-columns: minmax(210px,.8fr) minmax(260px,1.2fr); gap: 18px; }
.marketing-record-details { padding: 8px 13px; }
.marketing-record-details > div { display: grid; gap: 5px; padding: 12px 0; }
.marketing-record-details dt { font-size: 10px; color: var(--muted); }
.marketing-record-details dd { margin: 0; font-size: 11px; white-space: pre-wrap; overflow-wrap: anywhere; }
.marketing-record-details small { display: block; margin-top: 9px; color: var(--muted); font-size: 9px; white-space: normal; }
.marketing-preview { padding: 14px; }
.marketing-preview-subject { display: grid; gap: 5px; margin: 0 0 15px; padding-bottom: 13px; border-bottom: 1px solid var(--line-soft); overflow-wrap: anywhere; }
.marketing-preview-subject strong { font-size: 9px; color: var(--muted); font-weight: 400; }
.marketing-message { min-height: 140px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.marketing-preview-note { margin: 14px 0 0; padding-top: 10px; border-top: 1px solid var(--line-soft); font-size: 9px; line-height: 1.6; color: var(--muted); }
/* Shared native drawer shell; the body scrolls independently of its header/footer. */
.marketing-dialog { width: min(590px, calc(100vw - 24px)); max-width: none; height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); margin: 12px 12px 12px auto; padding: 0; border: 1px solid #aaa; border-radius: 10px; color: #111; font-size: 11px; }
.marketing-dialog::backdrop { background: #0005; backdrop-filter: blur(2px); }
.marketing-dialog .contact-list-create-drawer { position: relative; inset: auto; display: flex; flex-direction: column; width: 100%; height: 100%; max-height: none; overflow: hidden; animation: marketing-drawer-enter 150ms ease both; }
@keyframes marketing-drawer-enter { from { opacity: .5; } to { opacity: 1; } }
.marketing-dialog .contact-list-create-drawer__header { flex: 0 0 auto; min-height: 54px; }
.marketing-dialog .contact-list-create-form { display: flex; flex: 1 1 0; flex-direction: column; min-height: 0; padding: 0; }
.marketing-dialog .contact-list-create-drawer__body { flex: 1 1 0; min-height: 0; overflow-y: auto; padding: 20px; overscroll-behavior: contain; scrollbar-width: thin; }
.marketing-dialog .contact-create-form__footer { flex: 0 0 auto; margin: 0; padding: 14px 20px; border-top: 1px solid var(--line-soft); }
.marketing-editor-intro { margin: 0 0 24px; line-height: 1.6; color: var(--muted); }
.marketing-editor-group { margin-bottom: 22px; }
.marketing-editor-group > h3 { margin: 0 0 17px; padding-bottom: 10px; border-bottom: 1px solid var(--line-soft); font-size: 12px; font-weight: 500; }
.marketing-dialog .cp-editor-field { margin: 0 0 16px; }
/* Native info disclosures match existing editor circles and stay within the drawer width. */
.marketing-field-label { position: relative; display: flex; align-items: center; gap: 5px; min-width: 0; flex: 1; }
.marketing-field-info { flex: 0 0 16px; }
.marketing-field-info > summary { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; cursor: help; list-style: none; }
.marketing-field-info > summary::-webkit-details-marker { display: none; }
.marketing-field-info > summary .icon { width: 12px; height: 12px; flex: 0 0 12px; }
.marketing-field-info > summary:hover { background: var(--blue); }
.marketing-field-info-panel { position: absolute; z-index: 4; top: calc(100% + 5px); left: 0; width: min(310px, calc(100vw - 72px)); max-width: none; padding: 10px 12px; border: 1px solid #aeb0ac; border-radius: 5px; background: #fff; color: var(--ink); box-shadow: 0 3px 10px #0002; font-size: 10px; font-weight: 400; line-height: 1.6; overflow-wrap: anywhere; }
/* Keep the message AI action beside its label and allow wrapping in narrow drawers. */
.marketing-message-field-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.marketing-dialog .marketing-generate-ai { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 26px; padding: 4px 9px; border: 1px solid #df9c83; border-radius: 4px; background: linear-gradient(90deg, #ffc28f 0%, #ff807b 100%); color: var(--ink); font: inherit; font-size: 10px; }
.marketing-dialog .marketing-generate-ai:hover:not(:disabled) { background: linear-gradient(90deg, #ffb97b 0%, #ff746f 100%); }
.marketing-generate-ai .icon { filter: brightness(0); }
.marketing-dialog #marketing-message-ai-status { margin: 0; }
.marketing-dialog textarea { resize: vertical; }
.marketing-dialog .cp-muted { line-height: 1.6; font-size: 10px; }
.marketing-save-error { flex: 0 0 auto; margin: 0; padding: 10px 20px; background: #fff4f1; }
.marketing-settings-dialog .communication-settings-heading { display: flex; justify-content: end; margin: 12px 0; }
.marketing-settings-dialog .communication-provider-identity { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.marketing-settings-dialog .communication-provider-identity strong { font-size: 15px; }
.marketing-settings-dialog .cp-record-details dd { overflow-wrap: anywhere; }
.marketing-settings-dialog .communication-setup-dialog { max-width: min(450px, calc(100vw - 30px)); }
.marketing-settings-dialog .communication-setup-summary { display: flex; align-items: center; gap: 7px; cursor: pointer; }
.marketing-settings-dialog .communication-setup-summary::marker { content: ""; }
.marketing-settings-dialog .communication-setup-chevron { width: 9px; height: 9px; }
.marketing-settings-dialog details[open] > summary .communication-setup-chevron { transform: rotate(180deg); }
@media (max-width: 1400px) { .marketing-detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 1179px) { .marketing-workspace { grid-column: 1; } .marketing-screen { padding-inline: 24px; } }
@media (max-width: 767px) { .marketing-screen { padding: 24px 16px 18px; } }
@media (max-width: 700px) {
  .marketing-heading { gap: 13px; }
  .marketing-title h1 { font-size: 14px; }
  .marketing-title .contact-count { min-width: 82px; font-size: 9px; }
  .marketing-intro { font-size: 10px; }
  .marketing-actions { gap: 5px; }
  .marketing-tabs { gap: 5px; }
  .marketing-tabs button { min-width: 0; flex: 1; padding: 6px 7px; font-size: 10px; }
  .marketing-list-controls { gap:5px; }
  .marketing-capability { flex:1 0 100%; }
  .marketing-matching { margin-left:auto; }
  .marketing-panel .business-calendar-builder__list-bar { height:auto; min-height:40px; flex-wrap:wrap; gap:6px; }
  .marketing-panel .business-calendar-builder__list-tabs { flex:1 0 100%; }
  .marketing-panel .business-calendar-builder__list-search { flex:1 0 100%; }
  .marketing-panel .business-calendar-builder__list-search .list-search { width:100%; }
  .marketing-panel .business-calendar-builder__pagination { padding:6px; font-size:9px; }
  .marketing-panel .contacts-pagination__controls { flex-wrap:wrap; justify-content:end; gap:4px; }
  /* Let engagement columns use the phone viewport instead of hiding behind a frozen name. */
  .marketing-panel .marketing-table [data-column=name] { position:relative; left:auto; }
  .marketing-panel .marketing-table .contacts-table__name-scrim { display:none; }
  .marketing-empty { padding: 25px 13px; gap: 10px; }
  .marketing-empty h2,.marketing-empty h3 { font-size: 13px; }
  .marketing-empty p { font-size: 10px; }
  .marketing-dialog { width: calc(100vw - 16px); margin: 8px; height: calc(100dvh - 16px); max-height: calc(100dvh - 16px); }
  .marketing-detail-identity { padding: 12px; gap: 10px; }
  .marketing-detail-identity h2 { font-size: 14px; }
  .marketing-detail-grid { display: block; }
  .marketing-detail-toolbar button { font-size: 9px; padding: 4px; }
}

/* Channel choice stays compact; the existing channel editors keep their native drawer shell. */
.marketing-channel-dialog { width:min(440px,calc(100vw - 24px)); height:auto; max-height:calc(100dvh - 24px); margin:auto; }
.marketing-channel-dialog .contact-list-create-drawer { height:auto; }
.marketing-channel-chooser { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.marketing-channel-chooser button { display:flex; flex-direction:column; gap:10px; align-items:center; padding:22px 12px; border:1px solid #bdc5b0; border-radius:8px; background:var(--pale-lime); font:inherit; }
.marketing-channel-chooser button span { font-size:10px; line-height:1.5; }
.marketing-live-preview { min-height:80px; padding:12px; border:1px solid var(--line-soft); background:white; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
.marketing-future-filter { flex:0 0 auto; padding:4px 0 12px; }
.marketing-future-filter label { display:flex; align-items:center; gap:8px; }
/* Keep shared icon sizing and mobile toolbar direction from inheriting route-wide icon overrides. */
.marketing-panel .business-calendar-builder__list-bar { flex-direction:row; padding-bottom:0; }
.marketing-panel .column-field-token__folder { width:100%; height:32px; max-width:none; flex:none; }
.marketing-panel .column-field-token__trailing { width:5px; height:10px; flex:0 0 5px; }
.marketing-channel-dialog { inset:0; }
.marketing-channel-dialog .contact-list-create-form { flex:0 1 auto; }
.marketing-channel-dialog .contact-list-create-drawer__body { flex:0 1 auto; max-height:calc(100dvh - 180px); }
@media(max-width:700px) {
 .marketing-layout { gap:8px; padding-left:48px; }
 .marketing-layout:has(> .marketing-directory-dock[data-expanded="true"]) { flex-direction:column; padding-left:0; }
 .marketing-layout > .marketing-directory-dock[data-expanded="false"] { position:absolute; left:0; top:0; }
 .marketing-layout > .marketing-directory-dock[data-expanded="true"] { position:relative; flex:0 0 150px; width:100%; height:150px; padding-right:24px; }
 .marketing-directory-dock[data-expanded="true"] .left-directory-handle { left:calc(100% - 25px); top:0; }
 .marketing-panel .business-calendar-builder__list-bar { align-items:stretch; }
 .marketing-panel .business-calendar-builder__list-search { width:100%; justify-content:flex-start; }
}
.marketing-unsaved { display:flex; flex-wrap:wrap; align-items:center; gap:8px; width:100%; }
.marketing-unsaved > span { flex:1 0 100%; font-size:11px; }

/* Audience review uses the shared drawer/table framing while keeping its scroll inside the viewport. */
.marketing-audience-dialog { width: min(1120px, calc(100vw - 24px)); max-width: calc(100vw - 24px); }
.marketing-audience-dialog .contact-create-drawer { width: 100%; max-width: 100%; }
.marketing-audience-dialog .contact-list-create-drawer__body { display: block; overflow-y: auto; overflow-x: hidden; min-height: 0; }
.marketing-audience-dialog [data-audience-table] { min-height: 340px; height: 430px; max-width: 100%; }
.marketing-audience-dialog [data-builder-list] { height: 100%; min-width: 0; }
.marketing-audience-dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
.marketing-audience-dialog .cp-editor-field { margin: 12px 0; }
.marketing-audience-dialog [data-column=actions] label { display: flex; gap: 6px; align-items: center; }
.marketing-source-option { display: flex; gap: 8px; align-items: center; padding: 6px 0; overflow-wrap: anywhere; }
.marketing-audience-dialog [data-audience-review] { padding: 10px 0; }
.marketing-audience-dialog [data-column=reason] { white-space: normal; overflow-wrap: anywhere; }
.marketing-audience-dialog [data-column=destination] { overflow-wrap: anywhere; }
.marketing-audience-dialog tbody [data-column=name] > span { white-space: normal; overflow-wrap: anywhere; }
.marketing-audience-dialog .business-calendar-builder__list-content { min-height: 260px; }
.marketing-audience-dialog .business-calendar-builder__table-scroll { min-height: 260px; }
.marketing-panel .marketing-audience-summary { display: grid; gap: 2px; min-width: 0; padding: 5px 0; white-space: normal; }
.marketing-panel .marketing-audience-summary > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.marketing-panel .marketing-audience-summary small { font-size: 10px; line-height: 1.3; }
.marketing-audience-dialog .business-calendar-builder__calendar-table tbody th[data-column=name] { padding-left: 34px; }
.marketing-audience-dialog .business-calendar-builder__pagination { flex-wrap: wrap; gap: 6px; height: auto; min-height: 44px; padding: 8px; }
.marketing-audience-dialog .business-calendar-builder__pagination output { white-space: normal; max-width: 100%; }
.marketing-audience-dialog .contacts-pagination__controls { margin-left: auto; max-width: 100%; }
.marketing-audience-dialog .business-calendar-builder__list-bar { flex-direction: row; flex-wrap: wrap; gap: 6px; height: auto; }
.marketing-audience-dialog .business-calendar-builder__list-search { flex: 1 1 210px; min-width: 0; max-width: 100%; }
.marketing-audience-dialog .business-calendar-builder__list-search .list-search { width: 100%; max-width: 100%; }
@media (max-width: 700px) {
  .marketing-audience-dialog { width: calc(100vw - 12px); max-width: calc(100vw - 12px); }
  .marketing-audience-dialog .business-calendar-builder__list-search { flex-basis: 100%; width: 100%; }
  .marketing-audience-dialog [data-audience-table] { height: 500px; }
}

/* Audience-only layout: shared Contacts chrome and sorting controls stay intact. */
.marketing-audience-dialog[data-audience-drawer] .marketing-audience-action {
 display:inline-flex; align-items:center; justify-content:center; gap:6px;
 min-height:26px; padding:4px 9px; border:1px solid #a8aaa8; border-radius:4px;
 background:#fff; color:var(--ink); font:inherit; font-size:10px;
}
.marketing-audience-dialog[data-audience-drawer] .contact-list-create-drawer__body {
 display:flex; flex-direction:column; gap:10px; overflow:auto; padding:16px 20px;
}
.marketing-audience-source-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; flex:0 0 auto; }
.marketing-audience-source-summary > div { display:grid; gap:4px; min-width:0; }
.marketing-audience-source-summary strong { overflow-wrap:anywhere; }
.marketing-audience-source-summary > button { flex:0 0 auto; }
.marketing-audience-dialog[data-audience-drawer] [data-audience-sources] {
 flex:0 0 auto; max-height:220px; overflow:auto; padding:10px 12px;
 border:1px solid var(--line-soft); border-radius:4px; scrollbar-width:thin;
}
.marketing-audience-dialog [data-audience-sources] .marketing-editor-group { margin:0; }
.marketing-audience-source-editor > p { margin:0 0 8px; }
.marketing-audience-source-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 20px; }
.marketing-audience-source-grid > * { min-width:0; }
.marketing-audience-saved-lists { padding-right:16px; border-right:1px solid var(--line-soft); }
.marketing-audience-saved-lists > p { margin:8px 0 0; color:var(--muted); font-size:10px; }
.marketing-audience-saved-lists .marketing-source-option { align-items:flex-start; line-height:1.5; }
.marketing-audience-saved-lists input { flex:0 0 auto; margin-top:2px; }
.marketing-audience-dialog [data-audience-sources] .cp-editor-field { margin:8px 0; }
.marketing-audience-source-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:0 0 8px; }
.marketing-audience-filter-source details p { margin:8px 0; }
.marketing-audience-dialog[data-audience-drawer] [data-audience-review] { flex:0 0 auto; padding:0; max-height:135px; overflow:auto; scrollbar-width:thin; }
.marketing-audience-counts { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.marketing-audience-counts > span { border:1px solid var(--line-soft); border-radius:4px; padding:4px 7px; background:var(--cp-surface); }
.marketing-audience-dialog .marketing-audience-connection { margin:6px 0; }
.marketing-audience-dialog .marketing-audience-review-details { font-size:10px; color:var(--muted); }
.marketing-audience-dialog .marketing-audience-changed { margin:6px 0; }
.marketing-audience-dialog[data-audience-drawer] [data-audience-table] { flex:1 0 280px; height:auto; min-height:280px; }
.marketing-audience-dialog[data-audience-drawer] [data-builder-list] { display:flex; flex-direction:column; min-height:0; height:100%; overflow:visible; }
.marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__list-bar { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,220px); flex:0 0 auto; align-items:end; min-height:0; height:auto; gap:7px; }
.marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__list-tabs { flex-wrap:wrap; min-width:0; gap:5px; }
.marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__list-tabs .view-button:focus-visible { outline:2px solid var(--focus); outline-offset:-3px; }
.marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__list-search { width:100%; min-width:0; margin:0; }
.marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__list-content { display:flex; flex-direction:column; flex:1 1 0; min-height:0; height:auto; }
.marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__table-shell { flex:1 1 0; min-height:0; height:auto; margin:0 0 8px; }
.marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__table-scroll { min-height:0; height:100%; overflow:auto; }
.marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__pagination { position:static; flex:0 0 auto; min-height:36px; padding:5px 8px; margin:0; }
.marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__calendar-table tbody :is(td,th) { height:auto; padding-top:8px; padding-bottom:8px; vertical-align:middle; line-height:1.4; }
.marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__calendar-table tbody :is(td,th):not(:last-child)::after { top:8px; bottom:8px; height:auto; background:var(--line-soft); }
.marketing-audience-dialog[data-audience-drawer] [data-column=reason] > details { margin-top:4px; font-size:10px; color:var(--muted); }
.marketing-audience-dialog[data-audience-drawer] [data-column=reason] summary { cursor:pointer; }
.marketing-audience-row-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; }
.marketing-audience-row-actions > label { margin:0; white-space:nowrap; font-size:10px; }
.marketing-audience-dialog [data-audience-confirm] { background:var(--pale-lime); }
.marketing-audience-view-dialog .marketing-audience-view-note { flex:0 0 auto; margin:0; font-size:10px; line-height:1.5; }
.marketing-audience-view-dialog .column-field-token__folder { width:100%; height:32px; max-width:none; flex:none; }
.marketing-audience-view-dialog .column-field-token__trailing { width:5px; height:10px; flex:0 0 5px; }
.marketing-audience-view-dialog .business-calendar-builder__calendar-table tbody th[data-column=name] { padding-left:14px; }
.marketing-audience-view-dialog .contacts-table th[data-column=name] .table-heading-button { left:10px; }
@media (max-width:1000px) {
 .marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__list-bar { grid-template-columns:minmax(0,1fr); }
 .marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__list-search { max-width:none; }
}
@media (max-width:700px) {
 .marketing-audience-dialog[data-audience-drawer] .contact-list-create-drawer__body { padding:12px; }
 .marketing-audience-source-summary { align-items:flex-start; }
 .marketing-audience-source-grid { grid-template-columns:minmax(0,1fr); }
 .marketing-audience-saved-lists { padding-right:0; padding-bottom:10px; border-right:0; border-bottom:1px solid var(--line-soft); }
 .marketing-audience-dialog[data-audience-drawer] [data-audience-table] { flex-basis:340px; min-height:340px; }
 .marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__list-tabs { overflow:visible; }
 .marketing-audience-dialog[data-audience-drawer] .business-calendar-builder__view-config-card { flex-basis:100%; width:100%; }
 .marketing-audience-dialog[data-audience-drawer] .contacts-pagination__controls { flex-wrap:wrap; justify-content:flex-end; }
}

@media (min-width:701px) {
 .marketing-preferences-dialog { width:min(590px,calc(100vw - 24px)); }
 .marketing-preferences-dialog .contact-list-create-drawer__body { display:block; overflow-y:auto; }
 .marketing-preference-intro { margin:0 0 16px; color:var(--muted); }
 .marketing-preference-context { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
 .marketing-preferences-dialog .cp-editor-field { margin:0 0 12px; }
 .marketing-preferences-dialog .marketing-editor-group { margin:0 0 16px; }
 .marketing-preferences-dialog .marketing-editor-group > h3 { margin:0 0 12px; }
 .marketing-preference-suppression { display:flex; align-items:center; gap:7px; }
 .marketing-preference-history { margin-top:12px; }
 .marketing-preference-history article { padding:8px 0; border-bottom:1px solid var(--line-soft); overflow-wrap:anywhere; }
 .marketing-preference-save-note { padding-top:12px; border-top:1px solid var(--line-soft); }
 .marketing-panel .marketing-audience-summary { gap:3px; padding:3px 0; }
 .marketing-panel .marketing-audience-summary > span { font-size:10px; line-height:1.3; white-space:normal; }
}

/* Campaign email reuses the Conversations editor and its compact toolbar. */
.marketing-email-composer { min-width:0; margin-top:6px; border-radius:5px; overflow:visible; }
.marketing-email-composer .service-rich-text__document { min-height:180px; max-height:320px; height:auto; padding:10px; }
.marketing-email-composer .email-composer-controls { padding:0 8px; }
.marketing-email-composer .email-composer-controls .service-rich-text__inspector { flex-wrap:nowrap; gap:3px; }
.marketing-email-composer .email-composer-controls .service-rich-text__alignment-lists { flex-wrap:nowrap; flex-shrink:0; }
.marketing-email-composer .email-composer-controls .service-rich-text__inspector > button { flex-shrink:0; }
.marketing-email-preview { white-space:normal; }
.marketing-email-preview p { margin:0; min-height:1.5em; }

/* The shared Data Field Directory expands into a desktop list + message preview. */
.marketing-template-entry { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 14px; }
.marketing-template-entry .import-data-select { width:190px; }
.marketing-template-trigger { display:flex; align-items:center; gap:6px; width:100%; }
.marketing-template-trigger > .icon { width:14px; height:14px; }
.marketing-template-trigger > span { flex:1; text-align:left; }
.marketing-template-dialog { position:fixed; inset:0; margin:auto; padding:0; width:min(1100px,calc(100vw - 48px)); height:min(700px,calc(100dvh - 48px)); max-width:none; max-height:none; box-sizing:border-box; font:11px/1.5 "DM Sans",sans-serif; }
.marketing-template-dialog:not([open]) { display:none; }
.marketing-template-dialog::backdrop { background:#0004; }
.marketing-template-dialog > .advanced-filter-directory__header { min-height:40px; flex:0 0 40px; justify-content:space-between; box-sizing:border-box; }
.marketing-template-dialog > .advanced-filter-directory__header h2 { font-size:12px; font-weight:500; }
.marketing-template-layout { display:grid; grid-template-columns:300px minmax(0,1fr); flex:1; min-height:0; }
.marketing-template-directory { min-width:0; gap:8px; border-right:1px solid var(--line-soft,#ccc); padding:12px; }
.marketing-template-source .import-data-select { width:100%; }
.marketing-template-source .import-data-select__toggle { font:inherit; min-height:28px; padding:4px 8px; }
.marketing-template-count { margin:0; color:var(--muted); font-size:10px; }
.marketing-template-scroll { flex:1; min-height:0; }
.marketing-template-dialog .advanced-filter-directory__options { height:100%; max-height:none; }
.marketing-template-dialog .advanced-filter-directory__option-row { display:block; padding:0; margin:0 0 4px; }
.marketing-template-dialog .marketing-template-option { padding:10px 8px; align-items:start; border-radius:4px; }
.marketing-template-option[aria-selected=true] { background:var(--blue,#d1e9ff); }
.marketing-template-option > span { display:grid; gap:3px; }
.marketing-template-option strong { font-weight:500; }
.marketing-template-option small { color:var(--muted); font-size:9px; }
.marketing-template-option > span > span { font-size:10px; line-height:1.5; }
.marketing-template-preview { display:flex; flex-direction:column; min-height:0; min-width:0; background:#f5f5f3; }
.marketing-template-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid var(--line-soft,#ccc); background:#fff; }
.marketing-template-preview-heading h3 { margin:2px 0 0; font-size:12px; font-weight:500; }
.marketing-template-eyebrow { color:var(--muted); font-size:9px; }
.marketing-template-preview-body { flex:1; display:flex; flex-direction:column; min-height:0; overflow:auto; padding:14px; }
.marketing-template-envelope { display:grid; gap:5px; margin:0 0 10px; font-size:10px; }
.marketing-template-envelope > div { display:grid; grid-template-columns:65px minmax(0,1fr); gap:8px; }
.marketing-template-envelope dt { color:var(--muted); }
.marketing-template-envelope dd { margin:0; overflow-wrap:anywhere; }
.marketing-template-email-frame { flex:1; min-height:300px; overflow:auto; border:1px solid var(--line-soft,#ccc); background:#fff; }
.marketing-template-email-frame iframe { display:block; width:100%; min-width:600px; height:100%; min-height:300px; border:0; background:#fff; }
.marketing-template-footer { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; border-top:1px solid var(--line-soft,#ccc); background:#fff; }
.marketing-template-footer p { margin:0; font-size:10px; color:var(--muted); }
.marketing-template-footer button,.marketing-template-channel-body button { padding:4px 9px; border:1px solid #aaa; border-radius:4px; background:#fff; color:var(--ink); font:inherit; font-size:10px; cursor:pointer; }
.marketing-template-footer button:hover,.marketing-template-channel-body button:hover { background:var(--blue); }
.marketing-template-warning { margin:0; padding:8px; border:1px solid #e0c5b8; background:#fff5ee; font-size:10px; }
.marketing-template-loading { color:var(--muted); font-size:11px; }
.marketing-template-overview { padding:16px; }
.marketing-template-subtabs { display:flex; gap:16px; padding:0 16px; border-bottom:1px solid var(--line-soft,#ccc); overflow-x:auto; }
.marketing-template-subtabs button { flex:0 0 auto; white-space:nowrap; padding:9px 0; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font:inherit; font-size:11px; cursor:pointer; }
.marketing-template-subtabs button[aria-selected=true] { border-bottom-color:var(--ink); color:var(--ink); }
.marketing-email-drafts-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.marketing-email-drafts-heading h2 { margin:0 0 6px; font-size:14px; font-weight:500; }
.marketing-email-drafts-heading p { color:var(--muted); font-size:11px; margin:0 0 16px; }
.marketing-email-drafts-heading > div:last-child { display:flex; flex-wrap:wrap; gap:6px; }
.marketing-email-drafts-heading button,.marketing-email-draft-card button { padding:5px 9px; border:1px solid #aaa; border-radius:4px; background:white; color:var(--ink); font:inherit; font-size:11px; cursor:pointer; }
.marketing-email-draft-search { display:flex; align-items:center; gap:8px; font-size:11px; margin-bottom:14px; }
.marketing-email-draft-search input { min-width:0; width:220px; border:1px solid #aaa; border-radius:4px; padding:6px; font:inherit; }
.marketing-email-draft-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
.marketing-email-draft-card { display:flex; align-items:start; gap:12px; padding:12px; min-width:0; }
.marketing-email-draft-card > .marketing-template-thumbnail { position:relative; display:block; flex:0 0 82px; width:82px; height:104px; overflow:hidden; border:1px solid #d2d7d4; border-radius:4px; background:#fff; pointer-events:none; }
#marketing-template-library.marketing-template-overview { flex:1; min-height:0; overflow:auto; }
.marketing-email-draft-card > div { min-width:0; overflow-wrap:anywhere; }
.marketing-email-draft-card h3 { margin:0 0 8px; font-size:12px; }
.marketing-email-draft-card p,.marketing-email-draft-card small { display:block; font-size:11px; color:var(--muted); margin:0 0 8px; }
.messaging-builder-confirm > h2 { margin:0; font-size:14px; }
.messaging-builder-confirm > p { font-size:11px; }
.messaging-builder-confirm footer { flex-wrap:wrap; }
@media(max-width:700px) { .marketing-email-drafts-heading { flex-direction:column; gap:0; margin-bottom:12px; } .marketing-email-draft-search { flex-wrap:wrap; } }
.marketing-template-overview > h2 { margin:0 0 6px; font-size:14px; font-weight:500; }
.marketing-template-overview > p { margin:0 0 16px; color:var(--muted); font-size:11px; }
.marketing-template-channel-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:760px; }
.marketing-template-channel-cards .cp-card-title { display:flex; align-items:center; gap:6px; }
.marketing-template-channel-cards .cp-card-title .icon { width:15px; height:15px; }
.marketing-template-channel-body { padding:12px; font-size:11px; }
.marketing-template-channel-body p { margin:0 0 12px; line-height:1.6; }

/* Messaging Builder follows the existing Calendar Builder popup shell. */
/* Calendar's 110% zoom would enlarge viewport-based dimensions past the screen. */
.messaging-builder-dialog { width:min(1200px,calc(100vw - 48px)); height:min(700px,calc(100dvh - 48px)); max-height:calc(100dvh - 48px); overflow:hidden; zoom:1; }
.messaging-builder-dialog > .sce-body { min-width:0; overflow:hidden; }
.messaging-builder-dialog .sce-header { min-height:44px; padding:8px 14px; }
.messaging-builder-dialog .sce-header h2 { font-size:14px; }
.messaging-builder-dialog .sce-nav { width:160px; padding:18px 0; }
.messaging-builder-dialog .sce-nav button { font-size:11px; padding:10px 14px; }
.messaging-builder-dialog .marketing-template-layout { flex:1; min-width:0; grid-template-columns:280px minmax(0,1fr); }
.messaging-builder-dialog .marketing-template-directory[hidden],.messaging-builder-dialog .messaging-builder-message[hidden] { display:none; }
.messaging-builder-dialog .messaging-builder-section-title { margin:0 0 10px; font-size:12px; font-weight:500; }
.messaging-builder-dialog .advanced-filter-directory__option-button { display:grid; justify-content:start; border:0; padding:10px 8px; font-size:10.5px; text-align:left; }
.messaging-builder-dialog .advanced-filter-directory__option-button img { width:17px; height:17px; }
.messaging-builder-dialog .advanced-filter-directory__option-button > span { display:grid; }
.messaging-builder-dialog .marketing-template-preview-heading h3 { font-size:12px; }
.messaging-builder-dialog .marketing-template-preview-heading p,.messaging-builder-dialog .marketing-template-message-time { margin:0 0 14px; }
.messaging-builder-dialog .marketing-template-phone-header > strong { font-size:10px; }
.messaging-builder-dialog .marketing-template-envelope { margin:0 0 10px; }
.messaging-builder-dialog .marketing-template-preview .marketing-template-message-time { font-size:9px; }
.messaging-builder-message { min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; padding:16px; border-right:1px solid var(--line-soft,#ccc); }
.messaging-builder-message p { font-size:10px; color:var(--muted); }
.messaging-builder-message dt { color:var(--muted); font-size:10px; }
.messaging-builder-message dd { margin:5px 0 16px; overflow-wrap:anywhere; }
.messaging-builder-current-message { white-space:pre-wrap; }
.messaging-builder-dialog .sce-footer { min-height:42px; padding:8px 14px; }
.messaging-builder-dialog .sce-footer > span { font-size:10px; }

/* The search wrapper owns its border and keyboard-focus treatment. */
.sce-dialog.messaging-builder-dialog .advanced-filter-directory__search input[data-template-search][type="search"] {
 min-height:0; height:100%; padding:0; border:0; border-radius:0;
 background:transparent; outline:0; box-shadow:none;
}

/* Message working copies use the existing editor and Calendar Builder actions. */
.messaging-builder-dialog.is-editing-message .marketing-template-layout { grid-template-columns:360px minmax(0,1fr); }
.messaging-builder-field { display:grid; gap:6px; margin:14px 0; font-size:11px; }
.messaging-builder-message > .import-data-select { margin:14px 0; width:100%; }
.messaging-builder-dialog .messaging-builder-message [data-builder-body] { min-height:180px; font-size:11px; }
.messaging-builder-dialog .messaging-builder-message .marketing-message-field-heading { margin:14px 0 6px; font-size:11px; }
.messaging-builder-dialog .marketing-email-composer { font-size:11px; }
.messaging-builder-dialog .marketing-email-composer .email-composer-controls { padding-inline:6px; overflow-x:auto; }
.messaging-builder-dialog .marketing-email-composer .service-rich-text__document { padding:10px; min-height:180px; max-height:280px; height:auto; font:11px/1.5 "DM Sans",sans-serif; }
.messaging-builder-dialog .email-composer-controls .service-rich-text__inspector button { height:25px; min-height:25px; padding:3px 5px; font-size:11px; border-radius:4px; }
.messaging-builder-dialog .service-rich-text__inspector .service-rich-text__segments button { width:28px; min-width:28px; padding:3px; }
.messaging-builder-dialog .service-rich-text__inspector img { width:13px; height:13px; }
.messaging-builder-dialog .marketing-generate-ai { display:inline-flex; align-items:center; gap:5px; min-height:26px; padding:4px 9px; border:1px solid #df9c83; border-radius:4px; background:linear-gradient(90deg,#ffc28f 0%,#ff807b 100%); font-size:10px; }
.messaging-builder-dialog .marketing-generate-ai:hover { background:linear-gradient(90deg,#ffb97b 0%,#ff746f 100%); }
.messaging-builder-dialog .marketing-generate-ai .icon { width:13px; height:13px; }
.messaging-builder-dialog .messaging-builder-ai-status[hidden],.marketing-dialog [data-marketing-email-editor][hidden] { display:none; }
.messaging-builder-preview-actions { display:flex; align-items:center; gap:10px; }
.messaging-builder-dialog [data-use-template][hidden] { display:none; }
.messaging-builder-dialog .messaging-builder-source-note,.messaging-builder-dialog .messaging-builder-ai-status { margin:8px 0; font-size:10px; line-height:1.5; color:var(--muted); }
.messaging-builder-error { flex:0 0 auto; padding:8px 14px; font-size:11px; color:#a03131; background:#fff4f1; }
.messaging-builder-dialog .messaging-builder-error:empty { display:none; }
.messaging-builder-confirm { width:360px; max-width:calc(100vw - 32px); padding:16px; border:1px solid #aaa; border-radius:5px; font:11px/1.5 "DM Sans",sans-serif; color:var(--ink); }
.messaging-builder-dialog .messaging-builder-confirm h2 { font-size:14px; white-space:normal; }
.messaging-builder-confirm::backdrop { background:#0003; }
.messaging-builder-dialog .messaging-builder-confirm p { margin:12px 0; }
.messaging-builder-confirm footer { display:flex; justify-content:flex-end; gap:8px; }
.marketing-campaign-email-frame { display:block; width:100%; min-height:320px; border:0; background:#fff; }
.messaging-builder-template-actions { display:flex; gap:6px; }
.messaging-builder-dialog .messaging-builder-template-actions button { flex:1; padding:5px 7px; font-size:10px; }
.messaging-builder-dialog .messaging-builder-library-status { margin:0; color:var(--muted); font-size:10px; }
.messaging-builder-library-status:empty { display:none; }
.messaging-builder-message-actions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:10px 0 15px; font-size:10px; }
.messaging-builder-message-actions span { color:var(--muted); }
.messaging-builder-dialog button[data-builder-create-campaign] { gap:0; padding:0; border:0; background:transparent; cursor:pointer; }
.messaging-builder-dialog button[data-builder-create-campaign] > span { color:inherit; }
.messaging-builder-dialog [data-edit-studio-template][hidden] { display:none; }
.messaging-builder-preview-actions { flex-wrap:wrap; justify-content:flex-end; }
.messaging-builder-preview-actions button { white-space:nowrap; }
.sce-dialog.messaging-studio-dialog { position:fixed; inset:0; width:calc(100vw - 32px); height:calc(100dvh - 32px); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:0; overflow:hidden; zoom:1; }
.messaging-studio-header { display:flex; flex:0 0 42px; align-items:center; gap:12px; padding:6px 12px; border-bottom:1px solid var(--line-soft,#ccc); background:#fff; }
.messaging-studio-header h2 { flex:1; font-size:13px; }
.messaging-studio-header .pragtical-dialog-close { position:static; border:0; padding:0; min-width:24px; font-size:20px; background:transparent; }
.messaging-studio-content { position:relative; display:flex; flex:1; min-height:0; }
.messaging-studio-content iframe { flex:1; width:100%; min-width:0; min-height:0; border:0; background:#fff; }
.messaging-studio-loading { position:absolute; inset:0; display:grid; place-content:center; gap:12px; text-align:center; background:#fff; font-size:12px; }
.messaging-studio-loading[hidden] { display:none; }
.messaging-studio-dialog [data-studio-error]:empty { display:none; }

/* Small, inert template previews are visible before a row is selected. */
.messaging-builder-dialog .marketing-template-option { grid-template-columns:82px minmax(0,1fr); gap:10px; align-items:start; width:100%; }
.messaging-builder-dialog .marketing-template-option > .marketing-template-thumbnail { position:relative; display:block; flex:none; width:82px; height:104px; overflow:hidden; border:1px solid #d2d7d4; border-radius:4px; background:#fff; pointer-events:none; }
.messaging-builder-dialog .marketing-template-option > .marketing-template-option-copy { min-width:0; gap:3px; }
.marketing-template-option-copy > span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.marketing-template-thumbnail-status { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:100%; height:100%; padding:6px; color:var(--muted); font-size:9px; text-align:center; }
.marketing-template-thumbnail iframe { display:block; width:600px; height:765px; border:0; transform:scale(.1333333333); transform-origin:top left; background:#fff; }
.marketing-template-thumbnail-sms { display:block; width:286px; height:360px; transform:scale(.28); transform-origin:top left; }
.marketing-template-thumbnail-sms .marketing-template-phone { margin:0; box-shadow:none; }
.marketing-template-thumbnail-sms .marketing-template-sms-estimate { display:none; }

/* Keep Templates and Email drafts reachable when the shared Calendar nav collapses. */
@media(max-width:700px) {
 .messaging-builder-dialog > .sce-body { flex-direction:column; }
 .messaging-builder-dialog .messaging-builder-nav { display:flex; flex:0 0 auto; flex-direction:row; width:100%; padding:0; border-right:0; border-bottom:1px solid var(--line-soft,#ccc); }
 .messaging-builder-dialog .messaging-builder-nav button { flex:1; padding:9px 6px; font-size:10px; text-align:center; }
 .messaging-builder-dialog .marketing-template-layout { display:flex; flex-direction:column; overflow:auto; }
 .messaging-builder-dialog .marketing-template-directory { flex:0 0 300px; border-right:0; border-bottom:1px solid var(--line-soft,#ccc); }
 .messaging-builder-dialog .marketing-template-preview { flex:1 0 360px; }
 .messaging-builder-dialog .messaging-builder-message { flex:0 0 auto; overflow:visible; border-right:0; border-bottom:1px solid var(--line-soft,#ccc); }
 .messaging-builder-dialog .marketing-template-preview-heading { flex-wrap:wrap; gap:8px; }
}

/* Shared recorded-permission badges; these never indicate send readiness. */
.marketing-permission-badges { display:flex; flex-wrap:wrap; align-items:center; gap:4px; white-space:normal; }
.marketing-permission-badge { display:inline-flex; align-items:center; min-height:19px; padding:2px 7px; border:0; border-radius:4px; background:#eceeee; color:#4b5250; font-size:10px; font-weight:500; line-height:1.3; white-space:nowrap; }
.marketing-permission-badge[data-marketing-permission=opted-in] { background:#e6f4e9; color:#215d35; }
.marketing-permission-badge[data-marketing-permission=opted-out],.marketing-permission-badge[data-marketing-permission=suppressed] { background:#fbe9e7; color:#8b3028; }
.marketing-permission-badge[data-marketing-permission=simulation] { background:#f1ebf7; color:#624481; }

/* Audience views retain Contacts table framing and selection-based quick actions. */
/* Reuse Task Manager's shared data-values segments, with its pill dimensions. */
.marketing-audience-view-switch { width:260px; max-width:calc(100% - 10px); margin:0 0 0 10px; border-radius:18px; }
.marketing-audience-view-switch .data-values-tab:focus-visible { outline-offset:-3px; }
.marketing-audience-directory-controls { display:flex; align-items:center; flex-wrap:wrap; gap:10px; flex:0 0 auto; }
.marketing-audience-directory-select { width:140px; max-width:100%; }
.marketing-audience-directory-select[data-audience-directory-context] { width:240px; }
.marketing-audience-directory-pill { width:auto; }
.marketing-audience-directory-pill .filter-chip__toggle { padding-right:8px; }
.marketing-audience-directory-pill .import-data-select__menu { min-width:max(100%,140px); }
.marketing-audience-directory-select .import-data-select__toggle:focus-visible { border-color:#474747; box-shadow:inset 0 0 0 .5px #474747; }
.marketing-audience-directory-controls [role=status] { margin-left:auto; align-self:center; color:var(--muted); font-size:10px; }
.marketing-audience-directory .marketing-audience-action,.marketing-member-dialog .marketing-audience-action,.marketing-add-members-dialog .marketing-audience-action { display:inline-flex; align-items:center; justify-content:center; min-height:26px; padding:4px 9px; border:1px solid #a8aaa8; border-radius:4px; background:#fff; color:var(--ink); font:inherit; font-size:10px; }
.marketing-member-dialog { width:min(590px,calc(100vw - 24px)); }
/* Let the shared Contacts list fill this drawer without fixed-height gaps or clipped rows. */
.marketing-add-members-dialog .contact-list-create-drawer__body { display:flex; flex-direction:column; gap:10px; padding:16px 20px; }
.marketing-add-members-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; flex:0 0 auto; }
.marketing-add-members-summary > div { display:grid; gap:4px; min-width:0; }
.marketing-add-members-summary strong { font-size:12px; font-weight:500; overflow-wrap:anywhere; }
.marketing-add-members-summary p { margin:0; line-height:1.5; font-size:10px; }
.marketing-add-members-summary [data-add-members-refresh] { flex:0 0 auto; }
.marketing-add-members-dialog [data-add-members-status] { flex:0 0 auto; margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
.marketing-add-members-dialog [data-add-members-table] { flex:1 0 260px; min-height:260px; min-width:0; }
.marketing-add-members-dialog [data-builder-list] { display:flex; flex-direction:column; min-height:0; height:100%; }
.marketing-add-members-dialog .business-calendar-builder__list-bar { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,260px); flex:0 0 auto; align-items:end; height:auto; gap:7px; }
.marketing-add-members-dialog .business-calendar-builder__list-tabs { min-width:0; }
.marketing-add-members-dialog .business-calendar-builder__list-search { width:100%; min-width:0; margin:0; }
.marketing-add-members-dialog .business-calendar-builder__list-content { flex:1 1 0; min-height:0; }
.marketing-add-members-dialog .business-calendar-builder__table-shell { flex:1 1 0; height:auto; min-height:0; margin:0 0 8px; }
.marketing-add-members-dialog .business-calendar-builder__table-scroll { min-height:0; max-height:none; height:100%; overflow:auto; }
.marketing-add-members-dialog .business-calendar-builder__pagination { flex:0 0 auto; min-height:36px; margin:0; padding:5px 8px; }
.marketing-add-members-dialog .column-field-token__folder { width:100%; height:32px; max-width:none; flex:none; }
.marketing-add-members-dialog .column-field-token__trailing { width:5px; height:10px; flex:0 0 5px; }
.marketing-add-members-dialog .column-field-token__label { flex-shrink:1; }
.marketing-add-members-dialog .business-calendar-builder__calendar-table tbody :is(td,th) { height:auto; padding-block:10px; vertical-align:middle; line-height:1.5; }
.marketing-add-members-dialog .business-calendar-builder__calendar-table tbody :is(td,th):not(:last-child)::after { top:8px; bottom:8px; height:auto; background:var(--line-soft); }
.marketing-add-members-dialog .business-calendar-builder__calendar-table tbody tr.is-selected > :is(td,th) { background:var(--pale-lime); }
@media (max-width:700px) {
 .marketing-add-members-dialog .contact-list-create-drawer__body { padding:12px; }
 .marketing-add-members-summary { align-items:flex-start; flex-wrap:wrap; gap:8px; }
 .marketing-add-members-dialog .business-calendar-builder__list-bar { grid-template-columns:minmax(0,1fr); }
 .marketing-add-members-dialog .business-calendar-builder__list-search { max-width:none; }
 .marketing-add-members-dialog .contacts-pagination__controls { flex-wrap:wrap; justify-content:flex-end; }
}
.marketing-member-dialog .cp-card-contact-information__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.marketing-member-dialog .cp-card-contact-tags-help { grid-column:1 / -1; color:var(--muted); }
.marketing-member-dialog [data-audience-body] > p { line-height:1.6; }
.marketing-member-dialog [data-audience-group-refresh] { margin-top:12px; }
@media (max-width:700px) { .marketing-member-dialog .cp-card-contact-information__grid { grid-template-columns:minmax(0,1fr); } }
.marketing-audience-directory-note { flex:0 0 auto; margin:8px 0 12px; font-size:10px; color:var(--muted); line-height:1.5; }
/* Center the empty-state action in the visible scroll port, even when columns extend beyond it. */
.marketing-audience-directory [data-audience-directory-table-scroll]:has(.marketing-audience-empty-groups) { container-type:inline-size; }
.marketing-audience-directory .business-calendar-builder__empty td:has(.marketing-audience-empty-groups) { padding-inline:0; }
.marketing-audience-empty-groups { position:sticky; left:0; display:flex; flex-direction:column; align-items:center; gap:10px; width:100cqi; max-width:100%; padding:12px; white-space:normal; }
.marketing-audience-empty-groups p { margin:0; }
.marketing-audience-empty-groups .business-calendar-builder__add { width:auto; max-width:100%; }
.marketing-audience-empty-groups .contact-create-menu__label { min-width:85px; }
.marketing-audience-directory [data-audience-directory-table],.marketing-audience-directory [data-builder-list=audience-directory] { display:flex; flex-direction:column; flex:1 1 0; min-width:0; min-height:0; }
.marketing-audience-directory [data-builder-list=audience-directory] { width:calc(100% - 20px); margin:0 10px; }
/* Fit the longer group heading while retaining the raised tab's trailing gray gutter. */
.marketing-audience-directory [data-audience-table-kind=groups] .business-calendar-builder__view-config-card { flex:0 0 auto; width:max-content; min-width:166px; padding-right:43px; }
.marketing-audience-directory [data-audience-table-kind=groups] .business-calendar-builder__view-config-card h2 { flex:0 0 auto; width:max-content; }
.marketing-audience-directory .business-calendar-builder__calendar-table tbody :is(td,th) { height:auto; padding-block:8px; vertical-align:middle; line-height:1.4; }
.marketing-audience-directory .business-calendar-builder__calendar-table tbody [data-column=name] > span,.marketing-audience-directory [data-column=reason],.marketing-audience-directory [data-column=destination] { white-space:normal; overflow-wrap:anywhere; }
.marketing-audience-directory .business-calendar-builder__calendar-table tbody :is(td,th):not(:last-child)::after { top:8px; bottom:8px; height:auto; background:var(--line-soft); }
/* Campaign analysis extends the existing detail cards and Contacts tables, inside its scroller. */
.campaign-analysis { display:grid; gap:14px; margin-top:16px; }
.campaign-analysis [data-analysis-section-content] { display:grid; gap:14px; min-width:0; }
.campaign-analysis-card > .cp-card-header { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:8px; }
.campaign-analysis-card > .cp-card-header .cp-card-title { margin-right:auto; }
.campaign-analysis .marketing-template-subtabs { flex-wrap:wrap; margin:0; }
.campaign-analysis .marketing-template-subtabs .campaign-analysis-refresh { margin-left:auto; border:1px solid var(--line-soft); border-radius:4px; padding:4px 9px; background:#fff; }
.campaign-analysis-select { width:190px; min-width:0; max-width:100%; }
.campaign-analysis-select .import-data-select__label { font-size:10px; }
.campaign-analysis-select .import-data-select__toggle { min-height:26px; font-size:10px; }
.campaign-performance-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; padding:10px; background:#fff; }
.campaign-performance-stat { display:grid; align-content:start; gap:7px; min-width:0; padding:10px; }
.campaign-performance-stat > strong { font-size:21px; font-weight:500; line-height:1; font-variant-numeric:tabular-nums; }
.campaign-performance-stat .cp-muted { font-size:10px; line-height:1.5; }
.campaign-analysis-note { padding:0 12px; margin:10px 0; color:var(--muted); font-size:10px; line-height:1.5; }
.campaign-analysis-example { margin:0; padding:8px 10px; border:1px solid var(--line-soft); background:var(--pale-lime); font-size:10px; }
.campaign-analysis-two-column { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:14px; align-items:start; }
.campaign-analysis-chart { padding:12px; background:#fff; }
.campaign-analysis-definitions { margin:0; padding:0 12px; }
.campaign-analysis-definitions > div { grid-template-columns:130px minmax(0,1fr); padding:9px 0; }
.campaign-analysis-definitions dd { overflow-wrap:anywhere; }
.campaign-analysis-attribution { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
.campaign-analysis-coverage { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:10px 12px; gap:14px; }
.campaign-analysis-coverage > div { display:grid; gap:7px; border:0; padding:0; }
.campaign-analysis-coverage dd { font-size:15px; font-weight:500; }
.campaign-results-breakdown { display:grid; gap:12px; padding:12px; background:#fff; }
.campaign-results-breakdown > div > div { display:flex; justify-content:space-between; gap:8px; }
.campaign-results-breakdown progress { display:block; width:100%; height:7px; margin:6px 0; accent-color:var(--focus); }
.campaign-results-breakdown small { color:var(--muted); font-size:10px; }
.campaign-followup-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:#fff; }
.campaign-followup-groups > div { padding:12px; border-right:1px solid var(--line-soft); }
.campaign-followup-groups > div:last-child { border:0; }
.campaign-followup-groups strong { font-size:18px; font-weight:500; }
.campaign-followup-groups p { font-size:10px; line-height:1.5; }
.campaign-analysis button:not(.table-heading-button,.filter-chip__toggle,.filter-chip__remove,.page-size-picker__toggle,.column-field-token,.import-data-select__option,.import-data-select__toggle,.view-button) { font:inherit; font-size:10px; }
.campaign-followup-groups button,.campaign-analysis-activity-controls > button { border:1px solid #a8aaa8; border-radius:4px; padding:4px 9px; background:#fff; min-height:26px; }
.campaign-analysis-activity-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.campaign-analysis-activity-controls > .cp-muted { margin-left:auto; font-size:10px; }
.campaign-analysis :is([data-analysis-segments],[data-analysis-links],[data-analysis-recipients]) { min-width:0; }
.campaign-analysis [data-builder-list] { height:auto; min-width:0; }
.campaign-analysis .business-calendar-builder__list-content { flex:none; }
.campaign-analysis .business-calendar-builder__table-shell { flex:none; width:100%; height:330px; min-height:180px; margin:0 0 8px; }
.campaign-analysis .business-calendar-builder__table-shell .contacts-list-container { left:0; right:0; }
.campaign-analysis .business-calendar-builder__table-scroll { height:100%; overflow:auto; }
.campaign-analysis .business-calendar-builder__calendar-table tbody :is(td,th) { height:auto; padding-block:9px; line-height:1.5; vertical-align:middle; }
.campaign-analysis .business-calendar-builder__calendar-table tbody :is(td,th):not(:last-child)::after { top:8px; bottom:8px; height:auto; background:var(--line-soft); }
.campaign-analysis [data-builder-list] .business-calendar-builder__view-config-card { width:max-content; flex:0 0 auto; padding-right:36px; }
.campaign-analysis [data-builder-list] .business-calendar-builder__view-config-card h2 { width:max-content; flex:0 0 auto; }
.campaign-analysis .bulk-action-toolbar { flex-wrap:wrap; min-height:30px; height:auto; }
.campaign-analysis .business-calendar-builder__pagination { margin-bottom:0; }
.campaign-saved-context { margin-top:16px; border:1px solid var(--line-soft); }
.campaign-saved-context > summary { padding:12px; cursor:pointer; font-size:11px; background:var(--cp-surface); }
.campaign-saved-context .marketing-detail-grid { padding:12px; }
.campaign-recipient-events-dialog [data-analysis-event-table] { height:calc(100% - 60px); min-height:300px; }
.campaign-recipient-events-dialog .business-calendar-builder__table-shell { height:350px; flex:1 1 0; }
.campaign-recipient-events-dialog .column-field-token__folder { width:100%; height:32px; max-width:none; flex:none; }
.campaign-recipient-events-dialog .column-field-token__trailing { width:5px; height:10px; flex:0 0 5px; }
@media (max-width:700px) {
 .marketing-audience-directory-controls { gap:7px; }
 .marketing-audience-directory-controls [role=status] { flex:1 0 100%; margin:0; }
 .marketing-audience-directory [data-audience-table-kind=groups] [data-column=name] { position:relative; left:auto; }
 .marketing-audience-directory [data-audience-table-kind=groups] .contacts-table__name-scrim { display:none; }
}
