.family-plan-item-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px}
.family-plan-item-actions>a,.family-plan-item-actions>button{min-height:44px;white-space:normal;text-align:left;line-height:1.5}
.family-plan-item-actions>button{border:0;padding:0;background:transparent;color:#496e59;font:700 12px/1.5 'DM Sans',Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.family-plan-item-actions>button[aria-expanded="true"]{color:#8a6233}
.family-plan-item-actions>button:focus-visible,.family-swap-panel :is(button,summary):focus-visible{outline:3px solid #789c65;outline-offset:4px}
.family-swap-panel{margin-top:20px;padding:20px;border:1px solid #c9d9bc;border-radius:18px;background:#f2f6e9;min-width:0}
.family-swap-panel[hidden]{display:none}
.family-swap-panel header .section-kicker{color:#637d59!important;font-size:10px;margin:0 0 8px}
.family-swap-panel h3{font:700 23px/1.4 'DM Sans',Arial,sans-serif;margin:0 0 12px;color:#355f49;overflow-wrap:anywhere}
.family-swap-panel header>p,.family-swap-empty{font:400 14px/1.75 'DM Sans',Arial,sans-serif;color:#586c50;margin:0 0 14px}
.family-swap-panel .family-swap-budget{padding:12px;border-radius:10px;background:#e5edd7;color:#486344;margin-bottom:0;font-size:12px}
.family-swap-range{font-size:12px;color:#667d59;margin:18px 0 10px}
.family-swap-options{display:grid;gap:14px;min-width:0}
.family-swap-options article{min-width:0;overflow:hidden;border:1px solid #d5e0c9;border-radius:14px;background:#fffdf6}
.family-swap-options article>img{display:block;width:100%;height:auto;aspect-ratio:3/2;max-height:205px;object-fit:cover}
.family-swap-options article>div{padding:18px;min-width:0}
.family-swap-options h4{font:700 21px/1.4 'DM Sans',Arial,sans-serif;margin:8px 0;color:#355f49;overflow-wrap:anywhere}
.family-swap-options p{font:400 13px/1.7 'DM Sans',Arial,sans-serif;color:#5b6f54;margin:0 0 12px}
.family-swap-options .family-swap-time{font-size:11px;color:#687e60}
.family-swap-options .family-swap-preference{padding:7px 10px;background:#edf2df;border-radius:8px;font-size:12px;color:#4c6e3d}
.family-swap-options details{padding-block:10px;margin-bottom:12px;border-block:1px solid #e1e7d5;color:#4c6845}
.family-swap-options summary{cursor:pointer;min-height:44px;align-content:center;font-size:13px;font-weight:700;line-height:1.6}
.family-swap-options details b{font-size:12px}
.family-swap-options details ul{padding-left:20px;font-size:13px;line-height:1.8;margin:8px 0}
.family-swap-options .outline-button,.family-swap-controls .outline-button{white-space:normal;font-size:13px;line-height:1.5;min-height:44px;max-width:100%;justify-content:center}
.family-swap-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
.family-swap-controls .text-button{min-height:44px;color:#536e49;font-size:12px;white-space:normal;text-align:left}
.family-swap-feedback p{font-size:13px;line-height:1.75;color:#476a47;margin:17px 0 10px}
.family-swap-feedback p:empty{display:none}
.family-swap-feedback .outline-button{font-size:12px;line-height:1.6;white-space:normal;min-height:44px}
.family-swap-feedback p:focus-visible,.family-swap-panel h3:focus-visible{outline:3px solid #789c65;outline-offset:4px}
.family-plan-linked-note{font-size:12px!important;line-height:1.8!important;color:#647957!important;border-top:1px solid #dce5cf;margin:18px 0 0!important;padding-top:14px}
@media(max-width:620px){.family-swap-panel{padding:16px 12px}.family-swap-panel h3{font-size:21px}.family-swap-options article>div{padding:16px 13px}.family-swap-controls{display:grid}.family-swap-controls>button{width:100%}}
@media print{.family-plan-item-actions>button,.family-swap-panel,.family-swap-feedback,.family-plan-linked-note{display:none!important}}
