[hidden], .filter-bar[hidden], .schedule tr[hidden] { display: none !important; }
.help-button { display:inline-block; padding:.4rem .7rem; border-radius:7px; background:#0b5fc3; color:#fff; font-weight:700; text-decoration:none; }
.filter-bar { align-items:flex-end; gap:.7rem; }
.filter-field { display:flex; flex-direction:column; gap:.3rem; font-size:.85rem; }
.filter-field select { max-width:230px; }
.counters { grid-template-columns:repeat(4,minmax(0,1fr)); }
.counter { min-width:0; }
.schedule table { min-width:1630px; table-layout:auto; }
.schedule th:nth-child(n+3) { text-align:center; }
.schedule th:last-child { text-align:left; }
.schedule td:first-child { min-width:160px; }
.schedule td:nth-child(2) { min-width:225px; }
.schedule .person { min-width:100px; white-space:normal; font-size:.85rem; }
.presence.optional { color:#a66e00; }
.presence.declined { color:#bd2c27; }
.choice-cell { min-width:245px; }
.attendance { display:grid; gap:.55rem; }
.attendance label { display:grid; gap:.25rem; font-size:.85rem; }
.attendance select, .edit-form select { width:100%; min-height:40px; border:1px solid #b9c9dc; border-radius:7px; padding:.4rem; background:white; font:inherit; }
.guest-choice { border:1px solid #dce6f0; border-radius:8px; padding:.6rem; margin:0; display:grid; grid-template-columns:minmax(0,1fr) 62px; gap:.4rem; }
.guest-choice legend { font-size:.85rem; font-weight:700; }
.guest-choice input { margin:0; padding:.4rem; min-height:40px; }
.guest-choice small { grid-column:1/-1; }
.save-choice { padding:.45rem .8rem; font-size:.9rem; }
.padded { padding:1.25rem; }
.edit-form { display:grid; gap:.8rem; max-width:650px; margin-bottom:1.5rem; }
.edit-form label { display:grid; gap:.3rem; }
.edit-form textarea { width:100%; border:1px solid #b9c9dc; border-radius:7px; padding:.5rem; font:inherit; }
@media(max-width:700px) {
  .filter-field select { max-width:none; }
  .filter-field { width:100%; }
  .counters { display:flex; }
  .counter { flex:0 0 auto; }
  .schedule table { min-width:0; }
  .schedule td:first-child, .schedule td:nth-child(2), .choice-cell { min-width:0; }
  .schedule tr { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .schedule td { grid-column:auto !important; }
  .schedule td:first-child, .schedule td:nth-child(2), .schedule td.capacity, .schedule td.choice-cell { grid-column:1/-1 !important; }
  .schedule .person { min-width:0; font-size:.95rem; }
  .attendance select, .attendance input, .edit-form input, .edit-form textarea { font-size:16px; }
}
