.birthday-page { display: grid; gap: 20px; }
.birthday-intro { margin: 0; color: var(--text-secondary); line-height: 1.6; }
.birthday-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.birthday-body { padding: 20px; }
.birthday-page fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.birthday-page label { display: block; margin-bottom: 8px; }
.birthday-help { color: var(--text-muted); font-size: .85rem; line-height: 1.6; margin: 8px 0 16px; }
.birthday-preview { padding: 16px; margin: 16px 0; border: 1px solid var(--glass-border); border-radius: 10px; background: var(--bg-tertiary); }
.birthday-preview p, .birthday-template { white-space: pre-wrap; overflow-wrap: anywhere; }
.birthday-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.birthday-campaign { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--glass-border); }
.birthday-campaign:first-child { padding-top: 0; }
.birthday-campaign:last-child { border-bottom: 0; padding-bottom: 0; }
.birthday-campaign > div:first-child { min-width: 0; }
.birthday-campaign .birthday-actions { align-self: start; flex-shrink: 0; }
@media (max-width: 800px) { .birthday-layout { grid-template-columns: 1fr; } .birthday-campaign { flex-direction: column; } }
