.publish-launcher {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.publish-launcher > .el-button + .el-button { margin-left: 0; }
.publish-dialog .el-dialog__body { padding-top: 10px; max-height: 72vh; overflow-y: auto; }
.publish-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 20px; }
.publish-span-2 { grid-column: 1 / -1; }
.publish-shop-picker { display: flex; flex: 1 1 520px; gap: 8px; min-width: 0; }
.publish-country-filter { flex: 0 0 180px; }
.publish-shop-select { flex: 1 1 auto; min-width: 0; }
.publish-count { margin-left: 10px; color: var(--el-text-color-secondary); white-space: nowrap; }
.publish-section { border-top: 1px solid var(--el-border-color-lighter); padding-top: 14px; margin-top: 4px; }
.publish-section-title,
.publish-panel-title { font-size: 14px; font-weight: 600; margin-bottom: 12px; color: var(--tx-90); }
.publish-warehouse-grid,
.publish-attribute-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 20px; }
.publish-metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 12px; }
.publish-alert { margin-top: 12px; }
.publish-preview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid var(--el-border-color-lighter);
    border-radius: 6px;
    background: var(--tw-03);
}
.publish-preview > div { min-width: 0; }
.publish-preview span { display: block; color: var(--el-text-color-secondary); font-size: 12px; }
.publish-preview strong { display: block; margin-top: 4px; font-size: 20px; line-height: 1.2; overflow-wrap: anywhere; }
.publish-progress-band { padding: 4px 0 14px; }
.publish-progress-head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 10px; min-width: 0; }
.publish-progress-head span { color: var(--el-text-color-secondary); overflow-wrap: anywhere; }
.publish-progress-counts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.publish-page-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.publish-page-progress { border-bottom: 1px solid var(--el-border-color-lighter); margin-bottom: 16px; }
.publish-task-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 10px; color: var(--el-text-color-secondary); font-size: 12px; }
.publish-task-layout { display: grid; grid-template-columns: minmax(360px, 0.8fr) minmax(0, 1.5fr); gap: 16px; align-items: start; }
.publish-task-list,
.publish-task-detail { min-width: 0; }
.publish-task-list { padding-right: 16px; border-right: 1px solid var(--el-border-color-lighter); }
.publish-detail-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; }
.publish-detail-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.publish-detail-actions .el-button + .el-button { margin-left: 0; }
.publish-pagination { display: flex; justify-content: flex-end; margin-top: 12px; }
.publish-targets { margin-top: 20px; }

@media (max-width: 980px) {
    .publish-task-layout { grid-template-columns: minmax(0, 1fr); }
    .publish-task-list { padding-right: 0; padding-bottom: 16px; border-right: 0; border-bottom: 1px solid var(--el-border-color-lighter); }
}

@media (max-width: 720px) {
    .publish-launcher { width: 100%; }
    .publish-launcher > .el-button { flex: 1 1 auto; }
    .publish-dialog .el-dialog__body { max-height: 68vh; padding-left: 12px; padding-right: 12px; }
    .publish-form-grid,
    .publish-warehouse-grid,
    .publish-attribute-grid,
    .publish-metrics-grid,
    .publish-preview { grid-template-columns: minmax(0, 1fr); }
    .publish-span-2 { grid-column: auto; }
    .publish-dialog .el-form-item { display: block; }
    .publish-dialog .el-form-item__label { width: auto !important; justify-content: flex-start; }
    .publish-dialog .el-form-item__content { margin-left: 0 !important; min-width: 0; }
    .publish-shop-picker { flex-direction: column; flex-basis: 100%; width: 100%; }
    .publish-country-filter { flex-basis: auto; width: 100%; }
    .publish-progress-head { align-items: flex-start; flex-direction: column; gap: 4px; }
    .publish-page-toolbar { align-items: stretch; flex-direction: column; }
    .publish-page-toolbar > .el-button { margin-left: 0; }
    .publish-detail-title { align-items: flex-start; flex-direction: column; }
}
