/* ============================================================
   styles_tm.css — Tasa Metabólica | VISP Herramientas
   Complementa general.css y colores.css
   ============================================================ */

/* --- TÍTULO PRINCIPAL --- */
.section-title {
  font-family: "Montserrat", serif;
  font-size: 1.75rem;
  color: var(--color-titulo-principal);
  margin: 1rem 0;
  text-align: center;
}

/* --- CONTENEDOR PRINCIPAL --- */
.contenedor-principal {
  background-color: var(--color-secundario);
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 4rem 4rem 0 0;
  border: 1px solid var(--color-borde);
  width: 100%;
  padding: 1.5rem 2rem;
  gap: 1rem;
}

/* --- DATOS GENERALES --- */
.datos-generales {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 0.75rem 1.5rem;
  width: 100%;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--color-borde);
  align-items: center;
}

.input-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.titulo-input {
  font-family: Montserrat;
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--color-texto);
  white-space: nowrap;
}

.input-name {
  background-color: var(--color-input-fondo);
  color: var(--color-input);
  padding: 0.3rem 0.6rem;
  border: 0px solid var(--color-borde);
  border-radius: 0.9375rem;
  font-size: 1.05rem;
  font-family: Montserrat;
  font-weight: 600;
  max-width: 15rem;
}

/* Fecha más compacta */
#fecha.input-name {
  max-width: 9rem;
  font-size: 0.95rem;
}

/* Evaluador con ancho ajustado para entrar en la misma línea */
#evaluador.input-name {
  max-width: 11rem;
}

.input-mail-tm {
  width: 100%;
  margin-bottom: 1rem;
}

.input-archivo-oculto {
  display: none;
}

.input-name:hover {
  background-color: var(--color-resaltado);
}

/* --- SUBTÍTULOS DE SECCIÓN --- */
.subtitulo-seccion {
  font-family: Montserrat;
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--color-texto);
  align-self: flex-start;
  padding: 0.25rem 0;
}

/* --- TABLA DE TAREAS --- */
.tabla-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  display: block;
}

.tabla-tm {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-family: Montserrat;
  font-size: 0.95rem;
}

.tabla-tm th {
  background-color: var(--color-secundario);
  border: 1px solid var(--color-borde);
  padding: 0.4rem 0.3rem;
  font-weight: 700;
  font-size: 0.85rem;
}

.tabla-tm td {
  border: 1px solid var(--color-borde);
  padding: 0.3rem 0.2rem;
  vertical-align: middle;
}

/* Columnas exclusivas de cada método */
.col-a {
  background-color: var(--color-metodo-a-fondo);
}

.col-b {
  background-color: var(--color-metodo-b-fondo);
}

/* Celdas editables con input */
.tabla-tm input[type="text"] {
  width: 100%;
  background-color: var(--color-input-fondo);
  color: var(--color-input);
  border: none;
  border-radius: 0.3rem;
  padding: 0.25rem;
  font-family: Montserrat;
  font-size: 0.9rem;
  font-weight: 600;
  text-align: center;
}

/* Dropdowns select */
.tabla-tm select {
  width: 100%;
  background-color: var(--color-input-fondo);
  color: var(--color-input);
  border: none;
  border-radius: 0.3rem;
  padding: 0.25rem;
  font-family: Montserrat;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
}

.tabla-tm select:hover {
  background-color: var(--color-resaltado);
}

/* Columnas de método A ocultas cuando método = B y viceversa */
.tabla-tm td.col-a-inactiva,
.tabla-tm td.col-b-inactiva {
  background-color: var(--color-inactivo-fondo);
  pointer-events: none;
}

/* Celda de TM calculada */
.td-tm-calculada {
  color: var(--color-resultado);
  font-weight: 700;
  font-size: 1rem;
}

/* Fila total */
.fila-total {
  background-color: var(--color-no-editable);
  font-weight: 700;
}

.td-total {
  text-align: right;
  padding-right: 0.5rem;
  font-weight: 700;
}

.td-valor {
  color: var(--color-resultado);
  font-weight: 700;
}

.tiempo-total-ok {
  color: var(--color-ok);
}

.tiempo-total-incompleto {
  color: var(--color-error);
}

/* --- BOTONES --- */
.botones {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}

/* Botones de acción (Calcular / Borrar / Informe) en línea horizontal */
.botones-accion {
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.botones-accion .button-draw {
  width: auto;
  min-width: 10rem;
  margin: 0;
}

/* Subtítulo RESULTADOS centrado */
.subtitulo-centrado {
  text-align: center;
  width: 100%;
}

/* --- RESULTADOS --- */
.seccion-resultados {
  width: 100%;
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

.tabla-resultado-tm {
  width: 100%;
  max-width: 500px;
  border-collapse: collapse;
  font-family: Montserrat;
}

.tabla-resultado-tm th {
  background-color: var(--color-no-editable);
  border: 1px solid var(--color-borde);
  padding: 0.5rem 0.75rem;
  text-align: left;
  font-weight: 700;
  color: var(--color-text-no-editable);
}

.tabla-resultado-tm td {
  border: 1px solid var(--color-borde);
  padding: 0.5rem 0.75rem;
}

.td-resultado {
  color: var(--color-resultado);
  font-weight: 700;
  font-size: 1.1rem;
  text-align: center;
}

.mensaje-error-tm {
  color: var(--color-error);
  font-family: Montserrat;
  font-weight: 700;
  font-size: 0.95rem;
  text-align: center;
  width: 100%;
  padding: 0.4rem 0;
}

.seccion-enviar-tm {
  display: none;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 1rem;
}

.icono-boton {
  width: 1.2rem;
  height: 1.2rem;
  margin-right: 0.3rem;
}

.estado-envio-tm {
  display: none;
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--color-body);
  color: var(--color-footer-texto);
  padding: 10px 20px;
  border-radius: 8px;
  font-family: Montserrat;
  z-index: 9999;
}

/* --- BADGE DE CATEGORÍA --- */
.resultado-categoria {
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-family: Montserrat;
  font-weight: 700;
  font-size: 1.3rem;
  text-align: center;
  min-width: 200px;
}

.cat-descanso  { background-color: var(--color-cat-descanso-fondo); color: var(--color-cat-descanso-texto); }
.cat-ligero    { background-color: var(--color-cat-ligero-fondo); color: var(--color-cat-ligero-texto); }
.cat-moderado  { background-color: var(--color-cat-moderado-fondo); color: var(--color-cat-moderado-texto); }
.cat-pesado    { background-color: var(--color-cat-pesado-fondo); color: var(--color-cat-pesado-texto); }
.cat-muypesado { background-color: var(--color-cat-muypesado-fondo); color: var(--color-cat-muypesado-texto); }

/* --- SECCIÓN ENVIAR --- */
#seccion-enviar-tm {
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.titulo-output {
  font-family: Montserrat;
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--color-texto);
  margin-bottom: 0.5rem;
}

