.marketing-templates-table { min-width: 860px; }
.marketing-campaigns-table { min-width: 1560px; }
.marketing-segments-table { min-width: 1040px; }
.marketing-recipients-table { min-width: 1440px; }
.marketing-campaigns-mobile-list,
.marketing-segments-mobile-list { display: none; }
.marketing-campaign-result { white-space: nowrap; }

[data-email-template-modal] .ql-toolbar.ql-snow,
.marketing-campaign-workspace .ql-toolbar.ql-snow,
.marketing-email-preview .ql-toolbar.ql-snow {
    border-color: var(--color-border);
    border-radius: var(--radius-control) var(--radius-control) 0 0;
    background: var(--color-surface-muted);
}
[data-email-template-modal] .marketing-quill-editor.ql-container.ql-snow,
.marketing-campaign-workspace .marketing-quill-editor.ql-container.ql-snow,
.marketing-email-preview .marketing-quill-editor.ql-container.ql-snow {
    min-height: 300px;
    border-color: var(--color-border);
    border-radius: 0 0 var(--radius-control) var(--radius-control);
    font-family: inherit;
}
[data-email-template-modal] .marketing-quill-editor .ql-editor,
.marketing-campaign-workspace .marketing-quill-editor .ql-editor,
.marketing-email-preview .marketing-quill-editor .ql-editor {
    min-height: 300px;
    font-size: var(--font-sm);
    line-height: 1.65;
}
[data-email-template-modal] .marketing-quill-editor .ql-editor.ql-blank::before,
.marketing-campaign-workspace .marketing-quill-editor .ql-editor.ql-blank::before {
    color: var(--color-text-tertiary);
    font-style: normal;
}
[data-email-template-modal] .ql-toolbar button.ql-active .ql-stroke,
.marketing-campaign-workspace .ql-toolbar button.ql-active .ql-stroke {
    stroke: var(--color-accent-hover);
}
[data-email-template-modal] .ql-toolbar button.ql-active .ql-fill,
.marketing-campaign-workspace .ql-toolbar button.ql-active .ql-fill {
    fill: var(--color-accent-hover);
}
[data-email-template-modal] .marketing-quill-editor.is-readonly {
    background: var(--color-surface-muted);
    color: var(--color-text-secondary);
    cursor: not-allowed;
}
[data-email-template-modal] .marketing-quill-editor.is-readonly .ql-editor {
    cursor: not-allowed;
}

.marketing-campaign-workspace,
.marketing-campaign-detail { min-width: 0; max-width: 100%; }
.marketing-campaign-workspace { display: grid; gap: 16px; }
.marketing-campaign-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.marketing-campaign-steps button {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-control);
    background: var(--color-surface);
    color: var(--color-text-secondary);
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.marketing-campaign-steps button > span {
    display: grid;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    place-items: center;
    border-radius: var(--radius-round);
    background: var(--color-surface-muted);
    color: var(--color-text-secondary);
    font-size: var(--font-xs);
}
.marketing-campaign-steps .is-active button {
    border-color: var(--color-accent);
    background: var(--color-accent-soft);
    color: var(--color-text-primary);
}
.marketing-campaign-steps .is-active button > span,
.marketing-campaign-steps .is-complete button > span {
    background: var(--color-accent);
    color: var(--color-text-inverse);
}
.marketing-campaign-form { min-width: 0; padding: 20px; }
.marketing-campaign-form .form-section { margin: 0; }
.marketing-campaign-form .form-grid--single { max-width: none; }
.marketing-campaign-form__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--color-border);
}
.marketing-campaign-form__actions > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.marketing-message-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.marketing-audience-estimate {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 4px 16px;
    padding: 16px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-surface);
    background: var(--color-surface-muted);
}
.marketing-audience-estimate > span:first-child { color: var(--color-text-secondary); }
.marketing-audience-estimate > strong { font-size: var(--font-lg); font-weight: var(--table-total-font-weight); }
.marketing-audience-estimate > small { grid-column: 1 / -1; color: var(--color-text-tertiary); }
.marketing-audience-estimate .async-spinner { width: 18px; height: 18px; }

