.grooming-preference-selection { margin-top: 1rem; font-size: .875rem; color: #475569; }
.grooming-preference-selection fieldset { border: 0; padding: 0; margin: 0 0 1rem; min-width: 0; }
.grooming-preference-selection legend { font-weight: 600; margin-bottom: .5rem; color: #2f4b66; }
.grooming-preference-selection legend span:not(.text-red-500) { font-weight: 400; color: #64748b; }
.grooming-preference-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.grooming-preference-chip { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem .75rem; border: 1px solid #cbd5e1; border-radius: 999px; cursor: pointer; background: white; }
.grooming-preference-chip input { accent-color: #315b7e; width: 1rem; height: 1rem; flex-shrink: 0; }
.grooming-preference-chip:has(input:checked) { border-color: #315b7e; background: #edf5fc; font-weight: 600; color: #2f4b66; }
.grooming-preference-chip:hover { border-color: #315b7e; }
.grooming-preference-chip:has(input:focus-visible) { outline: 2px solid #315b7e; outline-offset: 3px; }
.grooming-preference-chip:has(input:disabled) { cursor: not-allowed; opacity: .6; }

.admin-action-confirm-dialog { max-height: calc(100vh - 2rem); }
.admin-checkin-modal {
  display: flex;
  flex-direction: column;
  max-width: 800px;
  max-height: min(88vh, calc(100vh - 2rem));
  max-height: min(88dvh, calc(100dvh - 2rem));
  overflow: hidden;
}
.admin-checkin-modal .admin-action-confirm-body {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.admin-checkin-modal .admin-action-confirm-icon { width: 2.5rem; height: 2.5rem; margin-bottom: .5rem; }
.admin-checkin-form { display: grid; gap: .875rem; }
.admin-checkin-pets { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.admin-checkin-pet { min-width: 0; overflow-wrap: anywhere; }
.admin-checkin-pet-summary { margin-top: .125rem; line-height: 1.5; }
.admin-checkin-note textarea { display: block; margin-top: .375rem; }
.admin-checkin-modal .admin-action-confirm-footer {
  flex-shrink: 0;
  border-top: 1px solid #e2e8f0 !important;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media (min-width: 640px) {
  .admin-checkin-pets-multiple { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .admin-checkin-modal .admin-action-confirm-body { padding: 1rem; }
  .admin-checkin-modal .admin-action-confirm-footer { gap: .5rem; padding-left: 1rem; padding-right: 1rem; }
  .admin-checkin-modal .admin-action-confirm-footer button { padding-left: .625rem; padding-right: .625rem; white-space: nowrap; }
}
