/* Médicos. Los estados del día (disponible, con limitaciones, duda, baja) y los colores de los tratamientos de fisioterapia
   salen de :root, en claro y en oscuro; lo demás, de las variables de txedep.css. */

:root {
  --med-disponible: var(--ok-texto); --med-limitaciones: hsl(214 72% 42%); --med-duda: var(--aviso-texto); --med-baja: var(--peligro);
  --med-t1: hsl(210 70% 46%); --med-t2: hsl(150 55% 34%); --med-t3: hsl(30 85% 44%); --med-t4: hsl(280 45% 50%);
  --med-t5: hsl(345 65% 48%); --med-t6: hsl(185 60% 32%); --med-t0: var(--texto-2);
}
@media (prefers-color-scheme: dark) {
  :root {
    --med-limitaciones: hsl(214 100% 72%);
    --med-t1: hsl(210 90% 68%); --med-t2: hsl(150 55% 58%); --med-t3: hsl(32 95% 62%); --med-t4: hsl(280 70% 76%);
    --med-t5: hsl(345 85% 72%); --med-t6: hsl(185 60% 58%);
  }
}

/* el estado del jugador: un punto de color y la palabra */
.med-estado { display: inline-flex; align-items: center; gap: 6px; font-weight: var(--p-rotulo); white-space: nowrap; }
.med-estado::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c); flex: none; }
.med-estado--disponible { --c: var(--med-disponible); }
.med-estado--limitaciones { --c: var(--med-limitaciones); }
.med-estado--duda { --c: var(--med-duda); }
.med-estado--baja { --c: var(--med-baja); color: var(--med-baja); }
.med-cuenta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-1) var(--e-2); }

/* la tira de un equipo: un trozo por jugador, en el orden disponible → baja */
.med-tira { display: flex; gap: 2px; height: 8px; }
.med-tira__trozo { flex: 1; border-radius: var(--r-control); background: var(--c); min-width: 2px; }
.med-tira__trozo--disponible { --c: var(--med-disponible); }
.med-tira__trozo--limitaciones { --c: var(--med-limitaciones); }
.med-tira__trozo--duda { --c: var(--med-duda); }
.med-tira__trozo--baja { --c: var(--med-baja); }

.med-tarde { color: var(--peligro); }
.tabla .med-tarde.secundario { color: var(--peligro); }
.med-alergia { background: var(--aviso-fondo); color: var(--aviso-texto); }
.med-alergia-texto { color: var(--aviso-texto); font-weight: var(--p-rotulo); }
.med-nota { background: var(--bandeja); color: var(--texto); font-weight: var(--p-texto); }
.med-linea { display: grid; gap: 2px; flex: 1; min-width: 0; }
.med-fecha-texto { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: var(--e-3); }
.med-solo-m, .tabla .med-solo-m { display: none; }
.med-corto { max-width: 120px; }
.med-corto input { text-align: right; }
.med-orden { width: 64px; }
.med-check { width: 18px; height: 18px; margin: 0; accent-color: var(--accion); }
.med-incidencias { margin: 0; padding-left: var(--e-4); }
.med-pregunta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e-2) var(--e-4); padding: var(--e-2) 0; box-shadow: inset 0 -1px 0 var(--linea); }
.med-pregunta legend { float: none; width: auto; margin: 0; font-size: var(--t-14); font-weight: var(--p-texto); color: var(--texto); }

/* tablas anchas (la evolución, la parrilla): se desplazan dentro de su tarjeta, nunca la página */
.med-desliza { overflow-x: auto; max-width: 100%; }
.med-tabla-compacta th, .med-tabla-compacta td { white-space: nowrap; padding-left: var(--e-2); padding-right: var(--e-2); }
.med-tabla-compacta tr[aria-current] td { background-color: var(--bandeja-hover); }

