/* /Components/Atenciones/VentanaDeAtencion.razor.rz.scp.css */
/* Solo aparece en una máquina de desarrollo, donde el CRM está simulado. */
.aviso-simulado[b-jy4kxn4n4o] {
  margin: 0;
  padding: var(--campo-y) var(--campo-x);
  border: 1px dashed #E0B48C;
  border-radius: var(--radio-control);
  background: #FBF3E6;
  font-size: var(--texto-menor);
  color: var(--atencion);
}
/* /Components/Configuracion/RolesYPermisos.razor.rz.scp.css */
.lista-de-insignias[b-rj48wruvvd] { display: flex; flex-wrap: wrap; gap: 3.5px; }
.nombre-del-rol[b-rj48wruvvd] { white-space: nowrap; }
/* /Components/Confirmaciones/FichaDeConfirmacion.razor.rz.scp.css */
/* La llamada a la izquierda; las citas a la derecha y el registro bajo ellas; el
   pie, a todo lo ancho. Cuando la ficha cabe en la ventana, cada parte corre
   por su cuenta y el registro no pasa de un tercio del alto.
   En poco ancho, primero las citas: son de lo que se habla. */
.ficha-de-confirmacion[b-rhm8swu4wb] {
  flex: 1; min-height: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 2rem;
  grid-template-rows: minmax(0, 1fr) minmax(0, max-content) auto;
  grid-template-areas: "llamada citas" "llamada registro" "pie pie";
}
.la-llamada[b-rhm8swu4wb] { grid-area: llamada; display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
.las-citas[b-rhm8swu4wb] { grid-area: citas; display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.la-llamada[b-rhm8swu4wb], .las-citas[b-rhm8swu4wb], .el-registro[b-rhm8swu4wb] { min-height: 0; overflow-y: auto; }
.el-registro[b-rhm8swu4wb] { grid-area: registro; max-height: 33vh; }
.pie-de-la-ficha[b-rhm8swu4wb] {
  grid-area: pie; display: flex; justify-content: flex-end; align-items: center; gap: 1rem;
  margin-inline: -1.5rem; margin-bottom: -1.5rem; padding: 1rem 1.5rem;
  border-top: 1px solid var(--linea);
}

/* Los títulos de cada parte; el hueco entre partes ya lo pone la columna. */
.ficha-de-confirmacion h2[b-rhm8swu4wb] { margin: 0; }

.agenda-de-las-citas[b-rhm8swu4wb] {
  margin: 0; padding: var(--campo-y) var(--campo-x);
  border-radius: var(--radio-control); background: var(--acento-tenue);
}

/* Las opciones se reparten en dos columnas y las respuestas en hasta tres,
   parejas: si «Confirma que viene» no cabe en un renglón, bajan antes que partirse. */
.opciones-de-la-llamada[b-rhm8swu4wb] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.respuestas-de-la-cita[b-rhm8swu4wb] { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }
.respuestas-de-la-cita label[b-rhm8swu4wb] { justify-content: center; text-align: center; }

.cabeza-de-las-citas[b-rhm8swu4wb] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; }

.citas-por-confirmar[b-rhm8swu4wb] { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.citas-por-confirmar li[b-rhm8swu4wb] { display: flex; flex-direction: column; gap: 0.5rem; padding-block: 0.75rem; border-bottom: 1px solid var(--linea); }
.citas-por-confirmar li:first-child[b-rhm8swu4wb] { padding-top: 0; }
.citas-por-confirmar li:last-child[b-rhm8swu4wb] { border-bottom: 0; }
/* Sin espacio, el servicio baja a su renglón antes que partirse en tres. */
.cabeza-de-la-cita[b-rhm8swu4wb] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.5rem; }
.momento-de-la-cita[b-rhm8swu4wb] { color: var(--gris); }
.servicio-de-la-cita[b-rhm8swu4wb] { flex: 1 1 12rem; }
.cita-resuelta[b-rhm8swu4wb] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }

