.image-card,.source-card{min-height:300px;background:#fff center/cover no-repeat;border:1px solid var(--line);border-radius:22px;padding:18px;display:flex;align-items:stretch}
.card-fields{width:min(720px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:rgba(255,255,255,.93);backdrop-filter:blur(5px);padding:18px;border-radius:17px;align-self:stretch}
.source-actions{display:flex;gap:10px;align-items:end}.light-panel{background:rgba(255,255,255,.93);backdrop-filter:blur(5px);border-radius:14px;padding:12px}
.offer-card[style]{background-position:center;background-size:cover;min-height:220px}.offer-card[style] .card-actions{padding:10px;flex-wrap:wrap}
.shopping-list{display:grid;gap:12px}.shopping-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px}.shopping-row h2,.shopping-row p{margin:2px 0}.shopping-row.done{opacity:.55}.shopping-row.done h2{text-decoration:line-through}
.complete{width:48px;height:48px;border-radius:50%;padding:0;background:#fff;color:var(--green);font-size:26px}.recipient-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.recipient-row{display:grid;grid-template-columns:1.5fr 1.2fr 1fr auto auto;gap:12px;align-items:end}
dialog{width:min(560px,calc(100% - 28px));border:0;border-radius:24px;padding:28px;color:var(--ink);box-shadow:0 25px 90px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(8,28,23,.62)}.dialog-close{float:right;width:44px;height:44px;border:0;border-radius:50%;padding:0;font-size:30px;background:#edf2ef}.dialog-actions{display:flex;gap:10px;margin-top:18px}.dialog-actions>*{flex:1}#sharePreview{white-space:pre-line;background:var(--cream);padding:14px;border-radius:12px}.offer-copy{min-width:0}.card-actions{flex-wrap:wrap}
@media(max-width:820px){.card-fields,.recipient-row{grid-template-columns:1fr}.image-card,.source-card{min-height:360px}.source-actions{align-items:stretch}.source-actions>*{flex:1}nav a{flex:none}.offer-card[style]{min-height:340px}.dialog-actions{flex-direction:column}}
