.grocery-save-button { flex:0 0 auto; gap:10px; font:inherit; font-weight:650; cursor:pointer; }
.grocery-save-button[hidden], .grocery-export-fallback[hidden] { display:none; }
.grocery-save-button:disabled { cursor:progress; opacity:.65; }
.grocery-save-hint { margin:-4px 0 24px; color:var(--meal-text-secondary); font-size:14px; line-height:1.5; }
.grocery-export-status { margin:0 0 18px; color:var(--meal-text-secondary); font-size:14px; line-height:1.5; }
.grocery-export-status:empty { display:none; }
.grocery-export-fallback { padding:24px; margin-bottom:24px; border:1px solid var(--meal-stroke); border-radius:20px; background:rgba(255,255,255,.85); }
.grocery-export-fallback h3 { margin:0 0 10px; font-size:20px; letter-spacing:-.02em; }
.grocery-export-fallback p { max-width:65ch; color:var(--meal-text-secondary); font-size:14px; line-height:1.55; }
.grocery-export-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:18px 0; }
.grocery-copy-button { padding:12px 20px; border:1px solid var(--meal-stroke); border-radius:99px; background:white; color:var(--meal-text-primary); font:inherit; cursor:pointer; }
.grocery-text-preview summary { cursor:pointer; font-size:14px; padding:6px 0; }
.grocery-text-label { display:block; margin:14px 0 6px; font-size:13px; color:var(--meal-text-secondary); }
.grocery-text-preview textarea { display:block; width:100%; resize:vertical; padding:14px; border:1px solid var(--meal-stroke); border-radius:12px; font:14px/1.6 system-ui,sans-serif; background:white; color:var(--meal-text-primary); }
.grocery-save-button:focus-visible, .grocery-copy-button:focus-visible, .grocery-text-preview summary:focus-visible, .grocery-text-preview textarea:focus-visible { outline:3px solid #526ba2; outline-offset:4px; }
@media(max-width:719px) {
  .grocery-save-button { width:100%; justify-content:center; }
  .grocery-export-fallback { padding:20px 16px; }
}
@media print {
  .grocery-save-button, .grocery-save-hint, .grocery-export-status, .grocery-export-fallback { display:none !important; }
}
