/* 5.11 UI: componente visual único de conceptos cobrables. */
.rmv-concept-card { gap: 0.7rem; }

.rmv-concept-card > h4,
.rmv-concept-card > header,
.rmv-concept-card > header h4 { margin: 0; }
.rmv-concept-card > header { padding: 0; }

.rmv-concept-row {
  align-items: center;
  grid-template-columns: 6.5rem minmax(12rem, 1.35fr) minmax(10rem, 1fr) 4rem minmax(7.5rem, auto);
  min-width: 44rem;
}

.rmv-concept-table .rmv-concept-row:not(.rmv-admission-sale-head):nth-child(odd) {
  background: rgba(205, 230, 248, 0.12);
}

.rmv-line-item-action-cell,
.rmv-aesthetic-concept-actions {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  justify-content: flex-end;
  white-space: nowrap;
}

.rmv-line-item-action-cell form,
.rmv-aesthetic-concept-actions form {
  box-shadow: none;
  flex: 0 0 auto;
  margin: 0;
}

.rmv-concept-edit-button,
.rmv-line-item-remove { flex: 0 0 auto; }

.rmv-concept-edit-button {
  min-height: 1.85rem;
  padding: 0.22rem 0.5rem;
}

.rmv-concept-card .rmv-billing-line-form {
  align-items: end;
  grid-template-columns: minmax(8.5rem, 0.72fr) minmax(15rem, 1.45fr) minmax(5rem, 0.42fr) minmax(12rem, 1.15fr) auto;
}

.rmv-concept-card .rmv-billing-line-form .form-control,
.rmv-concept-card .rmv-billing-line-form .form-select {
  border-radius: 0.55rem;
  min-height: 3.25rem;
}

.rmv-concept-card .rmv-billing-line-form > div:has(> #ConsultationLineItemNotes) {
  position: relative;
}

.rmv-concept-card .rmv-billing-line-form > div:has(> #ConsultationLineItemNotes) > label {
  color: var(--rmv-color-text-muted);
  font-size: 0.72rem;
  left: 0.75rem;
  line-height: 1;
  margin: 0;
  pointer-events: none;
  position: absolute;
  top: 0.45rem;
  z-index: 2;
}

.rmv-concept-card .rmv-billing-line-form > div:has(> #ConsultationLineItemNotes) > input {
  padding-top: 1.25rem;
}

.rmv-concept-card .form-floating:has(> #ConsultationLineItemQuantity):not(:has(> label))::before {
  color: var(--rmv-color-text-muted);
  content: "Cantidad";
  font-size: 0.72rem;
  left: 0.75rem;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  top: 0.45rem;
  z-index: 2;
}

.rmv-concept-edit-fields {
  display: grid;
  gap: 0.75rem;
}

.rmv-concept-edit-fields textarea.form-control { min-height: 5rem; }

.rmv-concept-card-footer {
  justify-content: flex-end;
  width: 100%;
}

.rmv-aesthetic-concepts {
  display: flex;
  flex-direction: column;
}

.rmv-aesthetic-concepts > header { order: 0; }
.rmv-aesthetic-concepts > .rmv-concept-table,
.rmv-aesthetic-concepts > .rmv-muted { order: 1; }
.rmv-aesthetic-concepts > .rmv-aesthetic-capture-form { order: 2; }
.rmv-aesthetic-concepts > .modal { order: 3; }
.rmv-aesthetic-concepts > .rmv-concept-card-footer { order: 4; }

@media (min-width: 768px) and (max-width: 1024px) {
  .rmv-concept-card .rmv-billing-line-form {
    grid-template-columns: minmax(7rem, 0.7fr) minmax(13rem, 1.4fr) minmax(5rem, 0.45fr) minmax(10rem, 1fr) auto;
  }
}

@media (max-width: 767.98px) {
  .rmv-concept-row { min-width: 40rem; }
  .rmv-concept-card .rmv-billing-line-form { grid-template-columns: 1fr; }
  .rmv-concept-card-footer { justify-content: flex-start; }
}
