/* https://jsonformatter.org/scss-to-css#google_vignette */
#pagina {
  #espaciomenurutas,
  #espaciomenunuevaruta,
  #espaciodiseno {
    .menuruta {
      box-shadow: 10px 10px 10px rgb(109, 135, 135); /*4px 4px 2px rgb(109,135,135);*/
      padding: 5px;
      background-color: cadetblue;
      border-radius: 8px;
      margin-top: 10px;

      padding: 4px;
      color: white;
      width: 90px;
      a {
        padding: 8px;
        color: white;
        display: inline-block;
        width: 100%;
      }
    }
    .menuruta.active {
      box-shadow: 1px 1px 1px rgb(109, 135, 135);
      margin-left: 15px;
      a {
        color: yellow;
      }
    }
    .menuruta[rutaDestino="R0000"] {
      background-color: #03038c;
    }
    .menuruta[rutaDestino="R0001"] {
      background-color: #832de8;
    }
    .menuruta[rutaDestino="R0002"] {
      background-color: #f9414b;
    }
    .menuruta[rutaDestino="R0003"] {
      background-color: #0167ff;
    }
    .menuruta[rutaDestino="R0004"] {
      background-color: #ef7b1b;
    }
    .menuruta[rutaDestino="R0005"] {
      background-color: #9e005d;
    }
    .menuruta[rutaDestino="R0006"] {
      background-color: #03038c;
    }
    .menuruta[rutaDestino="R0007"] {
      background-color: #c9a277;
    }
    .menuruta[rutaDestino="R0008"] {
      background-color: #e91e63;
    }
    .menuruta[rutaDestino="R0009"] {
      background-color: #4527a0;
    }
    .menuruta[rutaDestino="R0010"] {
      background-color: #00acc1;
    }
    .menuruta[rutaDestino="R0011"] {
      background-color: #4caf50;
    }
    .menuruta[rutaDestino="R0012"] {
      background-color: #ef7b1b;
    }
    .menuruta[rutaDestino="R0013"] {
      background-color: #aa00ff;
    }
    .menuruta[rutaDestino="R0014"] {
      background-color: #827717;
    }
    .menuruta[rutaDestino="R0015"] {
      background-color: #33691e;
    }

    .menuruta[rutaDestino="R0016"] {
      background-color: #bf360c;
    }

    .menuruta[rutaDestino="R0017"] {
      background-color: #d84315;
    }

    .menuruta {
      background-color: #6d4c41;
    }
  }

  .ruta {
    display: inline-block !important;
  }

  .ruta:not(.active) {
    display: none !important;
  }

  .paso.active {
    box-shadow: 1px 1px 1px rgb(109, 135, 135);
    outline-style: inset;
    outline-width: 8px;
    outline-color: darkturquoise;
  }

  .paso {
    position: absolute;
    top: 120px;
    left: 60px;

    padding: 5px;
    box-shadow: 4px 4px 2px rgb(109, 135, 135);
  }

  .pregunta {
    width: 400px;
    height: 200px;
    background-color: rgb(192, 248, 248);
    display: flex;
    flex-direction: column;

    .cabecera {
      height: 32px;

      .arrastre {
        position: absolute;
        width: 100%;
        line-height: 32px;
        font-weight: bold;

        top: 0px;
        left: 0px;

        background-color: aqua;
        cursor: move;
        text-align: center;
      }
    }

    .cuerpo-wrapper {
      flex-grow: 1;
      margin: auto;
      display: flex;
      flex-direction: column;
      justify-content: center;

      margin: 0 8px 8px 8px;
      overflow: auto;
    }

    .cuerpo {
      text-align: center;
    }

    /* Respuestas: empiezan una línea de rejilla por debajo de la pregunta y cada una mide --caja-alto,
       así su centro cae en la rejilla (alto de la pregunta + 40, + 60 cada una más) */
    .respuestas {
      position: absolute;
      left: 0;
      right: 0; /* como mucho, tan anchas como la pregunta */
      top: calc(100% + var(--rejilla));

      display: flex;
      gap: var(--rejilla);

      .respuesta {
        background-color: aqua;
        border-radius: 8px;
        cursor: grab;
        box-shadow: 4px 4px 2px rgb(109, 135, 135);
      }
    }
    /* Horizontales: cada una colocada por su centro (left = centro en la rejilla, lo calcula
       encajaRespuestasHorizontales en render.js) */
    .respuestas.horizontal {
      display: block;
      height: var(--caja-alto);
      .respuesta {
        position: absolute;
        top: 0;
        transform: translateX(-50%);
      }
    }
    .respuestas.vertical {
      flex-direction: column;
      align-items: flex-start; /* cada una tan ancha como su texto, sin pasar del ancho de la pregunta */
      width:fit-content;
      .respuesta {
        max-width: 100%;
      }
    }
  }

  /* Caja de la rejilla (respuestas, Resultados y saltos de ruta): alto fijo, hasta 2 líneas; lo que no cabe, "…"
     (el texto completo, en el title) */
  .respuesta,
  .resultado,
  .resultadoruta {
    height: var(--caja-alto);
    padding: var(--caja-relleno);
    font-size: var(--caja-letra);
    line-height: var(--caja-interlineado);
    display: flex;
    align-items: center;

    .texto-caja {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      line-clamp: 2;
      overflow: hidden;
    }
  }

  .pregunta:not([nomVariable=""]) {
    box-shadow: 4px 4px 2px #2196f3;
  }

  /* Saltos de ruta y Resultados: margin-top de una línea de rejilla, así su centro cae en top + 40 como el de las
     respuestas (alto de la pregunta + 40) y las flechas quedan horizontales */
  #espaciodiseno .resultadoruta.arrastre { /* #espaciodiseno: ha de ganar a #espaciodiseno .menuruta (margin-top 10px) */
    position: absolute;
    font-weight: bold;
    margin-top: var(--rejilla);
    width: calc(4 * var(--rejilla)); /* 80px (antes 90 de .menuruta): su centro cae en la rejilla */

    top: 0px;
    left: 0px;

    cursor: move;
    justify-content: center;
    text-align: center;
  }

  .resultado {
    box-shadow: 4px 4px 2px rgb(109, 135, 135);
    background-color: cadetblue;
    border-radius: 8px;
    margin-top: var(--rejilla);

    color: white;
    a {
      padding: 8px;
      color: white;
      display: inline-block;
      width: 100%;
    }
  }
  .resultado.active {
    box-shadow: 1px 1px 1px rgb(109, 135, 135);
    a {
      color: yellow;
    }
  }
  .resultado.tiene-eecc {
    background-color: green;
  }
  .resultado.tiene-tt {
    background-color: darkblue;
  }

  .resultado.pendiente {
    background-color: deeppink;
  }

  .anotacion {
    width: 400px;
    height: 200px;
    background-color: rgb(197, 243, 154);
    display: flex;
    flex-direction: column;
    z-index: 1;

    box-shadow: 0px 0px 0px rgb(109, 135, 135);
    border: solid 1px green;

    .cuerpo-wrapper {
      flex-grow: 1;
      margin: auto;
      display: flex;
      flex-direction: column;
      justify-content: center;

      margin: 0 8px 8px 8px;
    }

    .cuerpo {
      text-align: center;
    }
  }
  .anotacion.pendiente {
    background-color: deeppink;
    color: white;
  }

  .dropable {
    outline-width: 5px;
    outline-style: solid;
    outline-color: rgb(51, 247, 25);
  }

  .dropable:hover {
    outline-color: yellow;
  }

  .uiform-zona .form {
    min-height: 5rem;
    padding: 10px;
    display: flex;
    flex-direction: column;
    input,
    textarea {
      color: white;
      min-height: 5rem;
    }
  }

  .formPREGUNTA {
    .respwrapper {
      display: flex;
      flex-direction: row;
    }
    label {
      color: white;
      span {
        padding-left: 25px !important;
        padding-right: 10px;
      }
      span:before {
        border-color: white !important;
      }
    }
  }
}