.registro-de-actividades[b-rhm8swu4wb] { display: flex; flex-direction: column; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.actividades-anteriores summary[b-rhm8swu4wb] { cursor: pointer; color: var(--acento); }
.actividades-anteriores .registro-de-actividades[b-rhm8swu4wb] { margin-top: 0.5rem; }

/* El mismo corte que deja de caber en la ventana (armazon.css). En una columna
   se lee en el orden en que se llama: con qué buscarlo, de qué citas se habla,
   en qué quedó y, al final, lo que ya se hizo. La columna de la llamada se
   deshace para que sus partes tomen su lugar en ese orden. */
@media (max-width: 80rem) {
  .ficha-de-confirmacion[b-rhm8swu4wb] { grid-template-columns: 1fr; grid-template-rows: none; grid-template-areas: none; }
  .la-llamada[b-rhm8swu4wb] { display: contents; }
  .ficha-de-confirmacion > *[b-rhm8swu4wb], .la-llamada > *[b-rhm8swu4wb] { grid-area: auto; }
  .las-citas[b-rhm8swu4wb] { order: 1; }
  .lo-de-la-llamada[b-rhm8swu4wb] { order: 2; }
  .el-registro[b-rhm8swu4wb] { order: 3; }
  .pie-de-la-ficha[b-rhm8swu4wb] { order: 4; }
}

/* Como toda lista de opciones en el teléfono: una por renglón. */
@media (max-width: 520px) {
  .opciones-de-la-llamada[b-rhm8swu4wb], .respuestas-de-la-cita[b-rhm8swu4wb] { grid-template-columns: 1fr; }
}
/* /Components/Confirmaciones/TablaDeConfirmaciones.razor.rz.scp.css */
/* Un paciente con todas sus citas: su nombre y su sede abarcan un renglón por
   cita, y así cada servicio queda frente a su cita. La línea separa
   pacientes, no citas; entre sus citas solo se cierra el espacio. */
.paciente-con-citas td:not([rowspan])[b-l1cfezt5t8] { padding-block: 6px; }
.paciente-con-citas tr:first-child td:not([rowspan])[b-l1cfezt5t8] { padding-top: var(--relleno-de-celda); }
.paciente-con-citas tr:last-child td:not([rowspan])[b-l1cfezt5t8] { padding-bottom: var(--relleno-de-celda); }
.paciente-con-citas tr:not(:last-child) td:not([rowspan])[b-l1cfezt5t8] { border-bottom: 0; }
.paciente-con-citas tr:last-child > td[b-l1cfezt5t8] { border-bottom: 1px solid var(--linea); }
.paciente-con-citas:last-of-type td[b-l1cfezt5t8],
.paciente-con-citas:last-of-type tr:last-child > td[b-l1cfezt5t8] { border-bottom: 0; }
/* Arriba, para que el nombre quede frente a su primera cita. */
.paciente-con-citas td[b-l1cfezt5t8] { vertical-align: top; }
/* Se abre al paciente, no a la cita: se resalta completo. */
.paciente-con-citas:hover td[b-l1cfezt5t8] { background: var(--fondo); }

.cita-del-paciente[b-l1cfezt5t8] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
/* El id de la cita en el CRM, abajo como el expediente bajo el paciente. */
.folio-de-la-cita[b-l1cfezt5t8] { display: block; }

/* En qué va el paciente, a la orilla derecha: el resultado y, abajo, lo resuelto. */
.columna-de-confirmacion[b-l1cfezt5t8] { text-align: right; }
td.columna-de-confirmacion[b-l1cfezt5t8] { white-space: nowrap; }
td.columna-de-confirmacion .dato-secundario[b-l1cfezt5t8] { display: block; margin-top: 0.375rem; }
/* /Components/Inicio/InicioDelConfirmador.razor.rz.scp.css */
/* A quien toca llamar ahora se le marca con el acento, como lo elegido. */
.siguiente-paciente[b-axdmymjqvi] { border: 2px solid var(--acento); }
.siguiente-paciente .cabeza-de-panel[b-axdmymjqvi] { align-items: flex-start; }
.etiqueta-del-siguiente[b-axdmymjqvi] { font-size: var(--texto-menor); font-weight: 600; color: var(--acento); }
.citas-del-siguiente[b-axdmymjqvi] { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 0.375rem 1.5rem; padding: 0.25rem 1.25rem 0.5rem; }

.citas-resueltas[b-axdmymjqvi] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; padding: 0.25rem 1.25rem 0.5rem; color: var(--gris); }
.citas-resueltas strong[b-axdmymjqvi] { display: block; font-size: var(--texto-dato); font-weight: 700; font-variant-numeric: tabular-nums; }
.citas-resueltas .en-meta[b-axdmymjqvi] { color: var(--correcto); }
.citas-resueltas .cumple[b-axdmymjqvi] { color: var(--atencion); }
.citas-resueltas .en-riesgo[b-axdmymjqvi] { color: var(--peligro); }
/* /Components/Inicio/InicioDelConsejero.razor.rz.scp.css */
.en-riesgo[b-vq4czc7fwl] { color: var(--peligro); font-weight: 600; }
/* /Components/Inicio/InicioDelEquipo.razor.rz.scp.css */
/* Cada persona en un renglón, sin líneas: las cifras se leen en columna. */
.renglon-del-equipo[b-xljgd7sgha] {
  display: grid; grid-template-columns: minmax(0, 1fr) repeat(3, 6.5rem); align-items: center; gap: 1rem;
  padding: 0.625rem 1.25rem;
  font-variant-numeric: tabular-nums;
}
.renglon-del-equipo > span:not(:first-child)[b-xljgd7sgha] { text-align: right; }
/* El grupo bajo el nombre: la columna del nombre no se reparte con otra. */
.quien-del-equipo[b-xljgd7sgha] { display: flex; flex-direction: column; min-width: 0; }
/* La suma del grupo, al pie y separada por una línea, como en las listas. */
.total-del-equipo[b-xljgd7sgha] { border-top: 1px solid var(--linea); font-weight: 600; }
.cabeza-del-equipo[b-xljgd7sgha] { padding-block: 0.25rem; font-size: var(--texto-menor); font-weight: 600; color: var(--gris); }
.en-riesgo[b-xljgd7sgha] { color: var(--peligro); font-weight: 600; }
.cifra-de-inicio-valor strong.en-riesgo[b-xljgd7sgha] { color: var(--peligro); }
/* Un confirmador no atiende ni tiene seguimientos: sus llamadas ocupan esas columnas. */
.llamadas-del-confirmador[b-xljgd7sgha] { grid-column: 2 / -1; color: var(--gris); }

