.sender-shell { max-width: 1200px; margin: 0 auto; padding: 0 20px 40px; }
.hero { margin-bottom: 18px; }
.builder-grid, .preview-grid { display:grid; grid-template-columns: 1.05fr 1.4fr; gap: 18px; margin-bottom: 18px; }
.template-list { display:grid; grid-template-columns: 1fr; gap: 12px; }
.template-item { border:1px solid rgba(255,255,255,0.08); border-radius: 18px; padding: 14px; cursor:pointer; background: rgba(255,255,255,0.03); transition: 0.2s ease; }
.template-item.active { border-color: rgba(159,103,255,0.7); box-shadow: 0 0 0 1px rgba(159,103,255,0.3) inset; }
.template-item h3 { margin: 0 0 6px; }
.template-swatches { display:flex; gap:8px; margin-top:10px; }
.template-swatches span { width:18px; height:18px; border-radius:999px; border:1px solid rgba(255,255,255,0.18); }
.preview-panel, .success-panel { min-height: 100%; }
.share-stack { display:flex; flex-direction:column; gap:14px; }
.nested-head { margin-top: 8px; }
.map-box { min-height: 360px; border-radius: 18px; overflow: hidden; border:1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.03); }
.map-search-grid { grid-template-columns: 1fr auto; align-items:end; }
.end-align { align-items: end; }

@media (max-width: 960px) {
  .builder-grid, .preview-grid { grid-template-columns: 1fr; }
  .sender-shell { padding: 0 16px 30px; }
}
