/* Shared filter and summary components */
.board-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 16px}
.summary-pill{display:inline-flex;align-items:baseline;gap:7px;background:#fff;border:2px solid var(--line-soft);border-radius:999px;padding:8px 14px;box-shadow:0 3px 0 rgba(161,106,52,.1);color:var(--bark-soft);font-size:13px;font-weight:700}
.summary-pill strong{font-size:20px;color:var(--jungle-800);font-variant-numeric:tabular-nums}
.filter-row{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:0 0 16px}
.filter-chip{border:2px solid #ddc9a3;background:#fff;color:var(--bark);border-radius:999px;padding:8px 13px;min-height:44px;font-size:13.5px;font-weight:800;transition:background .18s,color .18s,border-color .18s,transform .12s}
.filter-chip:hover{background:#f6efdf}
.filter-chip:active{transform:translateY(1px)}
.filter-chip[aria-pressed="true"]{background:var(--jungle-800);border-color:var(--jungle-900);color:#fff;box-shadow:0 3px 0 #102d20}
.question-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:center;margin-bottom:18px}
.question-toolbar .filter-row{margin:0;flex:1 1 360px}
.select-label{display:grid;gap:5px;font-size:13px;font-weight:800;color:var(--bark);min-width:190px}
.select-label select{width:100%;border:2px solid #d6c29a;border-radius:12px;padding:10px 12px;background:#fff;color:var(--bark);min-height:44px;font-size:14px}

/* What to Bring */
.bring-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;align-items:stretch}
.bring-card{background:#fff;border:2px solid var(--line-soft);border-radius:18px;padding:15px;box-shadow:0 4px 0 rgba(161,106,52,.12);display:flex;flex-direction:column;gap:9px;min-width:0;transition:transform .18s,box-shadow .18s}
.bring-card:hover{transform:translateY(-2px);box-shadow:0 7px 0 rgba(161,106,52,.12)}
.bring-card.is-covered{background:linear-gradient(150deg,#f6fbef,#fff)}
.bring-top{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}
.bring-card h3{margin:0;font-size:18px;line-height:1.22;color:var(--jungle-800);overflow-wrap:anywhere}
.category-badge,.status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:11.5px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.category-badge{background:#f4ecda;color:#80501f;border:1px solid #e5cf9f}
.status-badge{background:#eef7e6;color:var(--success);border:1px solid #b9d99c}
.status-badge.available{background:#fff7e5;color:var(--warning);border-color:#efd09b}
.status-badge.partial{background:#eef7e6;color:var(--success);border-color:#b9d99c}
.status-badge.covered{background:#dff1d2;color:#245b35;border-color:#9ccf72}
.bring-count{margin:0;font-size:13.5px;font-weight:800;color:var(--bark-soft)}
.bring-count strong{color:var(--jungle-800)}
.bring-progress{height:10px;border-radius:999px;background:#eadfc6;overflow:hidden;margin-top:2px}
.bring-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8bc95b,#3f7f2a);transition:width .45s cubic-bezier(.2,.9,.3,1)}
.bring-note{margin:0;font-size:13.5px;color:#6a5238;line-height:1.45;overflow-wrap:anywhere}
.claim-list{margin:2px 0 0;padding:0;list-style:none;display:grid;gap:5px}
.claim-item{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:#4e6e36;background:#f7fbee;border-radius:9px;padding:5px 8px;overflow-wrap:anywhere}
.claim-item span{min-width:0}
.claim-cancel{border:0;background:none;color:#8b5a28;font-size:11.5px;font-weight:800;text-decoration:underline;text-underline-offset:2px;padding:0 6px;min-height:44px;display:inline-flex;align-items:center;flex:none}
.claim-none{margin:0;font-size:12.5px;color:#8a765c;font-style:italic}
.claim-form{display:grid;grid-template-columns:minmax(0,1fr) 74px auto;gap:7px;margin-top:6px;align-items:center}
.claim-form input{border:2px solid #d6c29a;border-radius:10px;padding:9px 10px;min-width:0;min-height:44px;background:#fff;color:var(--bark);font-size:14px}
.claim-form button{border:0;border-radius:11px;background:var(--jungle-800);color:#fff;font-weight:900;padding:9px 12px;min-height:44px;font-size:13.5px;box-shadow:0 3px 0 #143a26;transition:transform .12s,box-shadow .12s}
.claim-form button:active{transform:translateY(2px);box-shadow:0 1px 0 #143a26}
.claim-form button:disabled{opacity:.6;cursor:wait}
.covered-note{margin:0;font-size:13px;font-weight:900;color:var(--success);text-align:center;background:#eef7e6;border-radius:10px;padding:8px}

/* Jungle Help Desk */
.qa-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}
.qa-card{background:#fff;border:2px solid var(--line-soft);border-radius:18px;padding:15px;box-shadow:0 4px 0 rgba(161,106,52,.12);min-width:0;display:flex;flex-direction:column;gap:9px}
.qa-card.is-pinned{border-color:#d99a4e;box-shadow:0 5px 0 rgba(217,154,78,.22)}
.qa-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.qa-text{margin:0;font-size:16px;line-height:1.45;color:#3f2d1d;overflow-wrap:anywhere}
.qa-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12.5px;color:#7a654c;font-weight:700}
.qa-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:11.5px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.qa-status.unanswered{background:#fff7e5;color:var(--warning);border:1px solid #efd09b}
.qa-status.answered{background:#eef7e6;color:var(--success);border:1px solid #b9d99c}
.qa-status.pinned{background:#fff1d8;color:#8a4f10;border:1px solid #e7bd7a}
.qa-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.btn-small{border:1px solid #cdb98f;background:#f8f2e4;color:var(--jungle-800);border-radius:10px;padding:7px 11px;font-size:12.5px;font-weight:900;min-height:44px;transition:background .15s}
.btn-small:hover{background:#efe4ce}
.btn-small.primary{background:var(--jungle-800);border-color:var(--jungle-900);color:#fff}
.btn-small.danger{background:#fdeceb;border-color:#e4b3ae;color:var(--error)}
.qa-thread{margin-top:3px;padding-top:10px;border-top:1px solid #ece1cb;display:grid;gap:8px}
.qa-reply{border-left:3px solid #b9d99c;background:#f8fdf4;border-radius:0 10px 10px 0;padding:8px 10px}
.qa-reply.host{border-left-color:var(--honey);background:#fff9ec}
.qa-reply-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:#5c6f4a;font-weight:800}
.host-badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--jungle-800);color:#fff;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;font-weight:900}
.qa-reply p{margin:4px 0 0;font-size:14px;line-height:1.45;color:#40301f;overflow-wrap:anywhere;white-space:pre-wrap}
.qa-reply-form{display:grid;gap:7px;margin-top:6px;padding:10px;border-radius:12px;background:#f8f4ea}
.qa-reply-form label{font-size:12.5px;font-weight:800;color:var(--bark)}
.qa-reply-form input,.qa-reply-form textarea{border:2px solid #d6c29a;border-radius:10px;padding:9px 10px;font-size:14px;min-width:0;background:#fff;color:var(--bark)}
.qa-reply-form textarea{min-height:70px;resize:vertical}
.qa-reply-form .btn-small{justify-self:start}

/* Birthday wishes */
.wish-wall{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.wish-card{position:relative;background:linear-gradient(150deg,#fffdf6,#f9f0dc);border:2px solid #e7d3ae;border-radius:18px;padding:17px 16px 15px;box-shadow:0 5px 0 rgba(161,106,52,.13);overflow-wrap:anywhere}
.wish-card::before{content:"“";position:absolute;top:-7px;left:12px;font-family:Georgia,serif;font-size:52px;line-height:1;color:#d9b77f;opacity:.65}
.wish-text{margin:8px 0 10px;font-size:15.5px;line-height:1.55;color:#3f2d1d;white-space:pre-wrap}
.wish-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12.5px;font-weight:800;color:#7a654c;border-top:1px solid #ecdec4;padding-top:8px}
.wish-name{color:var(--jungle-800);overflow-wrap:anywhere}
.wish-date{white-space:nowrap;font-weight:700}
.wish-empty{padding:28px 18px;text-align:center;border:2px dashed #d8c6a1;border-radius:18px;background:#fffdf7;color:#6a5844}
.wish-empty strong{display:block;color:var(--jungle-800);font-size:18px;margin-bottom:4px}

@media(max-width:620px){
  .claim-form{grid-template-columns:minmax(0,1fr) 68px;gap:6px}
  .claim-form button{grid-column:1/-1}
  .qa-list{grid-template-columns:1fr}
  .bring-list{grid-template-columns:1fr}
  .wish-wall{grid-template-columns:1fr}
  .summary-pill{padding:7px 11px}
  .summary-pill strong{font-size:18px}
  .question-toolbar{align-items:stretch}
  .select-label{min-width:0;width:100%}
}
@media(hover:none){
  .bring-card:hover{transform:none;box-shadow:0 4px 0 rgba(161,106,52,.12)}
}

/* Inline parent controls */
.parent-inline-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.bring-suggested{margin:0;font-size:12px;color:#7a654c;font-weight:700}
.inline-edit{display:grid;gap:7px;margin-top:8px;padding:10px;border-radius:12px;background:#f8f4ea;border:1px dashed #cdb98f}
.inline-edit textarea{border:2px solid #d6c29a;border-radius:10px;padding:9px 10px;font:inherit;font-size:14px;min-height:70px;resize:vertical;background:#fff;color:var(--bark)}
.inline-edit-actions{display:flex;flex-wrap:wrap;gap:7px}
.wish-card.is-hidden-wish{opacity:.72;border-style:dashed}
.parent-rsvp-list{display:grid;gap:10px}
.parent-rsvp-row{background:#fff;border:2px solid var(--line-soft);border-radius:16px;padding:12px;display:grid;gap:8px;box-shadow:0 4px 0 rgba(161,106,52,.1)}
.parent-rsvp-household{color:var(--jungle-800);font-size:16px}
.parent-rsvp-date{font-size:12px;color:#7a654c;font-weight:700}
.parent-rsvp-fields{display:grid;grid-template-columns:minmax(90px,auto) 72px minmax(120px,1fr) auto auto;gap:7px;align-items:center}
.parent-rsvp-fields select,.parent-rsvp-fields input{border:2px solid #d6c29a;border-radius:10px;padding:8px 9px;font:inherit;font-size:13.5px;min-width:0;min-height:44px;background:#fff;color:var(--bark)}
@media(max-width:620px){
 .parent-rsvp-fields{grid-template-columns:1fr 1fr}
 .parent-rsvp-fields input[type="text"]{grid-column:1/-1}
 .parent-rsvp-fields .btn-small{width:100%}
}
.bring-remaining{margin:-4px 0 0;font-size:12.5px;font-weight:800;color:#5a6e4a}
