.handoff-body { display:flex; flex-direction:column; gap:14px; overflow-wrap:anywhere; }
.handoff-body p { margin:0; }
.handoff-list,.handoff-items { list-style:none; margin:0; padding:0; }
.handoff-row { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; width:100%; text-align:left; padding:16px 0; border:0; border-bottom:1px solid var(--edge-soft); background:none; color:var(--ink); font:inherit; cursor:pointer; }
.handoff-row span:last-child { color:var(--ink-2); }
.handoff-item { border-top:1px solid var(--edge-soft); padding:18px 0; display:flex; flex-direction:column; gap:10px; }
.handoff-item h3,.handoff-meal h4,.handoff-shopping h3 { margin:0; font-size:1rem; }
.handoff-state { border-left:3px solid var(--mais-lu); padding-left:10px; font-weight:700; }
.handoff-state--confirmed { border-color:var(--botte-lu); }
.handoff-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.handoff-pair>div { min-width:0; padding:10px; background:var(--surface-2); }
.handoff-pair h4 { font-size:1rem; margin:0 0 8px; }
.handoff-pair p+p { margin-top:8px; }
.handoff-meal { display:flex; flex-direction:column; gap:8px; }
.handoff-shopping { border-top:1px solid var(--edge-soft); padding-top:16px; display:flex; flex-direction:column; gap:12px; }
#handoff-back { align-self:flex-start; }
#handoff-title:focus { outline:2px solid var(--ink); outline-offset:4px; }
@media(max-width:520px){ .handoff-pair{grid-template-columns:1fr;} .handoff-row{flex-direction:column;} }

.handoff-head { position:sticky; top:0; z-index:1; background:var(--surface); padding-block:6px; }
#handoff-notice:empty { display:none; }
.handoff-body a { color:var(--accent); text-underline-offset:3px; }
.handoff-shopping .btn { align-self:flex-start; white-space:normal; }
#handoff-back { max-width:100%; white-space:normal; }
/* Le corps grandit avec le contenu ; seul le dialogue limite le défilement.
   Sinon max-height mobile borne le parent du bandeau et fait disparaître Fermer. */
#handoff-modal > .sheet__body { max-height:none; }
