

/* ------------ GENERAL -----------------------------*/

body {
  font-size: small;
  margin: 0;
  padding: 0;
  color: #000000;
  font-family: Arial, 'Arial Unicode MS', Verdana, sans-serif;
  background-color: #ffffff;
}

.unsupported_browser body > * {
  display: none;
}

.unsupported_message {
  display: none;
}

.unsupported_browser body .unsupported_message {
  display: block;
}

.current {
  color: #ff0066;  }

.error {
  color: #ff0066;    font-weight: bold;
}

.warning {
  color: #ff0066;  }

.note {
  font-style: italic;
}

input, textarea {
  box-sizing: border-box;
  margin-right: 1rem;
  /*margin-left: 1.0em;*/
}

.hidden_field {
  visibility: hidden;
}

input.date,
.js input[type="date"],
input.form-control.input {
  width: 10em;
}


@media screen and (min-width: 80rem) {

  .minicalendars.formed {
    display: flex;
    justify-content: center; /*space-between;*/
    margin-bottom: 20px;

  }
}
 .flatpickr-calendar.inline {
  max-width: 200px;
  margin: 1rem;
}

 h2.date, span.timezone {
  color: #000000;
}

 .location {
  display: flex;
  justify-content: center;
}




nav a.selected,
nav.view a:hover,
nav.view a:focus,
nav.arrow a:hover,
nav.arrow a:focus {
  background: linear-gradient(#eeeeee, #cccccc);
  box-shadow: inset 1px 1px darkblue;
  color: #0C64AB; //#0C64AB;
  text-decoration: none;
}


.dwm_main thead th,
.dwm_main tfoot th {
  background-color: #0099cc;
}

tbody tr:nth-child(odd) th {
  background-color: #0099cc;
}
tbody tr:nth-child(even) th {
  background-color: #0099cc;  <?php//#0099cc;  #8cb7e0 ?>
}

.dwm_main thead tr:first-child th:first-child {
  color: #ffffff;
}
.dwm_main th a:link {
  color: #ffffff;
}

.dwm_main th a:visited {
  color: #ffffff;
}

.dwm_main th a:hover {
  color: #ffffff;
  text-decoration:underline;
}
.dwm_main tbody tr:hover th {
  background-color: #284364;
}

.dwm_main thead th, .dwm_main tfoot th {
  color: #ffffff;
}
/* Color de los enlaces en el footer - blancos sobre fondo azul */
.dwm_main tfoot a,
.dwm_main tfoot a:link,
.dwm_main tfoot a:visited {
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: normal !important;
}

.dwm_main tfoot a:hover,
.dwm_main tfoot a:focus {
  color: #ffffff !important;
  text-decoration: underline !important;
}

div.timeline {
  background-color: #1976D2;
  position: absolute;
  width: 0;
    height: 2px;   transform: translate(0, -50%);
  z-index: 90;
  pointer-events: none;
}

div.timeline.times_along_top {
  height: 0;
    width: 2px;   transform: translate(-50%, 0);
}


/* ------------ FUNCTIONS.INC -------------------*/

.banner {
  justify-content: space-between;
}

.banner nav.container {
  flex-direction: row; /*row-reverse;*/
}

.banner a:link, .banner a:visited, .banner a:hover {
  font-weight: bold;
}

#header_search {
  padding-right: 1rem;
  margin-right: 1rem;
}


/*Linea Cabecera*/

.linea_cabecera_uma div {

    float: left;
    width: 14.285714285714285714285714285714%;
    margin-bottom: 10px;
    margin-top: 0px;
    flex-basis: 100%;    
}

.linea_cabecera_uma .zona-0 {
    border: 3px solid #ccc;
    background-color: #ccc;
}
.linea_cabecera_uma .zona-1 {
    border: 3px solid #101f44;
    background-color: #101f44;
}
.linea_cabecera_uma .zona-2 {
    border: 3px solid #00346b;
    background-color: #00346b;
}
.linea_cabecera_uma .zona-3 {
    border: 3px solid #09c;
    background-color: #09c;
}
.linea_cabecera_uma .zona-4 {
    border: 3px solid #3cc;
    background-color: #3cc;
}
.linea_cabecera_uma .zona-5 {
    border: 3px solid #c06;
    background-color: #c06;
}
.linea_cabecera_uma .zona-6 {
    border: 3px solid #ccc;
    background-color: #ccc;
}

*, ::before, ::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;   
    
}

/*Fin linea_cabecera_uma*/

.custom-hr {
    border: none;
    border-top: 1px solid #ccc;
    margin-top: 10px;
    margin-bottom: 10px;
    width: 100%;
}

/* RSRV-329 Página de configuración de EVLT (mestebanez - 02.2017) */
.tabs {
    text-align: left;
}

.tabs ul {
    border-bottom: 1px solid #908fbb;
    min-height: 2.2em;
    padding-left: 0px;
}
.tabs ul li {
    list-style-type: none;
    float: left;
    border: 1px solid #aaaaaa;
    border-color: #aaaaaa #aaaaaa rgba(0, 0, 0, 0) #aaaaaa;
    border-radius: 10px 10px 0 0;
    line-height: 1em;
    background-color: #CCCCCC;
    padding: 0.4em 1em;
    margin-right: -0.4em;
    font-weight: normal;
    white-space: nowrap;
    border-color: #908fbb;
    position: relative;
    font-size: 1.1em;
    top: 2px;
    cursor:pointer;
}
.tabs ul li.active {
    border: 1px solid #aaaaaa;
    background-color: #ffffff;
    border-color: #908fbb #908fbb rgba(0, 0, 0, 0);
    font-weight: bold;
    z-index: 1;
}
#variables {
    background-color: #FFFFFF;
    border: 1px solid #908FBB;
    border-top: 0px;
    margin-top: -1em;
    margin-bottom: 1em;
    display: inline-block;
    padding-top: 1em;
    width: 100%;
}

span#cals {
    margin-bottom: 1em;
}

div.celldiv {
    padding: 1px;
}

div.enlaceboton.actual.calendario {
    float: right;
}

table.dwm_main th {
    text-transform: capitalize;
}

select#area {width: auto}
input#telefono {max-width: 20em}
input#correo, input#repite_correo {max-width: 40em}
input#numero_alumnos {max-width: 5em}

.dwm_custom_entry_fields {
		display: inline-block;
}
.form_general .fondoblanco {
    background-color: white;
    border-color: #7E79AC;
    border-style: solid;
    border-width: 1px;
    overflow: hidden;
    margin-bottom: 15px;
    padding: 10px;
    float: none;
    width: auto;
}
.form_general {
  margin: 10px 0;
  line-height: 1.4em;
  font-size: 1em;
}
.form_general div .boton_submit {
	float:right;
	margin-right:15px;
	width: 100%;
}

.form_general div {
  float: left;
  clear: left;
  width: 100%;
}

