/* Clinical narrative fields grow with their contents, including on first open. */
textarea[data-clinical-autogrow] {
  box-sizing: border-box;
  min-height: 44px;
  max-height: none;
  overflow: hidden;
  resize: none;
  line-height: 1.5;
  overflow-wrap: anywhere;
  transition: border-color 120ms ease;
}
.client-profile-row-value { white-space: pre-wrap; overflow-wrap: anywhere; }
.recommendation-item-list .recommendation-item-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px;
  align-items: start;
  gap: 10px;
  padding: 0;
}
.recommendation-item-row > input[type="hidden"] { display: none; }
.recommendation-service-field, .recommendation-date-field { min-width: 0; }
.recommendation-item-row textarea {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border, #e3eaf2);
  border-radius: 10px;
  background: #fff;
  color: inherit;
  font: inherit;
  line-height: 1.5;
}
.recommendation-date-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  background: #fff;
  color: inherit;
  border: 1px solid var(--border, #e3eaf2);
  border-radius: 10px;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.recommendation-date-trigger svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; color: var(--muted, #64748b); }
.recommendation-item-list .recommendation-item-row .recommendation-item-remove {
  position: static;
  grid-column: 3;
  grid-row: 1;
  transform: none;
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  font-size: 24px;
  border: 1px solid var(--border, #e3eaf2);
  background: #fff;
  border-radius: 10px;
}
.recommendation-item-list .recommendation-item-remove:hover { color: #b42318; background: #fff5f4; }
.recommendation-legacy-frequency { grid-column: 1 / 3; color: var(--muted, #64748b); font-size: 12px; }
.recommendation-date-hint { color: var(--muted, #64748b); font-size: 13px; line-height: 1.5; margin: 0 0 12px; }
.recommendation-picker { z-index: 10000; overflow: auto; overscroll-behavior: contain; }
.recommendation-picker [role="option"] {
  display: block;
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  padding: 10px 12px;
  font: inherit;
  color: inherit;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.recommendation-picker [role="option"]:hover,
.recommendation-picker [role="option"][aria-selected="true"] { background: #e8f8f5; }
.recommendation-picker-empty { margin: 8px; font-size: 14px; line-height: 1.5; color: var(--muted, #64748b); }
.recommendation-date-shortcuts { display: flex; gap: 6px; margin-bottom: 12px; }
.recommendation-date-shortcuts button { flex: 1; min-height: 44px; padding: 4px; font: inherit; font-size: 13px; color: #087c71; background: #e8f8f5; border: 1px solid #cbece7; border-radius: 8px; cursor: pointer; }
.recommendation-picker .appointment-date-days button:disabled { opacity: .35; cursor: default; }
.clinical-save-error { padding: 12px; border: 1px solid #f6c9c3; border-radius: 10px; color: #b42318; background: #fff5f4; }
@media (max-width: 700px) {
  .recommendation-item-list .recommendation-item-row { grid-template-columns: minmax(0, 1fr) 44px; }
  .recommendation-item-row > textarea, .recommendation-service-field, .recommendation-date-field { grid-column: 1; }
  .recommendation-item-list .recommendation-item-row .recommendation-item-remove { grid-column: 2; grid-row: 1; }
  .recommendation-legacy-frequency { grid-column: 1; }
}
textarea[data-clinical-autogrow]:focus-visible,
.recommendation-date-trigger:focus-visible,
.recommendation-picker button:focus-visible {
  outline: 2px solid #0d9488;
  outline-offset: 2px;
}
/* Keep hardware-keyboard focus visible, even on a touch device. Textarea's
   :focus-visible alone also matches touch text entry in Safari. */
@media (pointer: coarse) {
  .medical-field textarea:focus:not(:focus-visible),
  .recommendation-item-row textarea:focus,
  .medical-field textarea[data-clinical-autogrow]:focus {
    outline: none;
    box-shadow: none;
    border-color: var(--border, #e3eaf2);
    background: #fff;
  }
}
html[data-clinical-keyboard] textarea[data-clinical-autogrow]:focus-visible {
  outline: 2px solid #0d9488;
  outline-offset: 2px;
}