.circulo-de-aviso[b-xljgd7sgha] {
  display: flex; align-items: center; justify-content: center; flex: none;
  width: var(--circulo-en-celda); height: var(--circulo-en-celda); border-radius: 50%;
}
.circulo-de-aviso[b-xljgd7sgha]  svg { width: var(--icono); height: var(--icono); }
.circulo-de-aviso.en-riesgo[b-xljgd7sgha] { color: var(--peligro); background: rgb(179 38 30 / 0.1); }
.circulo-de-aviso.cumple[b-xljgd7sgha] { color: var(--atencion); background: rgb(181 84 27 / 0.12); }
.circulo-de-aviso.en-proceso[b-xljgd7sgha] { color: var(--acento); background: var(--acento-tinte); }

/* Lo que solo ve el administrador se distingue del resto del inicio. */
.panel-de-administracion[b-xljgd7sgha] { border-style: dashed; }
.punto-del-crm[b-xljgd7sgha] { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.punto-del-crm.en-meta[b-xljgd7sgha] { background: var(--correcto); }
.punto-del-crm.en-riesgo[b-xljgd7sgha] { background: var(--peligro); }
.accesos-de-administracion[b-xljgd7sgha] { flex-wrap: wrap; gap: 0.5rem; }

@media (max-width: 40rem) {
  .renglon-del-equipo[b-xljgd7sgha] { grid-template-columns: minmax(0, 1fr) repeat(3, 3.5rem); gap: 0.5rem; }
}
/* /Components/Layout/AvisoDeReconexion.razor.rz.scp.css */
/* Las clases components-* las pone el propio Blazor según el estado de la conexión. */
.components-reconnect-first-attempt-visible[b-av5tca8iya],
.components-reconnect-repeated-attempt-visible[b-av5tca8iya],
.components-reconnect-failed-visible[b-av5tca8iya],
.components-pause-visible[b-av5tca8iya],
.components-resume-failed-visible[b-av5tca8iya] { display: none; }

.components-reconnect-show .components-reconnect-first-attempt-visible[b-av5tca8iya],
.components-reconnect-paused .components-pause-visible[b-av5tca8iya],
.components-reconnect-resume-failed .components-resume-failed-visible[b-av5tca8iya],
.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-av5tca8iya],
.components-reconnect-failed .components-reconnect-failed-visible[b-av5tca8iya] { display: block; }

