/* BK1a: appointment types and locations */
.appt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px 16px; margin-top: 8px; }
.appt-checks { display: flex; flex-direction: column; gap: 6px; margin: 12px 0 4px; }
.appt-type-card.is-off { opacity: 0.72; }
.appt-type-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.appt-type-head h2 { margin: 0; }
.appt-texts { margin-top: 12px; }
.appt-texts summary { cursor: pointer; font-weight: 600; }
.appt-texts textarea { width: 100%; }
.appt-loc-row { padding: 12px 0; border-top: 1px solid #ECEAF3; }
.appt-loc-row:first-of-type { border-top: 0; }
.appt-loc-row.is-off { opacity: 0.6; }
.appt-loc-row.is-editing { background: #F7F6FB; padding: 12px; border-radius: 10px; }
.appt-loc-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.appt-prod-row { padding: 12px 0; border-top: 1px solid #ECEAF3; }
.appt-prod-row .bo-chips { margin: 8px 0; }
.book-demo-type { margin: 4px 0 12px; display: flex; flex-direction: column; gap: 8px; }
.book-demo-type .setup-field { margin: 0; }
.appt-type-choices .choice.selected { box-shadow: inset 4px 0 0 var(--appt-colour, #4B2EDB); }
/* the type's colour and place on calendar items */
.appt-type-tag { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: #1B1530; }
.appt-type-tag::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--appt-colour, #4B2EDB); }
.appt-place-line { font-size: 12px; color: #5B5670; }
.appt-multiday-bar { display: block; margin: 2px 0; padding: 2px 8px; border-radius: 6px; font-size: 12px; font-weight: 600; color: #fff;
  background: var(--appt-colour, #E0832F); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.appt-multiday-bar.is-middle { border-radius: 0; }
.appt-multiday-bar.is-first { border-radius: 6px 0 0 6px; }
.appt-multiday-bar.is-last { border-radius: 0 6px 6px 0; }
.appt-capacity-strip { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.appt-capacity-chip { padding: 4px 10px; border-radius: 999px; background: #F1EEFC; font-size: 13px; color: #1B1530; }
.appt-capacity-chip.is-full { background: #FDE8E4; color: #9B2C1A; }
.appt-stats-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.appt-stats-table th, .appt-stats-table td { text-align: left; padding: 6px 8px; border-bottom: 1px solid #ECEAF3; }
.appt-stats-table td.num, .appt-stats-table th.num { text-align: right; font-variant-numeric: tabular-nums; }
/* checkboxes keep their own size inside setup cards (the page's input style makes them 44px tall) */
.setup-page .setup-card .appt-checks .voice-check input,
.setup-page .setup-card .appt-type-head .voice-check input { height: 18px; min-height: 0; padding: 0; }
.appt-type-head .voice-check { margin: 0; align-items: center; }