.form_general label {
    display: block; float: left; overflow: hidden;
    min-height: 1.0em;
    width: 23%;
    text-align: right; padding-bottom: 0.8em; font-weight: bold;
}
.form_general input {
    display: block; float: left; margin-left: 1.0em;
    font-family: Arial, 'Arial Unicode MS', Verdana, sans-serif; font-size: small
}
.form_general select {float: left; margin-left: 1.0em; margin-right: -0.5em; margin-bottom: 0.5em}
.form_general input.radio {margin-top: 0.1em; margin-right: 2px}
.form_general input.checkbox {width: auto; margin-top: 0.2em}
.form_general textarea {height: 6em; width: 25em}
.form_general textarea {
    display: block; float: left;
    width: 26em; height: 11em;
    margin-left: 1.0em; margin-bottom: 0.5em;
    font-family: Arial, 'Arial Unicode MS', Verdana, sans-serif; font-size: small
}

/* ------------ Estilos para el tipo de campo Asignatura oficial ----*/
#info_asignatura {
  color:grey;
}

#info_asignatura label {
  display:inline;
}

#info_asignatura span {
  padding-right:0.4em;
}

/* ------------ Estilos para el tipo de campo grupo / subgrupo ----*/
.form_general #div_grupo {
  width: auto;
}


.form_general #div_subgrupo {
  width: auto;
  clear: none;
  margin-left: 2em;
}

/* ------------ Estilos para los campos dentro de las secciones ----*/
.form_general div div div,
.subsection div.contenedor_campo {
    clear: left;
    float: left;
    width: 100%;
}

.form_general div td div {
    clear: none;
    float: none;
    width: 100%;
}


.form_general div td div nobr {
    clear: right;
    float: right;
    width: 100%;
}

.form_general .group .horarios {
    font-weight:bold;
    margin-left: 1em;
}
/*RSRV-717*/
.weekday-row {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.time-selectors {
    display: none; /* Oculto por defecto */
    margin-left: 20px;
}
.time-select {
    margin: 0 10px;
}

.form_general .group .dia {
    width:100px;
    float:left;
}

.form_general .group td {
    white-space: nowrap;
}

#select_area {
		font-style:italic;
}

#secciones #div_rooms {
		padding-left:50px;
}

.col_nombre_aula {
		text-align:left;
		width:200px;
}

.col_equipos_aula {
		text-align:center;
		width:80px;
}

.col_aforo_aula {
		text-align:center;
		width:80px;
}
.col_descripcion_aula {
		text-align:center;
		width:80px;
}

.zona_logos_evlt_linea {
    display: none;
}

@media screen and (min-width: 80rem) {

  .zona_logos_evlt_linea {
    display: flex;
    clear: both;
    flex-direction: row;
    align-items: center;
  }
}

.zona_logos_evlt_linea #evlt_link {
    padding-top: 1px;
    margin-right: 0.2em;
}

.zona_logos_evlt_linea #devlt_link {
    text-align: left;
}

.zona_logos_evlt_linea img {
  display: block;
  margin: 0.1em 0.1em 0.1em 0.1em;
}
div#zona_logo_uma img#logouma_ordenador {
    margin: 10px 0px 10px 10px;
}

div#zona_logo_uma img#logouma_movil {
	display: none;
}

div#cabecera_uma div#zona_centro,
div#cabecera_uma div#zona_logos_evlt,
div#cabecera_uma div#zona_opciones_generales {
    width: auto;
}

.zona_logos_evlt_linea div#espacio_entre_zonas {
    width: 200px;
}

div#cabecera_uma div#zona_logos_evlt div.zona_logos_evlt_linea,
div#cabecera_uma div#zona_centro .wrapper_centro {
    float: none;
    text-align: left;
    width: auto;
}

div#cabecera_uma #zona_logos_evlt a,
div#cabecera_uma #zona_opciones_generales a {
    font-weight: normal;
    text-decoration: none;
}
div#cabecera_uma .zona_centro a:visited,
div#cabecera_uma .zona_logos_evlt a:visited,
div#cabecera_uma .zona_opciones_generales a:visited {
    color: #000000;
    text-decoration: none;
}

/* Z-index of #mask must lower than #boxes .window */
#mask {
  position:absolute;
  top:0;
  left:0;
  z-index:9000;
  background-color:#000;
  display:none;
}

#popup_qr .popup_ventana_qr {
  position:fixed;
  width:440px;
  height:200px;
  display:none;
  z-index:9999;
  padding:5px;
  border: 1px solid;
  background: #FFFFFF;
}

/* ------------ Estilos para las secciones ---------------------------*/

.seccion {
    border-bottom: 1px solid #AAAAAA;
    color: #212121;
    cursor: pointer;
    font-weight: bold;
    width:auto;
    height:auto;
    margin:5px;
    padding:5px;
}

.info {
	font-weight:normal;
	font-style:italic;
}

.cabecera_formulario {
  color: #0099CC;
  font-size: 1.4em;
  font-weight: bold;
  text-align: left;
}

div.cabecera_evlt_centro a, div.cabecera_evlt_leyenda a, div.cabecera_evlt_opciones a,
div.cabecera_evlt_centro, div.cabecera_evlt_leyenda, div.cabecera_evlt_opciones {
    font-weight:normal;
    color: #000000;
    white-space: nowrap;
}


div.cabecera_evlt_centro a, div.cabecera_evlt_leyenda a, div.cabecera_evlt_opciones a {
	color: #0C64AB;    text-decoration: none; font-weight: normal;
}

/*
div.cabecera_evlt_centro a:visited, div.cabecera_evlt_leyenda a:visited, div.cabecera_evlt_opciones a:visited {
	color: #0C64AB; text-decoration: none; font-weight: normal;
}
*/

div.cabecera_evlt_centro a:hover, div.cabecera_evlt_leyenda a:hover, div.cabecera_evlt_opciones a:hover {
	color: #0C64AB;   text-decoration: none; font-weight: normal;
}

div.cabecera_evlt_centro a {
    font-size: 17px;
    font-weight: 700;
}

div.cabecera_evlt_centro, div.cabecera_evlt_leyenda {
    text-align: left;
}

div.cabecera_evlt_centro {
    font-size: 2em;
}

div.cabecera_evlt_leyenda {
    margin-top: 0.7em;
    text-align: left;
}

.cabecera_evlt_opciones {
    text-align: right;
    margin: 1em 1em 0 0;
}

.cabecera_evlt_leyenda, .cabecera_evlt_opciones {
    font-size: 15.4px;
}

img.cabecera_evlt_opciones {
    margin-top: 0.9em;
    width: 30px;
    margin-bottom: 0.6em;
}

/* Estilos para la lista de aulas con scroll */

.tabla_aulas {
  border: 1px solid #DDDDDD;
  overflow: hidden;
  border-spacing: 4px;
}

/*RSRV-717 */
#banner a:link    {text-decoration: none; font-weight: bold}
#banner a:visited {text-decoration: none; font-weight: bold}
#banner a:hover   {text-decoration: none; font-weight: bold}