/* --- PÁGINA DE INFORMACIÓN (informacion.css override) --- */
.titulo-info {
  font-family: Montserrat;
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--color-texto);
  margin: 0.75rem 0 0.25rem 0;
}

.info {
  font-family: Montserrat;
  font-size: 1rem;
  color: var(--color-texto);
  text-align: left;
  line-height: 1.5;
}

.formula-box {
  background-color: var(--color-no-editable);
  border: 1px solid var(--color-borde);
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  margin: 0.75rem 0;
  text-align: center;
}

.formula {
  font-family: Montserrat;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--color-resultado);
}

.formula-desc {
  font-size: 0.9rem;
  color: var(--color-texto);
  margin-top: 0.25rem;
}

/* Tabla de categorías en la página de info */
.tabla-indice {
  width: 100%;
  border-collapse: separate;
  border: 1px solid var(--color-borde);
  margin-bottom: 5px;
  border-radius: 1rem;
  overflow: hidden;
}

.tabla-indice td { padding: 8px 10px; }
.tabla-indice th { padding: 10px; }
.tabla-indice-titulo {
  background-color: var(--color-secundario);
  font-size: 1rem;
  font-weight: 700;
}

.cat-0 { background-color: var(--color-cat-descanso-fondo); color: var(--color-cat-descanso-texto); font-weight: 700; }
.cat-1 { background-color: var(--color-cat-ligero-fondo); color: var(--color-cat-ligero-texto); font-weight: 700; }
.cat-2 { background-color: var(--color-cat-moderado-fondo); color: var(--color-cat-moderado-texto); font-weight: 700; }
.cat-3 { background-color: var(--color-cat-pesado-fondo); color: var(--color-cat-pesado-texto); font-weight: 700; }
.cat-4 { background-color: var(--color-cat-muypesado-fondo); color: var(--color-cat-muypesado-texto); font-weight: 700; }

.botones-info {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
}

.boton-ir {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ============================================================
   RESPONSIVIDAD
   ============================================================ */
@media (max-width: 768px) {

  header {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: auto;
    padding: 1rem;
    flex-wrap: nowrap;
  }

  .logo { height: 4rem; }
  h1 { font-size: 1.25rem; }
  nav { text-align: right; }

  .menu {
    display: none;
    flex-direction: column;
    background-color: var(--color-header-fondo);
    position: absolute;
    right: 0;
    top: 60px;
    width: 150px;
    padding: 1rem;
    border-radius: 5px;
    z-index: 100;
  }

  .menu a {
    display: block;
    padding: 0.5rem 0;
    color: var(--color-texto);
    text-decoration: none;
  }

  .menu.activo { display: flex; }

  .menu-hamburguesa {
    display: flex;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
  }

  .menu-hamburguesa div {
    width: 30px;
    height: 4px;
    background-color: var(--color-header-texto);
    border-radius: 2px;
  }

  /* --- TABLA DE TAREAS: scroll horizontal original --- */
  .tabla-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .contenedor-principal {
    width: 100%;
    padding: 1rem;
    border-radius: 2rem 2rem 0 0;
  }

  .datos-generales {
    gap: 0.5rem 1rem;
    flex-direction: column;
    align-items: stretch;
  }

  .input-group {
    flex-wrap: nowrap;
    width: 100%;
  }

  .input-name,
  #fecha.input-name,
  #evaluador.input-name {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  .section-title {
    font-size: 1.3rem;
  }

  .tabla-tm {
    min-width: 720px;
    table-layout: fixed;
  }

  .tabla-tm th,
  .tabla-tm td {
    font-size: 0.75rem;
    padding: 0.2rem;
  }

  .tabla-tm select,
  .tabla-tm input[type="text"] {
    font-size: 0.75rem;
  }

  .botones {
    gap: 0.5rem;
  }

  /* En mobile los 3 botones van verticales */
  .botones-accion {
    flex-direction: column;
    align-items: center;
  }

  .botones-accion .button-draw {
    width: 80%;
    min-width: unset;
  }

  @media (max-width: 768px) {
    #seccion-enviar-tm .button-draw {
      width: 80%;
      margin: 0.5rem 0;
    }
  }

  .contenedor-columnas {
    flex-direction: column;
  }

  .columna { width: 100%; }

  .titulo-info,
  .info {
    font-size: 1rem;
  }
}