/* fisioterapia: la parrilla semanal */
.med-semanas { margin-top: 0; flex-wrap: wrap; }
.med-derecha { margin-left: auto; }
.med-parrilla { table-layout: fixed; min-width: 860px; }
.med-parrilla th { white-space: nowrap; }
.med-parrilla th[aria-current] { color: var(--texto); }
.med-parrilla td { padding: 2px; vertical-align: top; }
.med-parrilla th:first-child, .med-parrilla td:first-child { width: 160px; }
.med-parrilla td.med-parrilla__nombre { padding: var(--e-2) var(--e-2) var(--e-2) 0; font-weight: var(--p-rotulo); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.med-casilla { display: grid; gap: 2px; align-content: start; min-height: 44px; padding: 4px; border-radius: var(--r-chip); text-decoration: none; transition: background-color var(--dur) var(--curva); }
.med-casilla:hover { background-color: var(--bandeja-hover); }
.med-sesion { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--t-12); font-weight: var(--p-rotulo); padding: 2px 6px 2px 8px; border-radius: 6px; background: var(--bandeja); box-shadow: inset 3px 0 0 var(--c); }
.med-t0 { --c: var(--med-t0); } .med-t1 { --c: var(--med-t1); } .med-t2 { --c: var(--med-t2); } .med-t3 { --c: var(--med-t3); }
.med-t4 { --c: var(--med-t4); } .med-t5 { --c: var(--med-t5); } .med-t6 { --c: var(--med-t6); }
.med-leyenda { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.med-leyenda .med-sesion { display: inline-block; }
.med-colores { display: flex; gap: var(--e-1); flex-wrap: wrap; }
.med-color { position: relative; }
.med-color input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.med-color__muestra { display: block; width: 28px; height: 28px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 2px var(--superficie); }
.med-color input:checked + .med-color__muestra { box-shadow: inset 0 0 0 3px var(--superficie), 0 0 0 2px var(--c); }
.med-color input:focus-visible + .med-color__muestra { outline: 2px solid var(--foco); outline-offset: 2px; }

@media (max-width: 900px) {
  .med-solo-m, .tabla .med-solo-m { display: block; }
}
@media (max-width: 600px) {
  .med-fecha-texto { grid-template-columns: minmax(0, 1fr); }
  .med-derecha { margin-left: 0; }
  .med-corto { max-width: 96px; }
}

/* lo que se apila en el teléfono */
.med-desliza { position: relative; }  /* que las etiquetas ocultas de la parrilla no se salgan del desplazamiento */
.med-envuelve { flex-wrap: wrap; }
.med-ficha .estado > div { display: grid; gap: 2px; align-content: start; justify-items: start; min-width: 0; }
.med-solo-s { display: none; }
@media (max-width: 600px) {
  .med-col-s { display: none; }
  .tabla .med-solo-s { display: block; }
}
.med-grupos th { padding-bottom: 0; color: var(--texto); }
.med-grupos th[scope] { box-shadow: inset 1px 0 0 var(--linea); padding-left: var(--e-3); }
.med-tabla-compacta .med-grupo-inicio { box-shadow: inset 1px 0 0 var(--linea); padding-left: var(--e-3); }
.med-tabla-compacta td.med-grupo-inicio { box-shadow: inset 1px 0 0 var(--linea), inset 0 1px 0 var(--linea); }

/* el dibujo del cuerpo (Partes de Lesiones y ficha médica): cada zona es la etiqueta de una casilla de radio */
:root { --med-int-1: hsl(12 96% 38% / .3); --med-int-2: hsl(12 96% 38% / .6); --med-int-3: var(--peligro); }
@media (prefers-color-scheme: dark) { :root { --med-int-1: hsl(18 100% 65% / .3); --med-int-2: hsl(18 100% 65% / .6); } }
.med-cuerpo__vistas { display: flex; gap: var(--e-5); justify-content: center; flex-wrap: wrap; }
.med-cuerpo__vista { display: grid; gap: var(--e-2); justify-items: center; }
.med-cuerpo__lienzo { position: relative; width: 150px; aspect-ratio: 120 / 260; }
.med-cuerpo__lienzo > svg, .med-zona, .med-zona > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.med-cuerpo__base, .med-cuerpo__base * { fill: var(--bandeja-hover); }
.med-zona { pointer-events: none; }  /* solo la forma responde: las zonas se tocan donde se ven */
.med-zona__forma { fill: var(--bandeja-fuerte); stroke: var(--superficie); stroke-width: 1; transition: fill var(--dur) var(--curva); }
.med-zona .med-zona__forma { pointer-events: all; cursor: pointer; }
.med-zona .med-zona__forma:hover { fill: var(--borde-fuerte); }
.med-zona__radio { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.med-zona__radio:checked + svg .med-zona__forma { fill: var(--peligro); }
.med-zona__radio:focus-visible + svg .med-zona__forma { stroke: var(--foco); stroke-width: 2.5; }
/* el nombre: lo leen los lectores de pantalla siempre; se ve debajo del dibujo con la zona elegida o con el foco */
.med-zona__nombre { position: absolute; left: -20px; right: -20px; top: 100%; text-align: center; font-size: var(--t-13); font-weight: var(--p-rotulo); clip-path: inset(50%); white-space: nowrap; }
.med-zona__radio:checked ~ .med-zona__nombre, .med-zona__radio:focus-visible ~ .med-zona__nombre { clip-path: none; }
.med-zona__radio:focus-visible ~ .med-zona__nombre { color: var(--texto-2); background: var(--superficie); }
.med-cuerpo__lienzo { margin-bottom: var(--e-5); }
.med-cuerpo__lados { display: flex; justify-content: space-between; width: 150px; font-size: var(--t-12); color: var(--texto-2); }
.med-cuerpo__ver { width: 110px; aspect-ratio: 120 / 260; display: block; }
.med-cuerpo__vistas--p .med-cuerpo__lados { width: 110px; }
.med-cuerpo__ver .med-zona__forma { cursor: default; }
.med-int-1 { fill: var(--med-int-1); } .med-int-2 { fill: var(--med-int-2); } .med-int-3 { fill: var(--med-int-3); }
.med-cuerpo--ficha { margin: 0; display: flex; flex-wrap: wrap; gap: var(--e-4) var(--e-6); align-items: flex-start; }
.med-cuerpo--ficha .med-cuerpo__vistas { justify-content: flex-start; gap: var(--e-4); }
.med-cuerpo--ficha figcaption { display: grid; gap: var(--e-2); align-content: start; min-width: 0; }
.med-zonas { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e-1); }
.med-zonas li { display: flex; align-items: center; gap: var(--e-2); }
.med-zonas__punto { width: 10px; height: 10px; border-radius: 50%; background: var(--bandeja-fuerte); flex: none; }
.med-zonas__punto.med-int-1 { background: var(--med-int-1); } .med-zonas__punto.med-int-2 { background: var(--med-int-2); }
.med-zonas__punto.med-int-3 { background: var(--med-int-3); }
@media (max-width: 600px) {
  .med-cuerpo__lienzo, .med-cuerpo__lados { width: 130px; }
  .med-cuerpo__vistas { gap: var(--e-3); }
}
.med-estado--otro { --c: var(--texto-2); }  /* un estado guardado que ya no está en la lista: se conserva y se ve */
.med-corto-ancho { max-width: 200px; }

/* para imprimir el parte diario y las lesiones: «Para imprimir» deja solo la lista; y al imprimir cualquier página, igual */
.med-imprimir .barra, .med-imprimir .med-no-imprimir, .med-imprimir .col-accion { display: none; }
@media (min-width: 601px) { .med-imprimir .tabla .med-solo-m { display: none; } }
@media (min-width: 601px) { .med-imprimir .col-m, .med-imprimir .med-col-s { display: table-cell; } }
.med-imprimir .tabla tbody tr:hover td { background: none; }
@media print {
  .med-no-imprimir, .col-accion, .tabla .med-solo-m, .sub { display: none; }
  .col-m, .med-col-s { display: table-cell; }
  .tabla td { break-inside: avoid; }
}