.marketing-contact-picker { display: grid; gap: 8px; }
.marketing-contact-picker .form-field__input-wrap { position: relative; }
.marketing-contact-picker .form-field__input-wrap input { width: 100%; padding-right: 42px; }
.marketing-contact-picker__results,
.marketing-contact-picker__selected {
    display: grid;
    gap: 4px;
    padding: 6px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-surface);
    background: var(--color-surface);
}
.marketing-contact-picker__results { max-height: 280px; overflow-y: auto; overscroll-behavior: none; }
.marketing-contact-picker__result,
.marketing-contact-picker__selected-item {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 10px;
    border: 0;
    border-radius: var(--radius-option);
    background: transparent;
    color: var(--color-text-primary);
    font: inherit;
    text-align: left;
}
.marketing-contact-picker__result { cursor: pointer; }
.marketing-contact-picker__result > span:first-child,
.marketing-contact-picker__selected-item > span { display: grid; min-width: 0; gap: 2px; }
.marketing-contact-picker__result strong,
.marketing-contact-picker__selected-item strong { overflow: hidden; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.marketing-contact-picker__result small,
.marketing-contact-picker__selected-item small { color: var(--color-text-secondary); }
.marketing-contact-picker__selected-item { background: var(--color-surface-muted); }
.marketing-contact-picker__selected-item button {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border: 0;
    border-radius: var(--radius-round);
    background: transparent;
    color: var(--color-text-secondary);
    cursor: pointer;
}
.marketing-contact-picker__empty { padding: 10px; color: var(--color-text-secondary); text-align: center; }
.marketing-schedule-field { width: 100%; }

.marketing-email-preview { display: grid; min-width: 0; gap: 16px; }
.marketing-email-preview > h2 { margin: 0; }
.marketing-email-preview > strong { font-weight: 500; }
.marketing-email-preview .marketing-quill-editor.ql-container.ql-snow {
    border-radius: var(--radius-surface);
    background: var(--color-surface);
}
.marketing-email-preview .ql-editor { min-height: 240px; }

.marketing-campaign-detail { display: grid; gap: 28px; }
.marketing-campaign-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    padding: 0;
    overflow: hidden;
    background: var(--color-border);
}
.marketing-campaign-meta > div {
    display: grid;
    min-width: 0;
    gap: 6px;
    padding: 16px;
    background: var(--color-surface);
}
.marketing-campaign-meta span { color: var(--color-text-secondary); font-size: var(--font-xs); }
.marketing-campaign-meta strong { min-width: 0; font-weight: 500; overflow-wrap: anywhere; }
.marketing-campaign-metrics { min-width: 0; }
.marketing-campaign-snapshot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 20px;
}
.marketing-campaign-snapshot h2,
.marketing-campaign-snapshot p,
.marketing-campaign-recipients > h2,
.marketing-campaign-links h2,
.marketing-campaign-history h2 { margin: 0; }
.marketing-campaign-snapshot p { margin-top: 4px; color: var(--color-text-secondary); }
.marketing-campaign-recipients { display: grid; gap: 16px; min-width: 0; }
.marketing-campaign-links,
.marketing-campaign-history { min-width: 0; overflow: hidden; }
.marketing-campaign-links > h2,
.marketing-campaign-history > h2 { padding: 16px 20px; }
.marketing-link-url { display: block; max-width: 520px; margin-top: 2px; overflow: hidden; color: var(--color-text-tertiary); text-overflow: ellipsis; white-space: nowrap; }
.marketing-campaign-history ol { display: grid; gap: 0; margin: 0; padding: 0 20px 20px; list-style: none; }
.marketing-campaign-history li {
    display: grid;
    grid-template-columns: 160px minmax(140px, 220px) minmax(0, 1fr) 160px;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid var(--color-border);
}
.marketing-campaign-history li span,
.marketing-campaign-history li small { color: var(--color-text-secondary); }
.marketing-campaign-history li strong { font-weight: 500; }
.marketing-campaign-history li p { margin: 0; }
.marketing-campaign-history__empty { margin: 0; padding: 0 20px 20px; color: var(--color-text-secondary); }

.marketing-segment-form { display: grid; gap: 28px; }
.marketing-segment-form .form-section { margin: 0; }

@media (hover: hover) and (pointer: fine) {
    [data-email-template-modal] .ql-toolbar button:hover .ql-stroke,
    .marketing-campaign-workspace .ql-toolbar button:hover .ql-stroke { stroke: var(--color-accent-hover); }
    [data-email-template-modal] .ql-toolbar button:hover .ql-fill,
    .marketing-campaign-workspace .ql-toolbar button:hover .ql-fill { fill: var(--color-accent-hover); }
    .marketing-contact-picker__result:hover,
    .marketing-contact-picker__selected-item button:hover { background: var(--color-surface-hover); }
}

@media (max-width: 1023px) {
    .marketing-campaign-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .marketing-campaign-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .marketing-campaign-history li { grid-template-columns: 140px minmax(120px, 180px) minmax(0, 1fr); }
    .marketing-campaign-history li small { grid-column: 2 / -1; }
}

@media (max-width: 767px) {
    .marketing-campaigns-panel,
    .marketing-segments-panel { border: 0; background: transparent; box-shadow: none; }
    .marketing-campaigns-panel > .table-scroll,
    .marketing-segments-panel > .table-scroll { display: none; }
    .marketing-campaigns-panel.table-panel--loading,
    .marketing-segments-panel.table-panel--loading { height: 42px; min-height: 42px; max-height: 42px; }
    .marketing-campaigns-panel.table-panel--loading .marketing-campaigns-mobile-list,
    .marketing-segments-panel.table-panel--loading .marketing-segments-mobile-list { display: none; }
    .marketing-campaigns-mobile-list,
    .marketing-segments-mobile-list { display: grid; gap: 12px; }
    .marketing-campaign-mobile-card,
    .marketing-segment-mobile-card { overflow: hidden; }
    .marketing-mobile-card__details {
        display: grid;
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 8px 28px;
        padding: 14px 12px;
    }
    .marketing-mobile-card__details dt { color: var(--color-text-tertiary); white-space: nowrap; }
    .marketing-mobile-card__details dd { min-width: 0; overflow-wrap: anywhere; }
    .marketing-campaign-result { white-space: normal; }
    .marketing-campaign-steps { grid-template-columns: 1fr; }
    .marketing-campaign-form { padding: 16px; }
    .marketing-campaign-form__actions,
    .marketing-campaign-form__actions > div { align-items: stretch; }
    .marketing-campaign-form__actions { flex-direction: column; }
    .marketing-campaign-form__actions > div { justify-content: space-between; }
    .marketing-contact-picker__result { align-items: flex-start; flex-direction: column; gap: 4px; }
    .marketing-campaign-meta { grid-template-columns: 1fr; }
    .marketing-campaign-snapshot { align-items: stretch; flex-direction: column; }
    .marketing-campaign-history li { grid-template-columns: 1fr; gap: 4px; }
    .marketing-campaign-history li small { grid-column: auto; }
}
