.goal-associate-picker {
  display: grid;
  gap: 10px;
}

.goal-associate-search {
  align-items: center;
  background: #fff;
  border: 1px solid #b8d0c8;
  border-radius: 14px;
  display: flex;
  gap: 10px;
  margin-top: 7px;
  padding: 0 14px;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.goal-associate-search:focus-within {
  border-color: #0c6a59;
  box-shadow: 0 0 0 4px rgba(12, 106, 89, .12);
}

.goal-associate-search span {
  color: #0c6a59;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

.goal-associate-search input {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  flex: 1;
  margin: 0 !important;
  min-width: 0;
  outline: 0 !important;
  padding: 15px 0 !important;
}

.goal-associate-search input:focus,
.goal-associate-search input:focus-visible {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.goal-associate-results {
  background: #f8fbf9;
  border: 1px solid #d4e2dd;
  border-radius: 14px;
  display: grid;
  gap: 5px;
  max-height: 248px;
  overflow-y: auto;
  padding: 7px;
}

.goal-associate-results[hidden],
.goal-selected-associate[hidden] {
  display: none !important;
}

.goal-associate-result {
  align-items: center;
  background: #fff;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #123c35;
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 11px;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  padding: 10px;
  text-align: left;
  transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease;
  width: 100%;
}

.goal-associate-result:not(:disabled):hover,
.goal-associate-result:not(:disabled):focus-visible {
  border-color: #7eb6a8;
  box-shadow: 0 8px 20px rgba(18, 60, 53, .09);
  outline: none;
  transform: translateY(-1px);
}

.goal-associate-result.is-unavailable {
  cursor: not-allowed;
  opacity: .68;
}

.goal-associate-avatar {
  align-items: center;
  background: #dceee8;
  border-radius: 12px;
  color: #0a6655;
  display: inline-flex;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.goal-associate-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.goal-associate-copy strong,
.goal-associate-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.goal-associate-copy small {
  color: #70847f;
  font-size: 11px;
}

.goal-associate-state {
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  padding: 6px 9px;
  white-space: nowrap;
}

.goal-associate-state.is-available { background: #ddf4e8; color: #087351; }
.goal-associate-state.is-busy { background: #fff0ca; color: #8a5b00; }
.goal-associate-state.is-blocked { background: #f0e9e5; color: #77574b; }

.goal-associate-hint,
.goal-associate-loading,
.goal-associate-empty {
  color: #70847f;
  display: grid;
  gap: 3px;
  justify-items: center;
  padding: 15px 12px;
  text-align: center;
}

.goal-associate-empty strong { color: #294e47; }
.goal-associate-empty span { font-size: 12px; }

.goal-associate-loading {
  align-items: center;
  display: flex;
  justify-content: center;
}

.goal-associate-loading span {
  animation: goal-search-spin .7s linear infinite;
  border: 2px solid #c7dbd5;
  border-radius: 50%;
  border-top-color: #0c6a59;
  height: 15px;
  width: 15px;
}

.goal-selected-associate {
  align-items: center;
  background: #e9f5f1;
  border: 1px solid #9ec9bd;
  border-radius: 14px;
  display: grid;
  gap: 12px;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  padding: 12px;
}

.goal-selected-associate > span:nth-child(2) { display: grid; gap: 2px; }
.goal-selected-associate small { color: #50736a; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.goal-selected-associate strong { color: #123c35; }
.goal-selected-associate em { color: #607d75; font-size: 11px; font-style: normal; }
.goal-selected-associate button { background: transparent; border: 0; color: #086653; cursor: pointer; font-weight: 800; }

.goal-details {
  border: 0;
  display: grid;
  gap: 15px;
  margin: 4px 0 0;
  min-width: 0;
  padding: 10px 0 0;
  transition: opacity .18s ease;
}

.goal-details:disabled { opacity: .36; }

@keyframes goal-search-spin { to { transform: rotate(360deg); } }

@media (max-width: 640px) {
  .goal-associate-result { grid-template-columns: 38px minmax(0, 1fr); }
  .goal-associate-state { grid-column: 2; justify-self: start; }
  .goal-selected-associate { grid-template-columns: 38px minmax(0, 1fr); }
  .goal-selected-associate button { grid-column: 2; justify-self: start; padding: 4px 0; }
}
