.compose-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:20px; align-items:start; }
.compose-card { min-width:0; padding:clamp(17px,2.5vw,30px); border:1px solid #eed5de; border-radius:20px; background:#fffafb; box-shadow:0 10px 30px #6e264910; }
.compose-card fieldset { min-width:0; margin:0; padding:0; border:0; }
.compose-card legend,.compose-card h2 { margin:0 0 14px; padding:0; font:italic 28px Georgia,serif; color:#6e2649; }
.compose-card label { display:block; margin:10px 0 5px; font-weight:650; }
.compose-card input:not([type=radio]):not([type=checkbox]),.compose-card textarea { box-sizing:border-box; width:100%; padding:10px 12px; border:1px solid #e8cbd6; border-radius:9px; background:white; color:inherit; font:inherit; }
.compose-card textarea { resize:vertical; }
.compose-card input:focus-visible,.compose-card textarea:focus-visible { outline:2px solid #a33863; outline-offset:2px; }
.compose-card input[type=radio],.compose-card input[type=checkbox] { accent-color:#a33863; }
.compose-card .audience { margin-top:18px; }
.compose-card .audience legend { margin-bottom:0; font-size:22px; }
.guest-picker { max-height:215px; overflow:auto; margin-top:8px; border:1px solid #eed5de; border-radius:10px; background:#fff; }
.guest-picker label { display:flex; gap:9px; align-items:flex-start; margin:0; padding:9px 11px; }
.guest-picker label + label { border-top:1px solid #f5e5eb; }
.guest-picker small { display:block; font-weight:400; overflow-wrap:anywhere; }
.guest-picker p { padding:0 12px; }
.compose-note { font-size:.9rem; color:#754c60; }
.compose-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.preview-card { position:sticky; top:18px; }
.preview-subject { padding:11px 14px; background:white; border:1px solid #eed5de; border-bottom:0; border-radius:10px 10px 0 0; font-weight:650; overflow-wrap:anywhere; }
.preview-card iframe { display:block; box-sizing:border-box; width:100%; height:510px; border:1px solid #eed5de; border-radius:0 0 10px 10px; background:#fbeaf0; }
.review-dialog { max-width:min(490px,calc(100vw - 32px)); color:#492638; }
.review-dialog::backdrop { background:#35172588; }
.review-dialog ul { max-height:220px; overflow:auto; padding-left:24px; overflow-wrap:anywhere; }
.compose-card [hidden] { display:none !important; }
@media(max-width:1060px) { .compose-grid { grid-template-columns:1fr; } .preview-card { position:static; } }
.compose-card input[type=radio],.compose-card input[type=checkbox] { width:auto; min-width:0; min-height:0; }
