/* ══════════════════════════════
   VISITS
══════════════════════════════ */
.visit-card {
  background:var(--bg-surface);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:14px;
  cursor:pointer;transition:all var(--ease);
  border-right:4px solid var(--primary);
  box-shadow:var(--card-shadow);
}
.visit-card:hover  { box-shadow:var(--card-shadow-hover);transform:translateY(-1px); }
.visit-card:active { transform:scale(.99); }
.visit-card--completed { border-right-color:var(--success); }
.visit-card--cancelled { border-right-color:var(--gray-300);opacity:.7; }
.visit-card--emergency { border-right-color:var(--danger); }
.visit-card__header { display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap; }
.visit-card__diagnosis {
  font-size:13px;color:var(--text-secondary);margin-bottom:10px;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  line-height:1.5;
}
.visit-card__footer { display:flex;align-items:center;gap:7px;flex-wrap:wrap; }

/* Service picker */
.service-picker { display:flex;flex-wrap:wrap;gap:8px;padding:14px;background:var(--gray-50);border-radius:var(--radius);border:1px solid var(--border); }
.service-btn {
  padding:7px 14px;border-radius:var(--radius-full);font-size:13px;
  font-weight:600;cursor:pointer;transition:all var(--ease);border:1.5px solid;min-height:36px;
}
.service-btn:active { transform:scale(.95); }

/* Selected services */
.selected-services { display:flex;flex-direction:column;gap:2px; }
.service-row {
  display:flex;align-items:center;gap:12px;padding:10px 14px;
  background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border);
}
.service-row__name  { flex:1;font-size:13px;font-weight:500; }
.service-row__price { font-size:13px;font-weight:700;color:var(--primary); }

/* Totals */
.visit-total {
  display:flex;justify-content:space-between;align-items:center;
  padding:14px;border-top:2px solid var(--border);margin-top:4px;
}
.visit-total__label  { font-size:15px;font-weight:600; }
.visit-total__amount { font-size:22px;font-weight:800;color:var(--primary); }

/* Prescription item */
.rx-item {
  display:flex;gap:10px;padding:12px 14px;align-items:flex-start;
  background:var(--success-bg);border-radius:var(--radius);border:1px solid var(--success-border);
}
.rx-item__info   { flex:1;min-width:0; }
.rx-item__drug   { font-size:13px;font-weight:700; }
.rx-item__details{ font-size:12px;color:var(--text-secondary);margin-top:2px; }