.aviso-de-reconexion[b-av5tca8iya] {
  width: min(22rem, calc(100vw - 2rem));
  margin: 20vh auto;
  padding: 1.5rem;
  border: 1px solid var(--linea); border-radius: var(--radio-tarjeta);
  background: var(--tarjeta); color: var(--tinta);
  box-shadow: var(--sombra-ventana);
  text-align: center;
}
.aviso-de-reconexion[open][b-av5tca8iya] { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.aviso-de-reconexion[b-av5tca8iya]::backdrop { background: rgb(2 24 56 / 0.45); }
.aviso-de-reconexion p[b-av5tca8iya] { margin: 0; }
/* /Components/Pacientes/CapturaDeContacto.razor.rz.scp.css */
/* Los dos teléfonos lado a lado, cada uno con su casilla; el correo abajo, a lo ancho. */
.campos-de-contacto[b-15j9n5eugu] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.campo-de-correo[b-15j9n5eugu] { grid-column: 1 / -1; }

@media (max-width: 40rem) {
  .campos-de-contacto[b-15j9n5eugu] { grid-template-columns: 1fr; }
}
/* /Components/Pacientes/LigasAlCrm.razor.rz.scp.css */
.ligas-al-crm[b-8kmv7x5gxr] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
/* En un celular bajan una por renglón. */
.a-lo-ancho > *[b-8kmv7x5gxr] { flex: 1 1 12rem; }
/* El expediente va solo arriba; las citas, juntas debajo. */
.a-lo-ancho > .liga-del-expediente[b-8kmv7x5gxr] { flex-basis: 100%; }
.nota[b-8kmv7x5gxr] { flex-basis: 100%; margin: 0; }
.ligas-al-crm:not(.a-lo-ancho) + .nota[b-8kmv7x5gxr] { margin-top: 0.5rem; }
/* /Components/Pacientes/LigasDeContacto.razor.rz.scp.css */
.ligas-de-contacto[b-vorqquswj2] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
/* El borde gris deja el color al dato; al pasar encima toma el de su acción. */
.liga-de-contacto[b-vorqquswj2] { border-color: var(--linea); }
.liga-de-contacto:hover[b-vorqquswj2] { border-color: var(--acento); }
.liga-de-whatsapp[b-vorqquswj2] { color: var(--correcto); }
.liga-de-whatsapp:hover[b-vorqquswj2] { border-color: var(--correcto); }
.liga-corregida[b-vorqquswj2] { border-color: var(--acento); border-style: dashed; }
/* El correo suele ser largo: se recorta en vez de empujar la fila. */
.liga-de-correo[b-vorqquswj2] { max-width: 100%; min-width: 0; }
.texto-del-correo[b-vorqquswj2] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dato-secundario[b-vorqquswj2] { margin: 0; }
/* /Components/Pacientes/SeccionDeContacto.razor.rz.scp.css */
.cabeza-de-contacto[b-214ye9fc0a] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1rem; margin-bottom: 1rem; }
.cabeza-de-contacto h2[b-214ye9fc0a] { margin: 0; }
/* Si no caben junto al título bajan a su renglón, desde la izquierda: pegadas a
   la derecha se apilaban como escalera. */
