/* Follow-ups, instruction templates and prescriptions. */

.fu-list { display: flex; flex-direction: column; gap: var(--sp-2); margin: 0; padding: 0; list-style: none; }
.fu-row {
  display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-3); border-radius: var(--radius-lg); background: var(--c-surface-2);
}
.fu-row--closed { opacity: .78; }
.fu-row__icon {
  display: grid; place-items: center; flex-shrink: 0;
  inline-size: 44px; block-size: 44px; border-radius: 50%;
  background: var(--c-primary-soft); color: var(--c-primary-text);
}
.fu-row__icon--info { background: var(--c-info-soft); color: var(--c-info); }
.fu-row__icon--accent { background: var(--c-accent); color: #000; }
.fu-row__main { flex: 1; min-inline-size: 0; display: flex; flex-direction: column; gap: var(--sp-1); }
.fu-row__title { font-weight: var(--fw-bold); }
.fu-row__title a { color: inherit; }
.fu-row__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1) var(--sp-3); font-size: var(--fs-sm); color: var(--c-text-muted); }
.fu-row__sent { display: inline-flex; align-items: center; gap: 4px; color: var(--c-success); }
.fu-row__outcome { font-size: var(--fs-sm); display: flex; gap: var(--sp-1); align-items: center; }
.fu-row__actions { display: flex; gap: var(--sp-2); align-items: center; flex-shrink: 0; }

@media (max-width: 599px) {
  .fu-row { flex-wrap: wrap; }
  .fu-row__actions { inline-size: 100%; justify-content: flex-end; }
  .hide-sm { display: none; }
}

.pp-results { position: static; box-shadow: none; padding: 0; margin-block-start: var(--sp-2); }

.msg-preview {
  white-space: pre-line; padding: var(--sp-4); border-radius: var(--radius-lg);
  background: #E7F8EC; color: #10371D; font-size: var(--fs-sm); line-height: 1.7;
  max-block-size: 320px; overflow: auto; border-inline-start: 4px solid #1FAF55;
}
[data-theme="dark"] .msg-preview { background: #12301D; color: #D6F5E0; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .msg-preview { background: #12301D; color: #D6F5E0; } }

.tpl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--sp-3); }
.tpl-card { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-4); border-radius: var(--radius-lg); background: var(--c-surface-2); border: 1px solid var(--c-border); }
.tpl-card--off { opacity: .6; }
.tpl-card__head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); }
.tpl-card__body {
  margin: 0; white-space: pre-line; font-size: var(--fs-sm); color: var(--c-text-muted);
  display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden;
}

/* Prescription editor */
.rx-lines { display: flex; flex-direction: column; gap: var(--sp-2); margin: 0; padding: 0; list-style: none; counter-reset: rx; }
.rx-line {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--sp-2) var(--sp-3); align-items: start;
  padding: var(--sp-3); border-radius: var(--radius-lg); background: var(--c-surface-2); counter-increment: rx;
}
.rx-line::before {
  content: counter(rx); display: grid; place-items: center; inline-size: 28px; block-size: 28px;
  border-radius: 50%; background: var(--c-primary); color: #fff; font-weight: var(--fw-bold); font-size: var(--fs-sm);
}
.rx-line__fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-2); }
.rx-line__fields .rx-line__name { grid-column: 1 / -1; font-weight: var(--fw-bold); }
.rx-line__fields .rx-line__notes { grid-column: 1 / -1; }
.rx-line--warn { box-shadow: inset 0 0 0 2px var(--c-danger); }
.rx-add { position: relative; }
.rx-add .gsearch__list { inset-inline: 0; }
.rx-warnings { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-lg); background: var(--c-danger-soft); color: var(--c-danger); }
.rx-warnings--caution { background: var(--c-warning-soft); color: var(--c-warning); }
.rx-warnings li { margin-inline-start: var(--sp-4); }

@media (max-width: 599px) { .rx-line__fields { grid-template-columns: 1fr; } }

.rx-card { display: flex; gap: var(--sp-3); align-items: flex-start; padding: var(--sp-4); border-radius: var(--radius-lg); background: var(--c-surface-2); }
.rx-card__symbol { font-family: Georgia, serif; font-size: 28px; font-weight: 700; color: var(--c-primary-text); line-height: 1; }
.rx-card__main { flex: 1; min-inline-size: 0; display: flex; flex-direction: column; gap: var(--sp-1); }
.rx-card__drugs { display: flex; flex-wrap: wrap; gap: var(--sp-1); }