#banner {
    background-color: #FFFFFF;
    width: 100%;
    display: inline-block;
    display: -webkit-inline-block;
}

#banner div {
    background-color: #FFFFFF;
    color: #000000;
    float: left;
    line-height: 3em;
    padding: 0px;
    padding-bottom: 0px !important;
}

#banner div.items {
    text-align: center;
}

#banner>div {
    padding: 0 1.5% 0 1%;
}

#banner div.inputs_zone {
    float: right;
    padding-right: 0px;
}

#banner div.inputs_zone div#logon_box {
    margin-top: 0.4em;
}

#banner div.inputs_zone div {
    padding: 0 0.4em;
}

#banner div.inputs_zone div.logout {
    padding: 0;
}

#header_search input,
#banner input.date {
    width: 8em;
}

.titulo_horario {
    color: #0099CC;
    font-size: 1.4em;
    font-weight: bold;
    text-align: left;
    float:left;
    padding-left: 20px;
}

.entrada_admin {
    float:right;
    margin-right:5%;
    margin-bottom: 10px;
}

.entrada_admin a:link    {font-size: 7pt;}
.entrada_admin a:visited {font-size: 7pt;}
.entrada_admin a:hover   {font-size: 7pt;}

#main_box .entrada_admin {
    margin: 1em;
}

.mas_info_edificio {
    float: left;
    margin: -0.8em 0 1em 0;
    padding-right: 1em;
}

.info_todas_aulas {
    float: left;
    margin: -0.8em 0 1em;
    padding-right: 1em;
    max-width: 350px;
    font-style: italic;
}

.mas_info_edificio a:link,
.mas_info_edificio a:visited {
    color: #0C64ab;
    font-weight: normal;
}

.mas_info_edificio a:hover {
    color: #0099CC;
}

.texto_aforo {
    color: #003366;
    white-space: nowrap;
    font-size: 9pt;
}

.tabla_botoneras {
    width: 100%;
    margin: 0.6em 0;
}

.tabla_botoneras {
    text-align: left;
    width: 30%;
}

.tabla_botoneras .solicitar {
    width: auto;
    float: left;
}

.tabla_botoneras .titulo_pagina {
    text-align: center;
    width: 40%;
}

.tabla_botoneras .mostrar_ocultar {
   float:right;
   width: 30%;
}

#dwm .titulo_pagina h2 {
    font-weight: bold;
}

input[type=submit],
input[type=button],
.enlaceboton {
    background: none repeat scroll 0 0 #4479BA;
    border: 1px solid #20538D;
    border-radius: 4px 4px 4px 4px;
    color: #FFFFFF;
    padding: 5px;
    font-weight: normal;
    cursor: pointer;
        display: block;
}

/* Estilo específico para el botón de filtrar */
input[type="submit"][name="enviar"][value="Filtrar solicitudes"] {
  display: unset;
}

.enlaceboton {
    min-width: 10em;
}

input[type=submit]:hover, input[type=submit]:focus,
input[type=button]:hover, input[type=button]:focus,
.enlaceboton:hover, .enlaceboton:focus {
    background: none repeat scroll 0 0 #356094;
    border: 1px solid #2A4E77;
    color: #FFFFFF;
    text-decoration: none;
}

.anterior  {
    float:left;
    text-align:left;
}

.actual {
    text-align:center;
    margin:auto;
    width:120px;
}

.posterior {
		float:right;
    text-align:right;
}
div.inputs_zone input[type="submit"],
.enlaceboton.boton_ir_a {
    min-width: 0px;
    padding: 0.22em 0.5em;
    margin-left: 0.1em;
}

.enlaceboton:link, .enlaceboton:visited {
    color: #FFFFFF;
}

.enlaceboton A:link, .enlaceboton A:visited, .enlaceboton A:active {
    color: #FFFFFF;
}

.botonbuscar {
    background-color: #4479BA;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("buscar.png");
    padding: 0.35em 1.1em;
}

.botonbuscar:hover, .botonbuscar:focus {
    background-color: #356094;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("buscar.png");
}

.imprimir {
	float:right;
	padding-bottom: 4px;
	margin-left: 5px;
}

.botonimprimir {
    font-size: 10px;
    color: #0C64AB;
    background-color: #FFFFFF;
    background-repeat: no-repeat;
    background-position: 5px center;
    background-image: url("imprimir.png");
    padding: 4px 2px;
    padding-left: 25px;
    margin: 0.8em 0;
}

.botonimprimir:hover, .botonimprimir:focus {
    font-size: 10px;
    color: #003366;
    background-color: #FFFFFF;
    background-repeat: no-repeat;
    background-position: 5px center;
    background-image: url("imprimir.png");
}

.solicitar {
	width:100%;
}
<?php// RSRV-724  ?>

.botonsolicitar {
    text-align:center;
    color: #663300;
    background-color: #FFCC66;
    /*width: 75px;*/
    padding: 5px;
    margin-right: 5px;
    float:right;
}

.botonsolicitar:hover,
.botonimprimir:focus {
    color: #663300;
    /* background-color: #FEF655; */
    background-color: ffbc3a;
}



/* ------------ EVLT_REQUEST_ENTRY.PHP ---------------------------*/

.evlt_request_entry {
   margin-top: 0px;
}

.requerido {
    color: #FF0000;
    font-size: 1em;
    font-weight: bold;
    padding: 0 0 0 5px;
    vertical-align: top;
    text-align: justify;
    line-height: 1.4em;
    display:inline;
}

.erroneo {
  border:1px solid #FF0000;
  background-color:#FFF4F0;
  color:#FF0000;
}

.aclaracion {
  font-size: 1em;
  font-weight: bold;
  line-height: 1.4em;
}

.campo_aulas {
  width:auto;
}

.descripcion_campo {
  font-style: italic;
}

.request_entry_title {
  background-color: #0099CC;
  background-image: url("bgazul.jpg");
  border-color: #908FBB;
  border-style: solid;
  border-width: 1px;
  color: #FFFFFF;
  font-size: 1.1em;
  font-weight: bold;
  padding: 5px;
  text-align: left;
  margin-top: 0px;
}

form.form_solicitud {
  margin: 0;
}

.contenedor_campo,
.subsection .contenedor_campo {
    margin: 0;
    overflow: hidden;
    padding: 5px;
    position: relative;
}

.contenedor_campo label,
.group .subsection .contenedor_campo label {
    display: block;
    margin-bottom: 5px;
    width: 100%;
    vertical-align: top;
    float:none;
    font-weight:bold;
    font-style:italic;
    text-align:justify;
    padding-bottom:0;
}

label:not(.link)::after,
label.link a::after,
.list td:first-child::after {
  content: '';
}

.contenedor_campo input, .contenedor_campo textarea, .contenedor_campo select,
.subsection .contenedor_campo input, .subsection .contenedor_campo textarea,
#div_rooms .subsection .contenedor_campo select, .subsection .contenedor_campo select {
    float: left;
    margin: 0;
    width: 85%;
}

