.staff-heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.staff-heading-actions button{border:1px solid #bcb3a5;background:#fff;padding:11px 15px;font-weight:700;cursor:pointer}
.promotion-form{max-width:560px;text-align:left;max-height:calc(100vh - 30px);overflow:auto;padding:34px}
.promotion-form h2{font-size:34px;margin:0}
.promotion-form .form-intro{color:var(--muted);margin:8px 0 24px}
.promotion-form>label,.promotion-form .form-grid label{display:block;font-size:11px;font-weight:700;margin:0 0 15px}
.promotion-form input,.promotion-form textarea,.promotion-form select{display:block;width:100%;border:1px solid var(--line);background:#fff;padding:12px;margin-top:6px;min-height:44px}
.promotion-form textarea{min-height:86px;resize:vertical}
.promotion-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.promotion-form fieldset{border:1px solid var(--line);padding:8px 15px;margin:4px 0 18px}
.promotion-form legend{font-size:11px;font-weight:800;padding:0 7px}
.promotion-form .check-option{display:flex;align-items:center;gap:12px;padding:10px 0}
.promotion-form .check-option input{width:20px;min-height:20px;margin:0}
.promotion-form .check-option span{display:flex;flex-direction:column}
.promotion-form .check-option small{color:var(--muted);margin-top:3px}
.promotion-form .form-actions{display:flex;justify-content:flex-end;gap:10px}
.promotion-form .form-actions button{border:1px solid var(--line);background:#fff;padding:12px 18px;font-weight:700}
.promotion-form .form-actions .primary{background:var(--ink);color:#fff;margin:0}
.image-upload>span{display:flex;justify-content:space-between;align-items:end}
.image-upload>span small{color:var(--muted);font-weight:500}
.image-upload input{position:absolute;opacity:0;pointer-events:none}
#promoImagePreview{aspect-ratio:3/2;border:2px dashed #bdb3a3;background:#eee8dc;display:grid;place-items:center;text-align:center;margin-top:7px;cursor:pointer;overflow:hidden;position:relative}
#promoImagePreview b,#promoImagePreview small{display:block}
#promoImagePreview small{color:var(--muted);margin-top:5px}
#promoImagePreview img{width:100%;height:100%;object-fit:cover}
#promoImagePreview span{position:absolute;right:10px;bottom:10px;background:#12110f;color:#fff;padding:7px 10px;font-size:10px}
.promo-card{padding:0;overflow:hidden}
.promo-card>.promo-art{aspect-ratio:3/2;background:#292620;overflow:hidden;margin-bottom:20px}
.promo-card>.promo-art img{width:100%;height:100%;object-fit:cover;display:block}
.promo-art-placeholder{width:100%;height:100%;display:grid;place-items:center;padding:20px;text-align:center;background:linear-gradient(135deg,#1b1915,#745d35);color:#e4c27c}
.promo-art-placeholder b{font:italic 28px var(--serif);max-width:260px}
.promo-card>span,.promo-card>h3,.promo-card>p,.promo-card>small{margin-left:22px;margin-right:22px}
.promo-card>small{margin-bottom:22px}
.empty-promotions{grid-column:1/-1;background:#fff;border:1px solid var(--line);padding:28px;display:flex;align-items:center;gap:18px}
.empty-promotions>span{width:48px;height:48px;border-radius:50%;background:#eee7db;display:grid;place-items:center;color:#9a7530}
.empty-promotions h3,.empty-promotions p{margin:0}
.empty-promotions p{color:var(--muted);margin-top:5px}
@media(max-width:600px){.staff-heading-actions{align-items:flex-start;margin-top:16px}.staff-heading-actions button{width:100%}.promotion-form{width:100%;height:100%;max-width:none;max-height:none;padding:28px 18px}.promotion-form .form-grid{grid-template-columns:1fr}.promotion-form .form-actions{position:sticky;bottom:-28px;background:var(--paper);padding:12px 0 28px}.promotion-form .form-actions button{flex:1}}
