.publication-dialog {
    --pub-brand: #a51d2b;
    --pub-tint: #f7ebed;
    --pub-line: #ded5ce;
    --pub-muted: #716760;
    --pub-radius: 10px;
    width: min(1220px, 96vw);
}
.publication-body { grid-template-columns: minmax(0, 1fr) minmax(360px, 450px); gap: 32px; }
.publication-preview { position: sticky; top: 24px; }
#publication-controls { min-width: 0; }
.publication-dialog .muted { color: var(--pub-muted); }
.publication-dialog button:disabled { cursor: default; }
.publication-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 28px; }
.publication-steps button { display: flex; align-items: center; gap: 9px; text-align: left; font-size: 12px; font-weight: 600; padding: 10px; background: transparent; border-color: transparent; }
.publication-steps button span { display: grid; place-items: center; width: 25px; height: 25px; flex-shrink: 0; border-radius: 50%; border: 1px solid var(--pub-line); }
.publication-steps [aria-current="step"] { color: var(--pub-brand); background: var(--pub-tint); }
.publication-steps [aria-current="step"] span { color: #fff; background: var(--pub-brand); border-color: var(--pub-brand); }
.publication-section-heading h3 { font-size: 23px; margin: 6px 0 8px; letter-spacing: -.5px; }
.publication-section-heading p { margin: 0 0 22px; }
.publication-copy { border: 1px solid var(--pub-line); border-radius: 12px; padding: 16px; background: #f1ede7; margin: 20px 0 24px; }
.publication-copy .field { margin-top: 0; }
.publication-copy > button { font-size: 12px; min-height: 40px; }
.publication-copy-success { color: #286548; font-size: 12px; margin-bottom: 0; }
.publication-product-name { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; border-left: 3px solid var(--pub-brand); background: #f3eee8; border-radius: 0 8px 8px 0; }
.publication-product-name b { font-size: 14px; overflow-wrap: anywhere; }
.publication-dialog #publication-products button { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; min-height: 44px; border-radius: var(--pub-radius); font-size: 13px; }
.publication-dialog #publication-products button:hover { background: var(--pub-tint); }
.publication-print-options { display: grid; gap: 14px; margin: 20px 0; }
.publication-option { padding: 16px; border: 1px solid var(--pub-line); border-radius: 12px; background: #fff; }
.publication-option h4 { margin: 0 0 12px; font-size: 14px; font-weight: 600; }
.publication-option-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #f5f2ee; padding: 3px; border-radius: 8px; gap: 3px; }
.publication-option-modes button { font-size: 11px; padding: 8px 4px; min-height: 38px; line-height: 1.3; border-color: transparent; background: transparent; border-radius: 6px; }
.publication-option-modes button[aria-pressed="true"] { background: #fff; border-color: #d7c6bf; color: var(--pub-brand); font-weight: 600; box-shadow: 0 1px 4px #34271f0b; }
.publication-option .field { margin-bottom: 0; }
.publication-option > .muted { margin-bottom: 0; }
.publication-option-tools { display: flex; align-items: center; gap: 8px; margin: 12px 0 6px; font-size: 11px; color: var(--pub-muted); }
.publication-option-tools span { margin-right: auto; }
.publication-option-tools button { border: 0; padding: 6px; color: var(--pub-brand); font-size: 11px; }
.publication-option-checks { display: grid; gap: 3px; max-height: 210px; overflow: auto; scrollbar-width: thin; }
.publication-option-checks label { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 10px; border: 1px solid transparent; border-radius: 7px; font-size: 12px; cursor: pointer; }
.publication-option-checks label:has(input:checked) { background: var(--pub-tint); border-color: #ecdadc; }
.publication-option-checks label:hover { border-color: #cdbab1; }
.publication-option-checks label span { overflow-wrap: anywhere; }
.publication-dialog .publication-option-checks input { display: block; width: 17px; height: 17px; margin: 0; min-height: 0; flex: 0 0 17px; }
.publication-size-hint { margin: 10px 0 0; color: var(--pub-brand); font-size: 11px; }
.publication-dialog .publication-success { background: #edf4ef; border-color: #c7dacc; color: #2f6546; }
.publication-dialog .publication-confirm { border: 1px solid var(--pub-line); padding: 14px; border-radius: var(--pub-radius); background: #fff; cursor: pointer; line-height: 1.6; }
.publication-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--pub-line); }
.publication-actions button { min-height: 44px; font-size: 12px; }
.publication-actions .primary { flex: 1; display: flex; align-items: center; justify-content: center; gap: 12px; }
#publication-margin-help { margin-top: -8px; }
#publication-print-errors p { margin: 4px 0; }
.publication-dialog .studio-select-trigger { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 6px 0 0; text-align: left; padding: 11px 13px; background: #fff; border: 1px solid #d7cdc4; border-radius: var(--pub-radius); font-size: 13px; font-weight: 400; line-height: 1.4; }
.studio-select-trigger span { min-width: 0; overflow-wrap: anywhere; }
.studio-select-trigger svg { flex-shrink: 0; color: #786b63; }
.publication-dialog .studio-select-trigger:hover, .publication-dialog .studio-select-trigger[aria-expanded="true"] { border-color: var(--pub-brand); }
.studio-select-menu { position: fixed; z-index: 100; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #d9cbc2; border-radius: 12px; background: #fff; box-shadow: 0 14px 38px #30231e24, 0 2px 6px #30231e0a; padding: 5px; }
.studio-select-search { padding: 5px 5px 9px; border-bottom: 1px solid #eee7e1; }
.publication-dialog .studio-select-search input { width: 100%; margin: 0; padding: 10px 12px; min-height: 40px; background: #f7f4f0; border: 1px solid #e1d7ce; border-radius: 8px; font-size: 13px; }
.studio-select-list { overflow: auto; min-height: 0; scrollbar-width: thin; padding: 3px; }
.studio-select-list button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; padding: 10px 12px; border: 0; border-radius: 7px; text-align: left; font-size: 13px; line-height: 1.4; background: #fff; color: #302a26; }
.studio-select-list button span:first-child { min-width: 0; overflow-wrap: anywhere; }
.studio-select-list button span:last-child { flex-shrink: 0; }
.studio-select-list button.is-active, .studio-select-list button:hover { background: #f4efea; }
.studio-select-list button[aria-selected="true"] { background: #f7ebed; color: #a51d2b; font-weight: 600; }
.studio-select-empty { padding: 12px; font-size: 13px; color: #716760; }
@media (max-width: 860px) {
    .publication-body { grid-template-columns: minmax(0, 1fr); padding: 18px; gap: 24px; }
    .publication-preview { position: static; }
    .publication-option { padding: 12px; }
    .publication-copy { padding: 13px; }
    .publication-steps { margin-bottom: 22px; }
    .publication-steps button { font-size: 11px; padding: 7px 4px; gap: 7px; }
    .publication-actions button { width: 100%; flex-basis: 100%; }
    .publication-option-modes button { min-height: 44px; }
}