.subsection {
	max-width: 600px;
}

.contenedor_campo input.radio {
    display: inline;
    float: none;
    margin: 0 5px 0 0;
    width: auto;
}

.contenedor_campo input.checkbox {
    display: inline;
    float: none;
    margin: 0 5px 0 0;
    width: auto;
}

.contenedor_campo .group {
    display: inline;
    width:auto;
}


.contenedor_campo .group label {
    display: inline;
    float:none;
    margin: 0 20px 10px 0;
    position: static;
    width: auto;
}


.secciones fieldset {
    border: 1px solid #999999;
    margin: 0.7em 15px;
    padding: 10px 15px;
    margin-bottom: 30px;
    width: auto;
}


.secciones fieldset legend {
    font-weight: bold;
    margin-left: 0.5em;
    font-size: 11pt;
}


input.centrado {
	float: none;
	margin: 0 auto;
}

/* ------------ CAM-226 Estilos para el campo asignatura oficial (mestebanez - 06.2016) ---------------*/
#div_datos_asignatura {
  margin: 0 0 0.5em 1em;
  width: 500px;
  border: 1px solid #c3ccd3;
  padding: 1em 1em 0 1em;
  border-radius: 8px;
}

#div_datos_asignatura div span {
  padding-bottom: 0.8em;
}

#div_datos_asignatura div label {
  width: 18%;
  text-align: right;
  margin-right: 0.8em;
}

#div_datos_asignatura div input {
  margin-left: 0px;
}

#evlt_codigo_asignatura_nombre {
  width: 78%;
}

#div_datos_asignatura div #f_evlt_titulacion {
  display: table;
}

#div_datos_asignatura div #f_evlt_curso {
  /*float:left;*/
  clear:none;
  width:auto;
}

#div_datos_asignatura div input#f_evlt_grupo {
  width: 2em;
}

#div_datos_asignatura div input#f_evlt_subgrupo {
  width: 7em;
}


/* ------------ CAMPO Código oficial ---------------------------*/
#f_evlt_codigo_asignatura {
    width: 18em;
    float:left;
}
/* Estructura principal para alinear la asignatura oficial */
#div_asignatura_oficial {

  margin-bottom: 15px;
  align-items: flex-start;
}

/* Estilo para la etiqueta "Asignatura oficial:" */
#div_asignatura_oficial > label {
  width: 130px;
  font-weight: bold;
  text-align: right;
  padding-right: 10px;
  padding-top: 5px;
}

/* Contenedor de datos de la asignatura */
#div_datos_asignatura {
  flex: 1;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 10px;
  background-color: #f9f9f9;
  margin-left: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 15px;
  align-items: center;
}

/* Estilos para las etiquetas dentro del contenedor */
#div_datos_asignatura label {
  font-weight: bold;
  visibility: initial;
}

/* Campo de entrada del nombre de asignatura */
#evlt_codigo_asignatura_nombre {
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
}

/* Ajustes para las secciones internas */
#nombre_oficial_asignatura,
#evlt_codigo_asignatura,
#evlt_titulacion,
#evlt_curso {
  display: contents;
}

/* Estilos para los campos de grupo y subgrupo */
#f_evlt_grupo,
#f_evlt_subgrupo {
  width: 50px;
}

/* Ajustes adicionales para la alineación de valores */
#f_evlt_codigo_asignatura,
#f_evlt_titulacion,
#f_evlt_curso {
  font-weight: normal;
}
/* Configuración para alinear el curso, grupo y subgrupo en una sola línea */
#evlt_curso {
  display: flex;
  align-items: center;
  gap: 5px;
  grid-column: 1 / -1; /* Asegura que ocupe toda la fila en el grid */
}

#evlt_curso > label,
#evlt_curso > span {
  margin: 0;
  white-space: nowrap;
  display: contents;
  align-items: center;
}

#evlt_curso #f_evlt_grupo,
#evlt_curso #f_evlt_subgrupo {
  margin-left: 5px;
  width: 40px;
}

#f_evlt_grupo label:not(.link)::after,
#f_evlt_subgrupo label:not(.link)::after {
  content: ':';
  visibility: visible;
}


/* Evita que los spans que contienen los labels y inputs se traten como grid items separados */
#evlt_curso span {
  align-items: center;
}

/* ------------ Estilos para el formulario de reservas ---------------*/
fieldset#evlt {
    border-top: 1px solid #C3CCD3;
    padding-top: 0.7em;
}

/* Para resaltar en la lista de reservas en conflicto las que se consideran ocupadas y no
 * se pueden modificar */
