.saved-meal { margin-block: 1.5rem; background: #fff; color: #191919; }
.saved-meal h3 { margin: 0 0 .5rem; }
.saved-meal p { max-width: 58ch; margin-block: .6rem; }
.saved-meal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1rem; }
.saved-meal-actions button { white-space: normal; min-height: 48px; }
.saved-meal [role="status"]:empty { display: none; }
.saved-meal-dialog { width: min(640px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); margin: auto; padding: clamp(1rem, 4vw, 2rem); border: 0; background: #fff; color: #191919; overflow-y: auto; }
.saved-meal-dialog::backdrop { background: rgb(0 0 0 / .4); }
.saved-meal-dialog h2 { margin-top: 0; }
.saved-meal-dialog h3 { font-size: 1.1rem; }
.saved-meal-lines { display: grid; gap: 1.25rem; margin-block: 1.5rem; }
.saved-meal-line { display: grid; gap: .3rem; overflow-wrap: anywhere; }
.saved-meal-line p { margin: 0; }
.saved-meal-note { font-size: .95rem; }
.saved-meal-forget { background: transparent; color: #191919; border: 0; padding: .75rem; font: inherit; cursor: pointer; }
.saved-meal button:focus-visible { outline: 3px solid #191919; outline-offset: 3px; }
@media (max-width: 480px) {
  .saved-meal-actions { align-items: stretch; flex-direction: column; }
  .saved-meal-actions button { width: 100%; }
}