#app-buscador {
  display: flex;
  flex-direction: column;
  background-color: white; /*lightgray;*/
  padding: 8px;

  max-width: var(--buscador-ancho-max);
  margin: auto;
  .titulo {
    text-align: center;
    font-size: xx-large;
    display: flex;
    justify-content: space-evenly;
    #zonainfo {
      display: inline-block;
      align-content: center;
      color: var(--color-azul-marino);
    }
  }
  .pasos.collapsible {
    border: 0 !important;
    box-shadow: none;
  }
  .paso {
    background-color: white;
    width: 100%;
    margin-bottom: 16px;
    /* Mismo grosor de borde abierta o cerrada (.paso.active solo le da color): si no, al plegarse gana 2px de
       ancho y los botones de respuesta se recolocan durante la animación */
    border: 1px solid transparent;

    .cabecera {
      background-color: var(--color-azul-marino);
      color: white;
      line-height: 36px;
      .buscador-seleccionado {
        margin-left: 4px;
        display: none;
      }
    }
    .cabecera::before {
      content: "\25B6";
      margin-right: 1rem;
    }
    .cuerpo {
      margin-bottom: 8px;

      ul.resumen-opciones > li > span {
        font-weight: bold;
        color: var(--color-azul-marino);
      }

      ul.resumen-opciones {
        margin-bottom: 1em;
        .agrupacion {
          margin-top: 1em;

          ul.opciones {
            display: flex;
            flex-wrap: wrap;
            justify-content: left;
            flex-direction: row;
            margin-left: 2em;
            li.opcion {
              margin-right: 2em;
              /*text-decoration: underline;*/
              flex-basis: 40%;
            }
            @media only screen and (max-width: 768px) {
              li.opcion {
                flex-basis: 90%;
              }
            }
          }
        }
      }
      .zonabotonesdinamicos .respuesta{
        margin-left:0;
      }
      .zonabotonesdinamicos + br {
        display: none;
      }
    }
    .respuestas {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
    }
    .respuesta.respuesta {
      margin: 8px;
      height: auto;
    }

    .respuesta.respuesta[Value="Si"] {
      order: 1;
    }
    .respuesta.respuesta {
      order: 2;
    }
  }
  .paso:not(.active) .cabecera .buscador-seleccionado {
    margin-left: 1rem;

    text-decoration: none;
    color: #fff;
    background-color: #26a69a;
    text-align: center;
    letter-spacing: 0.5px;

    font-size: 14px;
    outline: 0;

    border: none;
    border-radius: 2px;
    display: inline-block;
    line-height: 36px;
    padding: 0 16px;
    text-transform: uppercase;
    vertical-align: middle;

    margin-left: auto;
    margin-top: auto;
    margin-bottom: auto;
    /*
    display: contents;
    font-weight: bold;
    background-color: var(--color-azul-intenso);
    */ /*
    display: inline-block;
    background-color: var(--color-azul-intenso);
    margin: auto;
    padding: 0 8px 0 8px;*/
  }
  .paso.active {
    /*q-box-shadow: 4px 4px 2px rgb(109, 135, 135);
    q-border: 1px solid var(--color-azul-marino);*/
    box-shadow: 0 4px 10px #8b8b8b;
    border: 1px solid #b5b5b5;
    .cabecera::before {
      content: "\25BC";
      margin-right: 1rem;
    }
  }

  .resultado {
    /*q-border: 1px solid var(--color-azul-marino);*/
    /*q-padding: 16px;*/

    .titulo {
      line-height: 36px;
      margin-bottom: 16px;
      justify-content: space-between;
      padding-bottom: 16px;
      padding-top: 16px;
    }
    .tablasinternas {
      /*q-margin-top: 64px;
      q-font-size: small;*/
      word-wrap: break-word;
      font-size: medium;
    }
    .acciones {
      display: flex;
      flex-direction: row;
      justify-content: end;
      .boton-copy-to {
        margin-top: 1em;
      }
    }
    .cuerpo {
      word-wrap: break-word;
      .moreinfo {
        font-size: medium;
        margin-bottom: 8px;
        margin-right: 8px;
        margin-left: 8px;
        text-transform: none;
      }
    }
    .cuerpo br{
      margin-top: 16px;
      margin-bottom: 16px;
    }
  }

  .resultado-ec {
    .titulo {
      text-align: left;
      /*q-border-top: 1px solid var(--color-azul-marino);
      q-padding-top: 16px;*/
    }
    a {
      vertical-align: bottom;
      font-size: 8px;
    }
    .material-symbols-outlined {
      /*font-size: small;*/
      vertical-align: middle;
      /*margin-right: 2px;*/
    }
    .resultado-ec tr:nth-child(even) {
      border-bottom: 0;
    }

    .resultado-ec-linea {
      padding: 16px;
      /*q-border: 1px solid var(--color-azul-marino);
      q-box-shadow: 4px 4px 2px rgb(109, 135, 135);*/
      border-radius: 16px;
      margin-bottom: 16px;

      padding-bottom: 32px;

      box-shadow: 0 4px 10px #8b8b8b;
      border: 1px solid #b5b5b5;
    }

    .resultado-ec-linea.Close {
      display: none;
    }

    .resultado-ec-linea .moreinfo span.btn-text {
      font-size: small;
    }

    .cuerpo.Close {
      display: none;
      color: lightgray;
      text-decoration: line-through;
    }
    /* Hospitales: tabla con el nombre a la izquierda y el botón de CC a la derecha */
    .tabla-centros {
      width: 100%;
      border-collapse: collapse;
    }
    .info-centros {
      .centro {
        border-bottom: 1px solid #e0e0e0;
        td {
          padding: 12px 4px;
          vertical-align: middle;
        }
        .nombre {
          width: 100%; /* el botón se queda con su ancho y el nombre con el resto */
          line-height: 1.4;
        }
        .acciones {
          text-align: right;
          white-space: nowrap;
          span.btn-text {
            font-size: small;
          }
        }
      }
      .centro:last-child {
        border-bottom: 0;
      }
      .centro.ninguno {
        font-style: italic;
        color: gray;
      }
      .centro.NO {
        display: none;
        color: lightgray;
        .nombre,
        .acciones {
          text-decoration: line-through;
          color: lightgray;
          .btncc {
            display: none;
          }
        }
      }
    }
    a.btncc {
      border-radius: 8px;
      height: auto;
      line-height: 1.4;
      /* Horizontales: el doble que los verticales; el ancho lo da el texto. El texto baja 1px (11 arriba / 9 abajo):
         centrado exacto, la sombra inferior del botón lo hace parecer más alto */
      padding: 11px 20px 9px;
      span.btn-text {
        /* La caja del texto se ajusta a la altura de las mayúsculas: sin ello sobra el hueco de los rabos (p, g)
           abajo y el texto parece más cerca del borde de arriba */
        text-box: trim-both cap alphabetic;
      }
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
    }
    a.ERROR_EMAIL.btncc,
    a.ERROR_SHORTNAME.btncc {
      /* text-decoration: line-through; */
      background-color: #dfdfdf !important;
      font-style: oblique;
      cursor: not-allowed;
      box-shadow: none;
    }
  }
}

#crea-chat {
  .qqqcabecera {
    background-color: var(--color-azul-marino);
    color: white;
    line-height: 36px;
  }
}