a.A {background-color: #ffff99}
a.B {background-color: #99cccc}
a.C {background-color: #ffffcd}
a.D {background-color: #cde6e6}
a.E {background-color: #6dd9c4}
a.F {background-color: #82adad}
a.G {background-color: #ccffcc}
a.H {background-color: #d9d982}
a.I {background-color: #99cc66}
a.J {background-color: #e6ffe6}
a.conflicto_ocupada {
	color:red;
}
/* ------------ Estilo para los campos que se autocompletan ----------*/
.ui-autocomplete {
    max-height: 300px;
    max-width: 600px;
    overflow-y: auto;
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
    /* add padding to account for vertical scrollbar */
    padding-right: 20px;
  }
  /* IE 6 doesn't support max-height
   * we use height instead, but this forces the menu to always be this tall
   */
  * html .ui-autocomplete {
    height: 300px;
    width: 600px;
  }
.ui-autocomplete-loading { background: white url('ui-anim_basic_16x16.gif') right center no-repeat; }

.ui-autocomplete-category {
  font-weight: bold;
  font-size: larger;
  line-height: 1.5;
}

.ui-menu-item {
  font-style: italic;
  line-height: 1.5;
}

/*RSRV-710*/
/* ------------ EVLT_REQUESTS.PHP ------------------*/
#pending_list table {border-top: 1px solid #908FBB;}
#pending_list th             {background-color: #7399BF; border-color: #DDDDDD; color:#000000; font-weight: bold;}
#pending_list .control             {width: 1.2em}
#pending_list th.header_asignatura       {width: 20%}
#pending_list th.header_titulacion       {width: 25%}
#pending_list th.header_profesor     {width: 10%}
#pending_list th.header_centro       {width: 15%}
#pending_list th.header_aulas       {width: 10%}
#pending_list th.header_curso       {width: 1%}
#pending_list th.header_grupo       {width: 1%}
#pending_list th.header_action     {width: 20em}
#pending_list table th.header_periodo {width: 10em; text-transform: uppercase}
#pending_list table th.header_horarios {width: 12em; text-transform: uppercase}

#pending_list tr.entry {background-color: #FFFFFF;}

#pending_list tr.serie td {border-top: 1px solid #FAFAFA;
                        background-color: #B8CFE5;}
#pending_list tr.serie td.control {background-color: #FFF36C; cursor: default}
#pending_list tr.serie td.header_action {background-color: #FFFFFF;}

#pending_list tr.dia_semana {border-left: 1px solid #003366;border-right: 1px solid #003366;}

#pending_list tr.dia_semana td {border-top: 1px solid #FAFAFA;}
#pending_list tr.par {background-color: #FEFEBF}
#pending_list tr.impar {background-color: #FFFFE5}
#pending_list tr.ultima {border-bottom: 1px solid #003366;}

#pending_list tr.room td {border-top: 1px solid #FAFAFA;
                        background-color: #CCCCCC}
#pending_list tr.room td.control {background-color: #FFF1AA; cursor: default}

#pending_list td {border-top-width: 1px;}

#pending_list form[name^="borrar_"] {
  margin: 0.25px;
}
/***********EVLT_BORRAR_IMPORTAR**************/

table#import_list {width: 100%}
#import_list form {float: left; margin: 0 0.5em}
#import_list table {width: 100%; border-spacing: 0px; border-collapse: collapse; border: 0}
#import_list td.sub_table {padding: 0; margin: 0}
#import_list table.minimised tbody {display: none}
#import_list table th {border-top: 1px solid #ECEBEB;
                        background-color: #999999}
#import_list td {border-top-width: 1px}
#import_list .control {padding-left: 0; padding-right: 0; text-align: center;
                        color: black}
#import_list th.control + th {border-left-width: 0}
#import_list td.control + td {border-left-width: 0}
#import_list table th.control{background-color: #FFF36C; cursor: default}
#import_list table th a {color: #ffffff}
#import_list table td {border-color: #C3CCD3;
                        background-color: #FFFBC2}
#import_list .control             {width: 0.2em}

#import_list th.header_action     {width: 20em}
#import_list table th.header_start_time {text-transform: uppercase}

#import_list th             {background-color: #7399BF; border-color: #DDDDDD; color:#000000; font-weight: bold;}

#import_list .header_periodo {width: 10em; text-transform: uppercase}
#import_list .header_acciones {width: 15%; text-transform: uppercase}
#import_list .entry {background-color: #FFFFFF;}

#import_list tr.profesor td {border-top: 1px solid #FAFAFA;
                        background-color: #B8CFE5;}


tr.minimised {
  display:none;
}

.realizada {
    background: none repeat scroll 0 0 #CDCDCD;
    border: 1px solid #555555;
    border-radius: 4px 4px 4px 4px;
    clear:left;
    color: #000000;
    padding: 5px;
    width:90px;
    font-size: 10px;
    margin-left:5px;
    text-align:center;
    margin-left: 5px;
    margin-bottom: 5px;
    margin-top: 5px;
}

.enlaceaccion {
    background: none repeat scroll 0 0 #4479BA;
    border: 1px solid #20538D;
    border-radius: 4px 4px 4px 4px;
    clear:left;
    color: #FFFFFF;
    padding: 5px;
    width:90px;
    font-size: 10px;
    margin-bottom: 5px;
}
.enlaceaccion:link, .enlaceaccion:visited {
    color: #FFFFFF;
}
.enlaceaccion A:link, .enlaceaccion A:visited, .enlaceaccion A:active {
    color: #FFFFFF;
}
.enlaceaccion:hover, .enlaceaccion:focus {
    background: none repeat scroll 0 0 #356094;
    border: 1px solid #2A4E77;
    color: #FFFFFF;
    text-decoration: none;
}

/* Estilos para unificar los botones de acciones, sin afectar al enlace "Ver en Soporte" */
.enlaceaccion {
    display: block;
    width: 120px; /* Ancho fijo para los botones */
    height: 20px; /* Alto fijo para los botones */
    text-align: center;
    line-height: 20px; /* Centra verticalmente el texto */
    background: none repeat scroll 0 0 #4479BA;
    border: 1px solid #20538D;
    border-radius: 4px;
    color: #FFFFFF;
    padding: 5px;
    font-size: 10px;
    margin: 5px;
    box-sizing: content-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.enlaceaccion:hover,
.enlaceaccion:focus {
    background: none repeat scroll 0 0 #356094;
    border: 1px solid #2A4E77;
}




#form_filtro_area {
  align:center;
  margin-bottom:16px;
  font-weight:bold;
}

.cion_desconocido {
  background-color: lightgrey;
  width:30px;
}

.ocupacion_libre {
  background-color: green;
  width:30px;
}

.ocupacion_parcialmente {
  background-color: yellow;
  width:30px;
}

.ocupacion_ocupada {
  background-color: red;
  width:30px;
}

/* Customize your modal window here, you can add background image too */
#popup_qr #ventana_qr {
  width:auto;
  height:auto;
}

#popup_qr #ventana_qr input {
	padding-bottom: 3px;
	padding-top: 3px;
}

#popup .popup_ventana {
  position:fixed;
  width:440px;
  height:200px;
  display:none;
  z-index:9999;
  padding:5px;
  border: 1px solid;
  background: #FFFFFF;
}


/* Customize your modal window here, you can add background image too */
#popup #ventana {
  width:auto;
  height:auto;
}

.popup_informacion {
  display:none;
  height:auto;
  left: 361,5px;
  outline:0 none;
  position:absolute;
  width:900px;
  z-index: 1003;
  border: 1px solid;
  overflow:hidden;
  padding: 0.2em;
  background:white;
}


.popup_contenido {
  height:auto;
  max-height:500px;
  min-height:119px;
  width:auto;
  overflow:auto;
  padding: 0.5em 1em;
  position:relative;
  font-family:monospace;
  background-color: white;
  border-color: #7E79AC;
  border-style: solid;
  border-width: 1px;
  padding: 10px;
}

.popup_acciones {
  float: right;
  cursor:pointer;
  margin-top: -3px;
}

/*RSRV-706*/

.contenedor_campo_importar {
    margin: 0;
    overflow: hidden;
    padding: 5px;
    position: relative;
}

.contenedor_campo_importar label {
    display: block;
    margin-bottom: 5px;
    width: 100%;
    vertical-align: top;
    float:none;
    font-weight:bold;
    font-style:italic;
    text-align:justify;
    padding-bottom:0;
}

.enlaceboton_importar {
    font-size: 11px;
    background: none repeat scroll 0 0 #4479BA;
    border: 1px solid #20538D;
    border-radius: 4px 4px 4px 4px;
    color: #FFFFFF;
    padding: 15px;
    width:35%;
    margin-bottom: 5px;
    line-height: 150%;
    min-width: -moz-max-content;
}

.username {
    color: #356094;
    margin-right: 1em;
}

.enlaceboton_importar:link, .enlaceboton_importar:visited {
    color: #FFFFFF;
}
.enlaceboton_importar A:link, .enlaceboton_importar A:visited, .enlaceboton_importar A:active {
    color: #FFFFFF;
}
.enlaceboton_importar:hover, .enlaceboton_importar:focus {
    background: none repeat scroll 0 0 #356094;
    border: 1px solid #2A4E77;
    color: #FFFFFF;
    text-decoration: none;
}

.secciones fieldset_importar {
    border: 10px solid #999999;
    margin: 0.7em 15px;
    padding: 10px 15px;
    margin-bottom: 30px;
}


.secciones fieldset_importar legend {
    font-weight: bold;
    margin-left: 0.5em;
    font-size: 11pt;
}

.boton_subir_archivo_importar {
    font-size: inherit;
    font-weight: bold;
    background: none repeat scroll 0 0 #4479BA;
    border: 1px solid #20538D;
    border-radius: 4px 4px 4px 4px;
    color: #FFFFFF;
    padding: 15px;
    margin-bottom: 5px;
    line-height: 150%;
    min-width: -moz-max-content;
}

.boton_subir_archivo_importar:link, .boton_subir_archivo_importar:visited {
    color: #FFFFFF;
}
.boton_subir_archivo_importar A:link, .boton_subir_archivo_importar A:visited, .boton_subir_archivo_importar A:active {
    color: #FFFFFF;
}
.boton_subir_archivo_importar:hover, .boton_subir_archivo_importar:focus {
    background: none repeat scroll 0 0 #356094;
    border: 1px solid #2A4E77;
    color: #FFFFFF;
    text-decoration: none;
}

/*RSRV-710*/
table.admin_table {border-spacing: 0px; border-collapse: collapse; border-color: #C3CCD3; border-style: solid;
    border-top-width: 0px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 0ox}
.admin_table th, .admin_table td {vertical-align: middle; text-align: left;
    padding: 0.1em 0.5em 0.1em 0.5em;
    border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 1px; border-style: solid;}
.admin_table th {color: #0C64AB;
    background-color: #ffffff}
.admin_table td, .admin_table th {border-color: #C3CCD3}
.admin_table th:first-child {border-left-color: #ffffff}
.admin_table td.action {text-align: center}
.admin_table td.action div {display: inline-block}
.admin_table td.action div div {display: table-cell}

<?php// RSRV-724  ?>
#date_navigation.linea_botones_y_fecha,
.custom_date_nav.date_navigation {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.date_navigation {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  position: relative;
  padding: 20px 0;
  min-height: 50px; /* Añadido para asegurar altura mínima */
}

.date_heading {
  text-align: center;
  padding: 0 80px; /* Añadido espacio para los botones */
}

.date_heading h2.date {
  margin: 0;
  padding: 0;
  display: inline-block;
}

.boton_solicitar_aula {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.boton_solicitar_aula:hover {
  color: #663300;
  background-color: #ffbc3a;
}

.nav_right {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

/* Asegurar que los botones de navegación tengan suficiente tamaño */
.arrow a.prev, .arrow a.next {
  display: inline-block;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
}

/* Estilos para el botón solicitar */
.solicitar .enlaceboton.botonsolicitar {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #f8d568;
  padding: 5px 10px;
  border-radius: 5px;
  border: 1px solid #000;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
  transition: background-color 0.3s, color 0.3s;
}

.solicitar .enlaceboton.botonsolicitar:hover {
  background-color: #e8a52b;
  cursor: pointer;
}

/* Media query para pantallas pequeñas*/
@media screen and (max-width: 600px) {
  .date_navigation {
    flex-direction: column;
    padding: 10px 0;
  }

  .date_heading {
    order: 1;
    margin-bottom: 15px;
    padding: 0 10px;
  }

  .boton_solicitar_aula,
  .solicitar .enlaceboton.botonsolicitar {
    position: static;
    order: 2;
    margin-bottom: 10px;
    transform: none;
  }


}

.boton_mostrar_ocultar {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.enlaceboton.botonmostrar {
  background-color: #4479BA;
  padding: 5px 10px;
  border-radius: 5px;
  border: 1px solid #000;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
  transition: background-color 0.3s, color 0.3s;
}

.enlaceboton.botonmostrar:hover {
  background-color: #356094;
  cursor: pointer;
}

@media screen and (max-width: 600px) {
  .date_navigation {
    flex-direction: column;
    padding: 10px 0;
  }

  .date_heading {
    order: 1;
    margin-bottom: 15px;
    padding: 0 10px;
  }

  .boton_solicitar_aula,
  .solicitar .enlaceboton.botonsolicitar {
    position: static;
    order: 2;
    margin-bottom: 10px;
    transform: none;
  }

  .boton_mostrar_ocultar {
    position: static;
    order: 3;
    transform: none;
  }
}
.index :not(.simple) + .contents {
  display: unset;
}
#main_box {
    padding: 0.2em 0.6em;
    background-color: #FFFFFF;
    border: 1px solid #908FBB;
    border-top: 0px;
    margin-top: -1em;
    margin-bottom: 1em;
}

#dwm_switcher_ed_at {
    text-align: left;
}

#dwm_switcher_ed_at ul {
    border-bottom: 1px solid #908fbb;
    min-height: 1.7em;
    padding-left: 0px;
    padding-bottom: 2px;
    margin-top: 0px;
}

#dwm_switcher_ed_at ul li {
    list-style-type: none;
    float: left;
    border: 1px solid #aaaaaa;
    border-color: #aaaaaa #aaaaaa rgba(0, 0, 0, 0) #aaaaaa;
    border-radius: 10px 10px 0 0;
    line-height: 1em;
    background-color: #CCCCCC;
    padding: 0.4em 1em;
    margin-right: -0.4em;
    font-weight: normal;
    white-space: nowrap;
    border-color: #908fbb;
    position: relative;
    font-size: 1.1em;
    top: 0.2em;
    margin-top: 1em;
}

#dwm_switcher_ed_at ul li.active {
    border: 1px solid #aaaaaa;
    background-color: #ffffff;
    border-color: #908fbb #908fbb rgba(0, 0, 0, 0);
    font-weight: bold;
    z-index: 1;
}

#dwm_switcher_ed_at ul:after,
#dwm_switcher_ed_at ul:before {
    content: "";
    display: table;
    line-height: 0;
}

#dwm_switcher_ed_at ul:after {
    clear: both;
}

.location {
  flex-wrap: wrap;
  margin-top: 1.4em;
      clear:both;
    width:100%;
}

div#dwm_header {
    clear:both;
    width:100%;
    text-align: center;
}
@media (max-width: 600px) {
  .location {
    flex-direction: column;
    align-items: center;
  }
  .areaChangeForm, .roomChangeForm {
    width: 100%;
  }
  .room_area_select {
    width: 100%;
  }
}
/*** Tabla imprimir horarios ****/

/* Estilos base existentes mejorados */
table.rsv_diaria_main {
    border: 1px solid black;
    background-color: black;
    border-spacing: 1px;
    vertical-align: middle;
    text-align: center;
}

.rsv_diaria_main th {
    color: black;
}

.cabecera_main {
    background-color: darkgrey;
    border: none;
}

.cabecera_izquierda {
    float: left;
    padding-left: 3px;
}

.cabecera_centro {
    width: 65%;
    text-align: center;
    padding-bottom: 0.05em;
}

.cabecera_derecha {
    text-align: right;
    padding-right: 15px;
    font-size: 0.8em;
    margin-top: 15px;
    white-space: nowrap;
}

/* Estilos de tabla mejorados */
.tabla_imprimir {
    width: 100%;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    font-size: 14px;
    background-color: white;
    color: black;
    margin: 0 auto;
    table-layout: fixed; /* Mejora el control del ancho de columnas */
}

.tabla_imprimir th, .tabla_imprimir td {
    border: 1px solid black;
    padding: 10px;
    text-align: center;
    vertical-align: top;
    word-wrap: break-word; /* Permite romper palabras largas */
    overflow-wrap: break-word;
}

.tabla_imprimir th {
    background-color: darkgrey;
    color: black;
    text-transform: uppercase;
    font-weight: bold;
}

/* Colores alternos para filas (solo en pantalla) */
.tabla_imprimir tr:nth-child(even) {
    background-color: #f2f2f2;
}

.tabla_imprimir tr:hover {
    background-color: #e6e6e6;
}

/* Ajustes específicos para columnas */
.tabla_imprimir td:first-child {
    width: 20%; /* Columna de horario */
    white-space: nowrap;
}

.tabla_imprimir td:nth-child(2) {
    width: 15%; /* Columna de aula */
}

.tabla_imprimir td:nth-child(3) {
    width: 20%; /* Columna de nombre */
}

.tabla_imprimir td:nth-child(4) {
    width: 25%; /* Columna de información */
}

.tabla_imprimir td:nth-child(5) {
    width: 20%; /* Columna de observaciones */
    text-align: center; /* Observaciones centradas como las demás */
}

/* Asegurar que la última fila tenga borde inferior */
.tabla_imprimir tbody tr:last-child td {
    border-bottom: 1px solid black !important;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    .tabla_imprimir {
        font-size: 12px;
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .tabla_imprimir th, .tabla_imprimir td {
        padding: 8px;
        min-width: 120px;
    }

    .cabecera_centro {
        width: 100%;
        text-align: center;
    }

    .cabecera_izquierda, .cabecera_derecha {
        float: none;
        text-align: center;
        width: 100%;
    }
}

/* Estilos específicos para impresión mejorados vista diaria de reservas */

@media print {
    /* Reset general para impresión */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        page-break-inside: avoid !important;
    }

    @page {
        margin: 1cm;
        size: A4 landscape;
    }

    /* Reset del body */
    body {
        margin: 0 !important;
        padding: 10px !important;
        background: white !important;
        font-family: Arial, sans-serif !important;
        font-size: 10px !important;
        color: black !important;
    }


    /* Mostrar solo el contenedor principal */
    .container {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    td, th {
            vertical-align: baseline;
    }

    /* Ocultar elementos no necesarios en impresión */
    .no-print, button, .btn, input[type="button"], input[type="submit"] {
        display: none !important;
    }

    /* Ajustes de la cabecera para impresión */
    .cabecera_main {
        background-color: darkgrey !important;
        border: 1px solid black !important;
        margin-bottom: 10px;
        page-break-after: avoid;
    }

    .cabecera_centro {
        font-size: 10pt !important;
        font-weight: bold;
        margin-bottom: 0px;
    }

    .cabecera_izquierda, .cabecera_derecha {
        font-size: 10pt !important;
    }

    /* Tabla para impresión */
    .tabla_imprimir {
        width: 100% !important;
        font-size: 9pt !important;
        border-collapse: collapse !important;
        margin: 0 !important;
        page-break-inside: auto;
        table-layout: fixed !important;
        border: 2px solid black !important; /* Borde exterior más grueso */
    }

    .tabla_imprimir th,
    .tabla_imprimir td {
        border: 1px solid black !important;
        border-collapse: collapse !important;
        padding: 4px !important;
        font-size: 9pt !important;
        line-height: 1.1 !important;
        vertical-align: top !important;
        text-align: center !important;
    }

    /* Forzar bordes en todas las celdas para impresión */
    .tabla_imprimir thead th {
        border-top: 1px solid black !important;
        border-bottom: 1px solid black !important;
        border-left: 1px solid black !important;
        border-right: 1px solid black !important;
    }

    .tabla_imprimir tbody td {
        border-top: 1px solid black !important;
        border-bottom: 1px solid black !important;
        border-left: 1px solid black !important;
        border-right: 1px solid black !important;
    }

    /* Asegurar que la última fila tenga borde inferior */
    .tabla_imprimir tbody tr:last-child td {
        border-bottom: 2px solid black !important;
    }

    .tabla_imprimir th {
        background-color: darkgrey !important;
        color: black !important;
        font-weight: bold !important;
        text-transform: uppercase !important;
        text-align: center !important;
    }

    /* Eliminar colores alternos en impresión para ahorrar tinta */
    .tabla_imprimir tr:nth-child(even) {
        background-color: white !important;
    }

    .tabla_imprimir tr:hover {
        background-color: white !important;
    }

    /* Control de saltos de página */
    .tabla_imprimir tr {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    /* Repetir cabeceras en cada página */
    .tabla_imprimir thead {
        display: table-header-group !important;
    }

    .tabla_imprimir tbody {
        display: table-row-group !important;
    }

    /* Ajustes específicos para columnas en impresión */
    .tabla_imprimir td:first-child {
        width: 18% !important;
        font-size: 8pt !important;
    }

    .tabla_imprimir td:nth-child(2) {
        width: 12% !important;
    }

    .tabla_imprimir td:nth-child(3) {
        width: 20% !important;
    }

    .tabla_imprimir td:nth-child(4) {
        width: 25% !important;
    }

    .tabla_imprimir td:nth-child(5) {
        width: 25% !important;
        text-align: center !important; /* Observaciones centradas */
        font-size: 8pt !important;
    }

    /* Forzar nueva página si es necesario */
    .page-break {
        page-break-before: always !important;
    }

    /* Evitar huérfanas y viudas */
    .tabla_imprimir {
        orphans: 3;
        widows: 3;
    }
}

/* Clase auxiliar para botón de impresión */
.btn-imprimir {
    background-color: #007cba;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin: 10px 0;
    font-size: 14px;
    transition: background-color 0.3s;
}

.btn-imprimir:hover {
    background-color: #005a87;
}

/* Estilos para mejor legibilidad de datos vacíos */
.tabla_imprimir .fila-vacia {
    height: 30px;
    min-height: 30px;
}

.tabla_imprimir .fila-vacia td {
    border-bottom: 1px dotted #ccc;
}

/* Bordes en vista diaria */

/* Forzar bordes en todas las celdas */
.tabla_imprimir,
.tabla_imprimir * {
    box-sizing: border-box;
}

.tabla_imprimir {
    border: 2px solid black;
    border-collapse: separate;
    border-spacing: 0;
}

.tabla_imprimir th,
.tabla_imprimir td {
    border: 1px solid black;
    border-collapse: collapse;
    position: relative;
}

/* Reforzar bordes específicos */
.tabla_imprimir th:first-child,
.tabla_imprimir td:first-child {
    border-left: 1px solid black;
}

.tabla_imprimir th:last-child,
.tabla_imprimir td:last-child {
    border-right: 1px solid black;
}

.tabla_imprimir thead tr:first-child th {
    border-top: 1px solid black;
}

.tabla_imprimir tbody tr:last-child td {
    border-bottom: 1px solid black;
}

/* Para impresión - reforzar todos los bordes */
    .tabla_imprimir {
        border-collapse: collapse !important;
        border: 2px solid black !important;
    }

    .tabla_imprimir th,
    .tabla_imprimir td {
        border: 1px solid black !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Forzar visibilidad de todos los bordes */
    .tabla_imprimir th::after,
    .tabla_imprimir td::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: 1px solid black;
        pointer-events: none;
    }
        /* Forzar visibilidad de colores en todos los navegadores */
    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    .dwm_main td {
        box-shadow: 0 110px 0 #dddddd;
    }

<!--@media print {
    /* Configuración de página */
    @page {
        margin: 1cm;
        size: A4 landscape;
    }

    /* Reset del body */
    body {
        margin: 0 !important;
        padding: 10px !important;
        background: white !important;
        font-family: Arial, sans-serif !important;
        font-size: 10px !important;
        color: black !important;
    }

    /* Ocultar todo excepto los contenedores necesarios */
    /*
    body > *:not(.container) {
        display: none !important;
    }
    */
    /* Mostrar solo el contenedor principal */
    .container {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .view_container {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Ocultar elementos dentro del contenedor excepto la tabla */
    .container > *:not(.view_container),
    .view_container > *:not(#week_main) {
        display: none !important;
    }

    /* Mostrar solo la tabla principal */
    #week_main {
        display: table !important;
        width: 100% !important;
        border-collapse: collapse !important;
        border: 1;
        margin: 0 !important;
        padding: 1 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Estilos para todas las celdas de la tabla principal */
    #week_main th,
    #week_main td {
        border: 1px solid black !important;
        padding: 2px !important;
        font-size: 8px !important;
        line-height: 1.1 !important;
        vertical-align: top !important;
        text-align: center !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Cabeceras */
    #week_main th {
        background-color: #d0d0d0 !important;
        font-weight: bold !important;
        font-size: 9px !important;
        border: 1px solid black !important;
    }

    /* Columna de horas (primera columna) */
    #week_main .first_last,
    #week_main td.first_last {
        background-color: #f0f0f0 !important;
        font-weight: bold !important;
        width: 8% !important;
        color: black !important;
    }

    /* Día actual destacado */
    /*
    #week_main .today {
        background-color: #e8f4f8 !important;
    }
    */

    /* Celdas con reservas - mantener los colores originales */
    /*
    #week_main .I,
    #week_main .I0,
    #week_main .I1,
    #week_main .I2,
    #week_main .new {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        font-size: 7px !important;
        word-wrap: break-word !important;
        overflow: hidden !important;
    }
    */
    /* Enlaces dentro de las celdas */
    #week_main a {
        color: black !important;
        text-decoration: none !important;
        font-size: inherit !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    /* Asegurar que los textos largos no se salgan */
    #week_main td {
        word-break: break-word !important;
        hyphens: auto !important;
        overflow: hidden !important;
        max-width: 0 !important; /* Fuerza el word-wrap */
    }

    /* Control de saltos de página */
    #week_main {
        page-break-inside: auto !important;
    }

    #week_main tr {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    /* Repetir cabeceras en cada página */
    #week_main thead {
        display: table-header-group !important;
    }

    #week_main tbody {
        display: table-row-group !important;
    }

    /* Ocultar elementos de navegación y controles */
    .banner,
    .navbar,
    .nav,
    .header,
    .footer,
    .breadcrumb,
    .button,
    .btn,
    input[type="button"],
    input[type="submit"],
    .form-group,
    .nav_table,
    .view_buttons,
    .minical,
    .trailer,
    #trailer,
    #header,
    .help-text,
    .alert,
    .notice,
    .error,
    .warning,
    .info,
    .debug,
    .no-print {
        display: none !important;
    }
    */

    /* Forzar visibilidad de colores en todos los navegadores */
    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    .dwm_main td {
        box-shadow: 0 0px 0 #dddddd;
    }
}-->

/*RM-1879*/

.capacity {
  opacity: 0.6;
  font-style: italic;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;     /* CENTRA verticalmente */
  align-items: center;         /* CENTRA horizontalmente */
  gap: 2px;
  line-height: 1.1;
  text-align: center;          /* Por si el contenedor no está centrado */
}

.capacity .equipos,
.capacity .aforo {
  margin-right: 6px;
  white-space: nowrap;
}
.capacity .equipos {
   margin-right: 6px;
}

/* Eliminar el paréntesis ( */
.capacity:before {
  content: "";
  white-space: nowrap;
}
/*Eliminar el paréntesis ) */
.capacity:after {
  content: "";
  white-space: nowrap;
}

/* El tfoot debe estar ENCIMA del div.contents */
.dwm_main tfoot {
  position: relative !important;
  z-index: 100 !important;
}

.dwm_main tfoot th {
  background-color: #0099cc !important;
  color: #ffffff !important;
  position: relative !important;
  z-index: 100 !important;
}

.dwm_main tfoot a {
  color: #ffffff !important;
  position: relative !important;
  z-index: 100 !important;
  text-decoration: none !important;
}

.dwm_main tfoot a:hover {
  text-decoration: underline !important;
}

input.forced-name {
    background-color: #f0f0f0;
    cursor: not-allowed;
}
/*Graduado/a en Ingeniería Química*/
.B, td.B, .month div.B, a.B {
    background-color: #ABE9FF;
}
/*Graduado en QUIMICA */
.E, td.E, .month div.E, a.E {
    background-color: #ABFFC8;
}

/*Graduado en Ciencias Ambientales */
.G, td.G, .month div.G, a.G {
    background-color: #FFFF96;
}

/*Graduado en BIOLOGIA */
.C, td.C, .month div.C, a.C {
    background-color: #E1EBCD;
}
/*Graduado en MATEMATICAS */
.H, td.H, .month div.H, a.H {
    background-color: #FFE0C8;
}
/*Graduado en BIOQUIMICA*/
.D, td.D, .month div.D, a.D {
    background-color: #FFCCCC;
}
/*Graduado en MASTER*/
.J, td.J, .month div.J, a.J {
    background-color: #FEF0C8;
}
/*Graduado en Otros USOS*/
.I, td.I, .month div.I, a.I {
    background-color: #DEE2F2;
}