.ptpd-bulk-actions,
.ptpd-bulk-panel-heading,
.ptpd-bulk-batch-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ptpd-bulk-actions {
    flex-basis: 100%;
}

.ptpd-bulk-actions .ptpd-bulk-help {
    flex-basis: 100%;
}

.ptpd-bulk-panel,
.ptpd-bulk-batch {
    border: 1px solid #c7d6df;
    border-radius: 5px;
    padding: 18px;
    margin: 16px 0;
    background: #fff;
}

.ptpd-bulk-panel {
    background: #f7fafc;
}

.ptpd-bulk-panel-heading {
    justify-content: space-between;
}

.ptpd-bulk-panel-heading h3,
.ptpd-bulk-batch-title {
    margin: 0;
}

.ptpd-bulk-help,
.ptpd-bulk-email,
.ptpd-bulk-child {
    color: #475569;
    font-size: 0.9em;
}

#ptpd-bulk-fields {
    min-width: 0;
    border: 0;
    padding: 0;
    margin: 0;
}

#ptpd-bulk-fields legend,
#ptpd-bulk-fields > label {
    font-weight: 600;
}

.ptpd-bulk-select-all {
    display: block;
    margin: 8px 0;
}

.ptpd-bulk-recipients {
    max-height: 350px;
    overflow-y: auto;
    border: 1px solid #ccd5dc;
    background: #fff;
}

.ptpd-bulk-recipient {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid #e2e8f0;
    cursor: pointer;
}

.ptpd-bulk-recipient:last-child {
    border-bottom: 0;
}

.ptpd-bulk-recipient input {
    flex: 0 0 auto;
    margin-top: 5px;
}

.ptpd-bulk-identity {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 3px 12px;
    min-width: 0;
    overflow-wrap: anywhere;
}

.ptpd-bulk-subscription,
.ptpd-bulk-child {
    flex-basis: 100%;
}

.ptpd-bulk-subscription {
    font-size: 0.85em;
}

.ptpd-bulk-subscription.is-active {
    color: #25603c;
}

.ptpd-bulk-subscription.is-inactive {
    color: #775013;
}

#ptpd-bulk-message {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin-top: 6px;
    padding: 10px;
    resize: vertical;
}

.ptpd-bulk-skipped {
    margin-top: 12px;
    padding: 10px;
    background: #fff8e7;
    overflow-wrap: anywhere;
}

.ptpd-bulk-notice:not(:empty) {
    padding: 12px;
    background: #eef5f9;
    margin: 12px 0;
}

.ptpd-bulk-error,
.ptpd-bulk-recipient-error {
    color: #a12622;
    overflow-wrap: anywhere;
}

.ptpd-bulk-error:empty,
.ptpd-bulk-batch-warning:empty {
    display: none;
}

.ptpd-bulk-secondary {
    padding: 9px 14px;
    border: 1px solid #8296a3;
    background: #fff;
    color: #23485e;
    border-radius: 3px;
    cursor: pointer;
}

.ptpd-bulk-panel button:disabled,
.ptpd-bulk-actions button:disabled,
.ptpd-bulk-batch button:disabled {
    opacity: 0.55;
    cursor: default;
}

.ptpd-bulk-progress {
    display: block;
    width: 100%;
    height: 12px;
    margin-bottom: 12px;
    accent-color: #0073aa;
}

.ptpd-bulk-batch-details summary {
    cursor: pointer;
    font-weight: 600;
}

.ptpd-bulk-recipient-progress {
    max-height: 300px;
    overflow-y: auto;
    padding-left: 22px;
    overflow-wrap: anywhere;
}

.ptpd-bulk-recipient-progress li {
    margin: 8px 0;
}

.ptpd-bulk-recipient-error {
    display: block;
}

.ptpd-bulk-batch-actions {
    margin-top: 12px;
}

.ptpd-bulk-panel [hidden],
.ptpd-bulk-batch [hidden],
#ptpd-bulk-composer[hidden],
#ptpd-bulk-history[hidden] {
    display: none !important;
}

@media (max-width: 600px) {
    .ptpd-bulk-panel,
    .ptpd-bulk-batch {
        padding: 12px;
    }

    .ptpd-bulk-actions > button {
        flex: 1 1 100%;
    }

    .ptpd-bulk-identity > strong,
    .ptpd-bulk-email {
        flex-basis: 100%;
    }
}
