.promotions-editor { width: min(850px, calc(100vw - 24px)); max-height: 90vh; box-sizing: border-box; padding: 24px; border: 1px solid #ccd3da; border-radius: 8px; color: #20262e; background: white; }
.promotions-editor::backdrop,.promotions-preview::backdrop { background: #10182088; }
.promotions-editor header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.promotions-editor h2 { font-size:24px; margin:0; }
.promotions-editor header button { border:0; background:transparent; font-size:24px; padding:8px; }
.promotions-editor fieldset { border:0; border-top:1px solid #dce1e6; padding:20px 0; margin:16px 0; display:grid; grid-template-columns:1fr 1fr; gap:16px; min-width:0; }
.promotions-editor legend { font-size:18px; font-weight:700; padding:0 8px 0 0; }
.promotions-editor label { display:flex; flex-direction:column; gap:7px; font-size:14px; min-width:0; }
.promotions-editor input:not([type=checkbox]),.promotions-editor select,.promotions-editor textarea { box-sizing:border-box; width:100%; min-width:0; padding:10px; border:1px solid #bcc7d0; border-radius:4px; font:inherit; background:white; color:#20262e; }
.promotions-editor .promotions-toggle { flex-direction:row; align-items:center; }
.promotions-editor input[type=checkbox] { width:18px; height:18px; }
.promotions-editor button,.promotions-preview button { cursor:pointer; padding:10px 14px; border:1px solid #bcc7d0; border-radius:4px; font:inherit; background:#f4f6f8; color:#20262e; }
.promotions-editor .primary-action,.promotions-preview .primary-action { background:#0862a8; color:white; border-color:#0862a8; }
.promotions-editor footer { display:flex; flex-wrap:wrap; gap:12px; border-top:1px solid #dce1e6; padding-top:18px; }
.promotions-editor details { border-top:1px solid #dce1e6; padding:12px 0; }
.promotions-editor summary { cursor:pointer; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.promotions-editor details fieldset { border:0; margin-bottom:0; }
.promotions-editor button:disabled { opacity:.5; cursor:wait; }
.promotions-preview { width:min(440px,calc(100vw - 48px)); max-height:85vh; box-sizing:border-box; padding:24px; border:0; border-radius:8px; font-family:inherit; }
.promotions-preview img { display:block; width:100%; max-height:220px; object-fit:contain; }
.promotions-preview h2 { font-size:24px; overflow-wrap:anywhere; }
.promotions-preview p { line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.promotions-preview button,.promotions-preview strong { display:block; margin-top:16px; }
@media(max-width:600px) { .promotions-editor { padding:16px; } .promotions-editor fieldset { grid-template-columns:1fr; } .promotions-editor h2 { font-size:21px; } }