.cabeza-de-contacto[b-214ye9fc0a]  .ligas-al-crm { justify-content: flex-start; }
/* /Components/Pages/Usuarios.razor.rz.scp.css */
.persona-encontrada[b-rj3qx0oaf2] {
  gap: 0.25rem 1rem;
  padding: var(--campo-y) var(--campo-x);
  border: 1px solid var(--linea); border-radius: var(--radio-control);
  background: var(--fondo);
}
/* /Components/Seguimientos/AccionesDelSeguimiento.razor.rz.scp.css */
/* Lo desplegado ocupa la tarjeta entera; los botones siguen en su renglón. */
.accion-del-seguimiento[b-jz0j4m0o2p] { flex-basis: 100%; display: flex; flex-direction: column; gap: 1rem; }
.accion-del-seguimiento[b-jz0j4m0o2p]  .aviso-pantalla { margin-bottom: 0; }
.pie-de-la-accion[b-jz0j4m0o2p] { display: flex; justify-content: flex-end; gap: 0.5rem; }
/* /Components/Seguimientos/FichaDeSeguimiento.razor.rz.scp.css */
.ficha-del-seguimiento[b-rueqyityry] { display: flex; flex-direction: column; gap: 1rem; }
.ficha-del-seguimiento h2[b-rueqyityry] { margin-bottom: 1.5rem; }
/* El resumen y con qué buscarlo, lado a lado; en poco ancho, uno bajo otro. */
.resumen-y-contacto[b-rueqyityry] { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 1rem; }
/* Anular va aparte de lo que se hace con el paciente: al pie del resumen. */
.pie-del-resumen[b-rueqyityry] { display: flex; justify-content: flex-end; margin-top: 1.5rem; }
/* /Components/Seguimientos/LineaDelSeguimiento.razor.rz.scp.css */
.linea-del-tiempo[b-lxkdy4fkn4] { container-type: inline-size; margin: 0; padding: 0; list-style: none; }

/* El momento, el eje y la tarjeta; los lados se turnan de un suceso al otro. */
.suceso[b-lxkdy4fkn4] { display: grid; grid-template-columns: 1fr 2.5rem 1fr; column-gap: 1rem; }
.momento-del-suceso[b-lxkdy4fkn4], .eje-del-suceso[b-lxkdy4fkn4], .tarjeta-del-suceso[b-lxkdy4fkn4] { grid-row: 1; }
.eje-del-suceso[b-lxkdy4fkn4] { grid-column: 2; }
.tarjeta-a-la-derecha .momento-del-suceso[b-lxkdy4fkn4] { grid-column: 1; text-align: right; }
.tarjeta-a-la-derecha .tarjeta-del-suceso[b-lxkdy4fkn4] { grid-column: 3; }
.tarjeta-a-la-izquierda .tarjeta-del-suceso[b-lxkdy4fkn4] { grid-column: 1; }
.tarjeta-a-la-izquierda .momento-del-suceso[b-lxkdy4fkn4] { grid-column: 3; }

.momento-del-suceso[b-lxkdy4fkn4] { display: flex; flex-direction: column; padding-top: 0.375rem; }

