/* Calendar destination selection and activity approval. */
.calendar-destination{border:0;padding:0;margin:18px 0 24px;min-width:0}
.calendar-destination legend{font-size:14px;font-weight:700;margin-bottom:10px;padding:0}
.calendar-destination-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.calendar-destination-option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line-2);border-radius:14px;background:var(--paper);padding:15px;margin:0;cursor:pointer;min-width:0}
.calendar-destination-option:has(input:checked){border-color:var(--teal);background:var(--tint);box-shadow:inset 0 0 0 1px var(--teal)}
.calendar-destination-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.calendar-destination-option input[type=radio]{appearance:auto;width:18px;min-width:18px;height:18px;min-height:0;margin:3px 0 0;padding:0;accent-color:var(--teal);box-shadow:none}
.calendar-destination-option>span{display:block;min-width:0}
.calendar-destination-option .icon{display:block;color:var(--teal);margin:0 0 9px}
.calendar-destination-option strong{display:block;font-size:14px;line-height:1.4}
.calendar-destination-option small{display:block;color:var(--ink-2);font-size:12px;font-weight:400;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}
.calendar-destination-help{margin:10px 0 0}
.badge.approval-pending{background:#fbefcf;color:#76551f}
.badge.approval-approved{background:#dfeee5;color:#2f6149}
.badge.approval-declined{background:#f5e4de;color:#94442f}
.activity-approval-notice{margin-bottom:24px}
.activity-approval-notice p:last-child,.calendar-approval-help p{margin-bottom:0}
.calendar-approval-help{margin-top:16px}
.calendar-approval-help .text-link{margin-top:10px}
.activity-review-list{display:grid;gap:16px}
.activity-review-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;margin:0}
.activity-review-summary h3{margin:13px 0 9px;overflow-wrap:anywhere}
.activity-review-summary h3 a{color:var(--ink);text-decoration:none}
.activity-review-summary h3 a:hover{text-decoration:underline}
.activity-review-summary p{margin:9px 0}
.activity-review-form{align-self:center;min-width:0}
.activity-review-form label{margin-bottom:8px}
.activity-review-form textarea{margin-bottom:12px}
.activity-review-form .review-actions{gap:10px}
.activity-review-empty{display:flex;align-items:center;gap:18px;margin:0}
.activity-review-empty>.icon{width:30px;height:30px;color:var(--success);flex-shrink:0}
.activity-review-empty h3,.activity-review-empty p{margin:0}
.calendar-downloads{margin:20px 0}
.calendar-downloads>div:first-child{max-width:750px}
.calendar-downloads>.fine{margin-bottom:0}
@media(max-width:760px){
  .activity-review-card{grid-template-columns:1fr;gap:18px}
  .activity-review-form .button{flex:1}
  .calendar-downloads .inline{align-items:stretch;flex-direction:column}
  .calendar-downloads .button{white-space:normal;text-align:center}
}
@media(max-width:430px){
  .calendar-destination-options{grid-template-columns:1fr}
  .calendar-destination-option{padding:13px}
  .calendar-destination-option .icon{display:none}
}
.family-attendance-summary{font-size:12px;min-width:0;overflow-wrap:anywhere}
.family-attendance-summary>span{font-weight:650}
.family-attendance-summary small{display:block;font-size:11px;color:var(--soft);margin-top:3px}
.family-rsvp-form{flex-wrap:wrap}
.family-attendance-total{font-size:13px;font-weight:650;margin:20px 0 7px}
.family-attendance-list{list-style:none;padding:0;margin:0}
.family-attendance-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}
.family-attendance-list li:last-child{border-bottom:0;padding-bottom:0}
.family-attendance-list strong{overflow-wrap:anywhere;min-width:0}

.family-attendance{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%}

.calendar-group-label{font-size:11px;font-weight:600;color:var(--teal-text)}