/* La línea sale de cada marca y llega a la siguiente; la última no sigue. */
.eje-del-suceso[b-lxkdy4fkn4] { display: flex; flex-direction: column; align-items: center; }
.eje-del-suceso[b-lxkdy4fkn4]::after { content: ""; flex: 1; width: 2px; margin-block: 0.25rem; background: var(--linea); }
.suceso:last-child .eje-del-suceso[b-lxkdy4fkn4]::after { display: none; }

.marca-del-suceso[b-lxkdy4fkn4] {
  display: grid; place-items: center; flex: none;
  width: 2.5rem; height: 2.5rem; border-radius: 50%;
  background: var(--color-del-resultado, var(--gris)); color: var(--tarjeta);
}
.marca-del-suceso[b-lxkdy4fkn4]  svg { width: var(--icono); height: var(--icono); }

.tarjeta-del-suceso[b-lxkdy4fkn4] {
  margin-bottom: 1.5rem; padding: 1rem 1.25rem;
  border: 1px solid var(--linea); border-radius: var(--radio-tarjeta);
  background: var(--tarjeta);
}
.cabeza-del-suceso[b-lxkdy4fkn4] { display: flex; align-items: center; gap: 0.75rem; }
.acciones-del-suceso[b-lxkdy4fkn4] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.acciones-del-suceso .estado[b-lxkdy4fkn4] { margin-left: auto; }
/* Con una acción desplegada, lo que toca queda arriba de ella. */
.acciones-del-suceso:has(form) .estado[b-lxkdy4fkn4] { order: -1; margin-left: 0; }
.titulo-del-suceso[b-lxkdy4fkn4] { display: flex; flex-direction: column; flex: 1; }
.detalle-del-suceso[b-lxkdy4fkn4] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin-top: 0.75rem; }
.texto-del-suceso[b-lxkdy4fkn4] { margin: 0.75rem 0 0; white-space: pre-line; overflow-wrap: anywhere; color: var(--gris); }

/* Los intentos y lo que pidió el seguimiento toman el color de
   componentes.css; los cierres, el suyo. */
.cierre-con-atencion[b-lxkdy4fkn4] { --color-del-resultado: var(--correcto); }
.cierre-sin-contacto[b-lxkdy4fkn4],
.cierre-cancelado[b-lxkdy4fkn4],
.suceso-anulado[b-lxkdy4fkn4]      { --color-del-resultado: var(--gris); }
/* Lo que todavía no pasa va en hueco. */
.suceso-pendiente .marca-del-suceso[b-lxkdy4fkn4] { background: var(--tarjeta); color: var(--acento); border: 2px solid var(--acento); }

@container (max-width: 40rem) {
  .suceso[b-lxkdy4fkn4] { grid-template-columns: 2.5rem 1fr; }
  .suceso .eje-del-suceso[b-lxkdy4fkn4] { grid-column: 1; grid-row: 1 / span 2; }
  .suceso .momento-del-suceso[b-lxkdy4fkn4] { grid-column: 2; grid-row: 1; flex-direction: row; gap: 0.5rem; text-align: left; padding-top: 0.5rem; }
  .suceso .tarjeta-del-suceso[b-lxkdy4fkn4] { grid-column: 2; grid-row: 2; margin-top: 0.5rem; }
}
/* /Components/Seguimientos/TablaDeSeguimientos.razor.rz.scp.css */
.columna-fecha .estado[b-hj2edkijqf] { display: flex; width: fit-content; margin-top: 0.25rem; }
/* /Components/Usuarios/TablaDeUsuarios.razor.rz.scp.css */
.columna-nombre[b-jl6lory8k3]  .panel-de-filtro { width: 16rem; }
.columna-estado[b-jl6lory8k3] { width: 12rem; }
.grupos-que-confirma[b-jl6lory8k3] { display: block; }

@media (max-width: 40rem) {
  .columna-estado[b-jl6lory8k3] { width: auto; }
}
