@charset "utf-8";
@import url("https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css");
/* CSS Document */
html{
	height: 100%;
}
	
body {
	height: 98%;
	background: #C0D9D9  url(../imagenes/fondo5.png) repeat;
	font : 10pt Verdana, Geneva, Arial, Helvetica, sans-serif;
	color : #9900FF;
	margin : 10px 0px 10px 0px;
	text-align: center;
} 
#borde{ 
 
text-align: left; 
width: 96%; 
height:95%;
margin: auto; 
} 

#contenedor{ 
text-align: left; 
border: 2px solid #cccccc; 
width: 98%; 
height: 98%;
margin: auto; 
padding :10px;
background-color : #ffffff; 
}

#titulo{
	
	text-align: center;
	border: 2px solid #cccccc;
	width: 98%;
	margin: auto;
	background-color : #CC99CC;
	font-weight: bold;
	font-size: 16px;
}

#foto{
	border: 2px solid #cccccc;
	height: 56px;
	background:  #C0D9D9 url(../imagenes/fondoleonardo1.jpg) repeat;

}

#navegador{ 
background : #F5F4C3 url(imagenes/fondonav.gif); 
padding :10px; 
border-top : 1px solid #cccccc; 
border-bottom : 1px solid #cccccc; 
}  

#cuerpo{
	width:86%;
	height:80%;
	padding: 12px 0px 0px 0px;
	background-color: #EBF2FE;
	float: left;
	overflow-y: scroll;
	border: 1px solid #cccccc; 
} 

#cuerpo_i{
	width: 49%;
	height:80%;
	margin-left: 4px;
	padding: 10px 0px 0px 0px;
	background-color: #CC99FF;
	float: left;
	border : 1px solid #cccccc;
	overflow-y: scroll;
} 
#cuerpo_d{
	width: 49%;
	height:80%;
	margin-right: 4px;
	border : 1px solid #cccccc;
	padding: 10px 0px 0px 0px; 
	background-color: #CC99FF;
	float: right;
	overflow-y: scroll;
} 


#cuerpo_e{
	width: 76%;
	height: 80%;
	padding: 12px 0px 0px 0px;
	background-color: #EBF2FE;
	float: left;
	overflow-y: scroll;
} 

#pie{ 
clear : both; 
color : #9900CC; 
text-align : right; 
margin : 10px 10px 0px 10px; 
padding: 7px 4px 5px 4px; 
height: 15%;
}

#lateral{ 
width: 13%; 
height: 80%;
background-color: #EBF2F1; 
border-bottom : 1px solid #cccccc; 
border-left : 1px solid #cccccc; 
float:right; 
padding: 12px 4px 0px 4px;
} 
#lateral_ancho{ 
width: 23%; 
height: 80%;
background-color: #EBF2FE; 
border-bottom : 1px solid #cccccc; 
border-left : 1px solid #cccccc; 
float:right; 
padding: 12px 4px 0px 4px;
} 

.boton {
	margin: 0.2em;
	padding: 1em;
	cursor: pointer;
	background:  #71FF71;
	text-decoration: none;
	color: #990099;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.pulse {
  display: inline-block;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.pulse:hover, .pulse:focus, .pulse:active {
  -webkit-animation-name: pulse;
  animation-name: pulse;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* Pulse Grow */
@-webkit-keyframes pulsos {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes pulsos {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.pulsos {
  display: inline-block;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.pulsos:hover, .pulsos:focus, .pulsos:active {
  -webkit-animation-name: pulsos;
  animation-name: pulsos;
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}




/* Hover */
@-webkit-keyframes hover {
  50% {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
  }

  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

@keyframes hover {
  50% {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
  }

  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

.hover {
  display: inline-block;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover:hover, .hover:focus, .hover:active {
  -webkit-transform: translateY(-6px);
  transform: translateY(-6px);
  -webkit-animation-name: hover;
  animation-name: hover;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}




/*

#navabajo{ 
font-weight : bold; 
} 

#cuerpoe{
	width: 100%;
	height: 550px;
	background-color : #ffffff;
	overflow-y: scroll;
	text-align: center;
} 

 







#cabecera{ 
height : 115px; 
width: 1100px; 
} 

A.enlacenav, A.enlacenav:VISITED, A.enlacenav:ACTIVE, A.enlacenav:FOCUS, A.enlacenav:LINK{ 
color: #494E6B; 
} 
A.enlacenav:HOVER{ 
color: #3F7DE3; 
} 
a, a:link, a:active{
	text-decoration:none;
	color:#2e618a;
	color:#407f91;
}
a:visited{
color:
	color: #FF0;
}
a:hover {
color:#d36400;
}

#cuerpo2{ 
width:560px; 
margin-left: 8px; 
padding: 12px 0px 10px 0px; 
background-color : #ffffff; 
float:left;
}




#lateral_i{ 
width: 120px; 
background-color: #EBF2FE; 
border-bottom : 1px solid #cccccc; 
border-left : 1px solid #cccccc; 
float:right; 
} 


.cuerpolateral{ 
padding: 5px 4px 13px 10px; 
} 
INPUT { 
font-size : 8pt; 
} 

#fbuscar form{ 
margin-bottom : 0px; 
margin-top : 0px; 
} 
#campotexto{ 
float: left; 
} 
#campotexto input{ 
width:100px; 
} 
#botonbuscar { 
padding-top : 3px; 
padding-left: 106px; 
} 
#botonbuscar input{ 
border : 0px none; 
} 
.radio{ 
clear:both; 
} 
#otras ul{ 
margin : 5px 10px 0px 0px; 
padding: 0px 0px 0px 4px; 
list-style: none; 
} 
#otras li{ 
padding-left: 14px; 
background: transparent url(images/bullet.gif) 0 2px no-repeat; 
margin-bottom: 10px; 
} 

*/

/* Modernizacion visual 2026 */
:root {
	--davinci-orange: #ef5200;
	--davinci-pink: #d10067;
	--davinci-cyan: #008aa9;
	--davinci-ink: #172033;
	--davinci-muted: #657085;
	--davinci-line: #d9e2ee;
	--davinci-soft: #f4f7fb;
	--davinci-white: #ffffff;
	--davinci-shadow: 0 20px 55px rgba(23, 32, 51, 0.12);
}

/* Profesorado: nueva sustitucion y fin de sustitucion */
.page-sustituciones #cuerpo {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding: clamp(20px, 3vw, 38px);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-sustituciones .sustitucion-card {
    width: min(900px, 100%);
    margin: 0 auto 28px;
    overflow: hidden;
    color: #18313a;
    font-family: inherit;
    background: #fff;
    border: 1px solid rgba(0, 138, 169, .16);
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-sustituciones .sustitucion-header {
    padding: 20px 28px;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96));
    border-bottom: 1px solid #d7e3ee;
}

.page-sustituciones .sustitucion-header h1 {
    margin: 0;
    color: #0c2445;
    font-family: inherit;
    font-size: clamp(1.35rem, 2.2vw, 1.8rem);
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.15;
    text-transform: uppercase;
}

.page-sustituciones .sustitucion-info {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 18px 28px 0;
    padding: 11px 14px;
    color: #354f66;
    font-size: .9rem;
    line-height: 1.45;
    background: #f4f9fc;
    border: 1px solid #d2e4ed;
    border-radius: 12px;
}

.page-sustituciones .sustitucion-info > span {
    display: grid;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    color: #fff;
    font-size: .8rem;
    font-weight: 800;
    place-items: center;
    background: #008aa9;
    border-radius: 50%;
}

.page-sustituciones .sustitucion-section {
    padding: 22px 28px 25px;
    border-bottom: 1px solid #d7e6e9;
}

.page-sustituciones .sustitucion-section--soft { background: #f8fafc; }

.page-sustituciones .sustitucion-section h2 {
    margin: 0 0 17px;
    color: #00687e;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.page-sustituciones .sustitucion-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(120px, .7fr) minmax(130px, .8fr);
    gap: 18px;
    align-items: end;
}

.page-sustituciones .sustitucion-grid--summary { grid-template-columns: minmax(0, 2fr) minmax(130px, .8fr); }

.page-sustituciones .sustitucion-field {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 0;
}

.page-sustituciones .sustitucion-field > span {
    margin-bottom: 7px;
    color: #0c2445;
    font-size: .84rem;
    font-weight: 800;
}

.page-sustituciones .sustitucion-field input,
.page-sustituciones .sustitucion-field select {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 9px 12px;
    color: #18313a;
    font: inherit;
    background: #fff;
    border: 1px solid #c7d8e6;
    border-radius: 11px;
}

.page-sustituciones .sustitucion-field input[readonly] {
    color: #47606d;
    font-weight: 750;
    background: #eef3f7;
}

.page-sustituciones .sustitucion-field input:focus,
.page-sustituciones .sustitucion-field select:focus {
    border-color: #008aa9;
    box-shadow: 0 0 0 4px rgba(0, 138, 169, .13);
    outline: 0;
}

.page-sustituciones .sustitucion-warning {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 28px 0;
    padding: 12px 15px;
    color: #76520a;
    font-size: .8rem;
    line-height: 1.4;
    background: #fff8df;
    border: 1px solid #ead48b;
    border-radius: 12px;
}

.page-sustituciones .sustitucion-warning > span {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    color: #fff;
    font-weight: 900;
    place-items: center;
    background: #d79a16;
    border-radius: 50%;
}

.page-sustituciones .sustitucion-actions {
    padding: 20px 28px 24px;
    text-align: center;
}

.page-sustituciones .sustitucion-actions input[type="submit"] {
    min-width: 205px;
    min-height: 46px;
    padding: 12px 24px;
    color: #fff;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}

.page-sustituciones .sustitucion-actions input[disabled] {
    cursor: not-allowed;
    background: #9aa8b4;
    box-shadow: none;
    opacity: .72;
}

.page-sustituciones .sustitucion-status {
    display: flex;
    flex-direction: column;
    gap: 3px;
    box-sizing: border-box;
    width: min(900px, 100%);
    order: -1;
    margin: 0 auto 14px;
    padding: 14px 18px;
    color: #245b39;
    font-family: inherit;
    font-size: .84rem;
    background: #f0faf4;
    border: 1px solid #cce8d6;
    border-radius: 13px;
}

.page-sustituciones .sustitucion-status strong { font-size: .92rem; }
.page-sustituciones .sustitucion-status--error {
    color: #842b3c;
    background: #fff4f5;
    border-color: #efccd3;
}

/* Profesorado: alta y modificacion */
.page-profesores-form #cuerpo {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding: clamp(20px, 3vw, 38px);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-profesores-form .profesores-card,
.page-profesores-form .profesores-legacy-form {
    width: min(900px, 100%);
    margin: 0 auto 28px;
    overflow: hidden;
    color: #18313a;
    font-family: inherit;
    background: #fff;
    border: 1px solid rgba(0, 138, 169, .16);
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-profesores-form .profesores-header,
.page-profesores-form .profesores-legacy-card > tbody > tr:first-child > td {
    padding: 20px 28px !important;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e3ee !important;
}

.page-profesores-form .profesores-header h1,
.page-profesores-form .profesores-legacy-card .Estilo5 {
    margin: 0;
    color: #0c2445 !important;
    font-family: inherit;
    font-size: clamp(1.35rem, 2.2vw, 1.8rem) !important;
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.15;
    text-transform: uppercase;
}

.page-profesores-form .profesores-info {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 18px 28px 0;
    padding: 11px 14px;
    color: #354f66;
    font-size: .9rem;
    background: #f4f9fc;
    border: 1px solid #d2e4ed;
    border-radius: 12px;
}

.page-profesores-form .profesores-info > span {
    display: grid;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    color: #fff;
    font-size: .8rem;
    font-weight: 800;
    place-items: center;
    background: #008aa9;
    border-radius: 50%;
}

.page-profesores-form .profesores-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 19px;
    padding: 24px 28px 28px;
}

.page-alta-profesores .profesores-card {
    width: min(1000px, 100%);
}

.page-alta-profesores .profesores-grid--alta {
    grid-template-columns: minmax(220px, 1.35fr) minmax(170px, .8fr) minmax(170px, .8fr);
    gap: 22px 24px;
    padding: 28px 34px 30px;
}

.page-alta-profesores .profesores-grid--alta .profesores-field > span {
    display: flex;
    align-items: center;
    min-height: 20px;
    line-height: 1.25;
}

.page-alta-profesores .profesores-grid--alta input,
.page-alta-profesores .profesores-grid--alta select {
    height: 46px;
}

.page-alta-profesores .profesores-grid--alta .profesores-choice {
    min-height: 46px;
    align-self: end;
    justify-content: center;
    padding: 8px 14px;
}

.page-alta-profesores .profesores-actions {
    padding: 22px 34px 26px;
}

.page-alta-profesores .profesores-actions input {
    min-width: 230px;
}

.page-profesores-form .profesores-field {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.page-profesores-form .profesores-field--wide { grid-column: span 2; }
.page-profesores-form .profesores-field--full { grid-column: 1 / -1; }

.page-profesores-form .profesores-field > span,
.page-profesores-form .profesores-choice legend {
    margin-bottom: 7px;
    color: #0c2445;
    font-size: .84rem;
    font-weight: 800;
}

.page-profesores-form .profesores-field input,
.page-profesores-form .profesores-field select,
.page-profesores-form .profesores-legacy-card input[type="text"],
.page-profesores-form .profesores-legacy-card input[type="email"],
.page-profesores-form .profesores-legacy-card input[type="date"],
.page-profesores-form .profesores-legacy-card select {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 9px 12px;
    color: #18313a;
    font: inherit;
    background: #fff;
    border: 1px solid #c7d8e6;
    border-radius: 11px;
}

.page-profesores-form .profesores-choice {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid #d7e3ee;
    border-radius: 11px;
}

.page-profesores-form .profesores-choice legend { padding: 0 5px; }
.page-profesores-form .profesores-choice label { display: flex; gap: 6px; align-items: center; }
.page-profesores-form .profesores-choice input { width: auto; margin: 0; }

.page-profesores-form .profesores-actions {
    padding: 20px 28px 24px;
    text-align: center;
    border-top: 1px solid #d7e6e9;
}

.page-profesores-form .profesores-actions input,
.page-profesores-form .profesores-legacy-card #nuevo {
    min-width: 190px;
    min-height: 46px;
    padding: 12px 24px;
    color: #fff !important;
    font: inherit;
    font-size: .84rem;
    font-weight: 900;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}

.page-profesores-form .profesores-actions input[disabled] {
    cursor: not-allowed;
    background: #9aa8b4;
    box-shadow: none;
    opacity: .72;
}

.page-profesores-form .profesores-status {
    order: -1;
    display: flex;
    flex-direction: column;
    width: min(900px, 100%);
    margin: 0 auto 14px;
    padding: 14px 18px;
    color: #245b39;
    background: #f0faf4;
    border: 1px solid #cce8d6;
    border-radius: 13px;
}

.page-profesores-form .profesores-status strong {
    margin-bottom: 3px;
    font-size: .92rem;
}

.page-profesores-form .profesores-status span {
    font-size: .86rem;
    line-height: 1.45;
}

.page-profesores-form .profesores-status--error {
    color: #8b2530;
    background: #fff3f4;
    border-color: #efc7cc;
    box-shadow: 0 10px 24px rgba(139, 37, 48, .07);
}

.page-alta-profesores .profesores-status {
    width: min(1000px, 100%);
}

.page-profesores-form .profesores-legacy-card {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    box-shadow: none;
}

.page-profesores-form .profesores-legacy-card td {
    box-sizing: border-box;
    height: auto !important;
    padding: 14px !important;
    color: #0c2445 !important;
    font-family: inherit;
    font-size: .84rem;
    font-weight: 800;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e6e9 !important;
}

.page-alta-profesores .profesores-legacy-card > tbody > tr:nth-child(2) { display: grid; grid-template-columns: 150px minmax(0, 1fr) 220px; }
.page-alta-profesores .profesores-legacy-card > tbody > tr:nth-child(3) { display: grid; grid-template-columns: 110px 1fr 110px 1fr 100px 1fr; }
.page-alta-profesores .profesores-legacy-card > tbody > tr:nth-child(4) { display: grid; grid-template-columns: 100px 1.4fr 150px 1fr 90px .65fr 90px .65fr; }
.page-alta-profesores .profesores-legacy-card > tbody > tr:last-child { display: none; }
.page-alta-profesores .profesores-legacy-form > p { display: none; }

@media (max-width: 760px) {
    .page-profesores-form #cuerpo { padding: 15px; }
    .page-profesores-form .profesores-grid { grid-template-columns: 1fr; padding: 20px 18px; }
    .page-profesores-form .profesores-field--wide,
    .page-profesores-form .profesores-field--full { grid-column: 1; }
    .page-profesores-form .profesores-info { margin: 16px 18px 0; }
    .page-alta-profesores .profesores-grid--alta { grid-template-columns: 1fr; padding: 22px 18px; }
    .page-alta-profesores .profesores-grid--alta .profesores-field--wide { grid-column: 1; }
    .page-alta-profesores .profesores-legacy-card > tbody > tr:nth-child(n+2) { display: block; }
    .page-alta-profesores .profesores-legacy-card td { display: block; width: 100% !important; text-align: left; }
}

@media (max-width: 760px) {
    .page-sustituciones #cuerpo { padding: 15px; }
    .page-sustituciones .sustitucion-header,
    .page-sustituciones .sustitucion-section { padding: 20px 18px; }
    .page-sustituciones .sustitucion-grid,
    .page-sustituciones .sustitucion-grid--summary { grid-template-columns: 1fr; gap: 14px; }
    .page-sustituciones .sustitucion-warning { margin: 16px 18px 0; }
    .page-sustituciones .sustitucion-info { margin: 16px 18px 0; }
}

/* Indicadores: documentos del centro */
.page-documentos-centro #cuerpo {
	box-sizing: border-box;
	padding: clamp(24px, 3.5vw, 48px);
	background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}
.page-documentos-centro #cuerpo form {
	width: min(1060px, 100%);
	margin: 0 auto 36px;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0, 138, 169, .16);
	border-radius: 26px;
	box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}
.page-documentos-centro #cuerpo form > p,
.page-documentos-centro #cuerpo form > tb {
	display: none;
}
.page-documentos-centro .documentos-centro-table {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	color: #18313a;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	border: 0 !important;
	border-collapse: collapse;
	background: #fff !important;
}
.page-documentos-centro .documentos-centro-table td {
	box-sizing: border-box;
	height: auto !important;
	padding: 17px 20px;
	color: #18313a;
	font-family: inherit;
	font-size: .86rem;
	line-height: 1.5;
	vertical-align: middle;
	background: #fff !important;
	border: 0 !important;
	border-right: 1px solid #dfe7ef !important;
	border-bottom: 1px solid #dfe7ef !important;
}
.page-documentos-centro .documentos-centro-table td:last-child {
	border-right: 0 !important;
}
.page-documentos-centro .documentos-centro-table tr:first-child td {
	padding: clamp(25px, 3vw, 36px);
	text-align: center;
	background: linear-gradient(110deg, #dff3f6 0%, #f8e1ed 100%) !important;
}
.page-documentos-centro .documentos-centro-table h1 {
	margin: 0;
	color: #0c2445;
	font-size: clamp(1.45rem, 2.5vw, 2.15rem);
	font-weight: 900;
	letter-spacing: .045em;
	line-height: 1.15;
	text-transform: uppercase;
}
.page-documentos-centro .documentos-centro-table tr:not(:first-child):hover td {
	background: #f3fafb !important;
}
.page-documentos-centro .documentos-centro-table td:first-child:not([colspan]) {
	width: 34%;
	color: #0c5063;
	font-weight: 800;
	background: #f7fbfc !important;
}
.page-documentos-centro .documentos-centro-table td[colspan="2"] {
	padding: 18px 22px;
	background: #f8fafc !important;
}
.page-documentos-centro .documentos-centro-table a {
	color: #00687e;
	font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
	font-weight: 800;
	text-decoration: none;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color .18s ease;
}
.page-documentos-centro .documentos-centro-table a span {
	color: inherit !important;
	font-family: inherit !important;
}
.page-documentos-centro .documentos-centro-table a:hover,
.page-documentos-centro .documentos-centro-table a:hover span {
	color: #d10067;
	text-decoration: underline;
}
.page-documentos-centro .documentos-centro-table .subtitle {
	color: #0c2445;
	font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
	font-size: .9rem;
	font-weight: 900;
	letter-spacing: .025em;
	text-transform: uppercase;
}
.page-documentos-centro .documentos-centro-table p {
	margin: 0;
}
.page-documentos-centro .documentos-centro-table td > p:first-child:empty,
.page-documentos-centro .documentos-centro-table td > p:last-child {
	display: none;
}
.page-documentos-centro .documentos-centro-table ul {
	margin: 10px 0 0;
	padding-left: 20px;
}
.page-documentos-centro .documentos-centro-table li {
	margin: 5px 0;
	color: #008aa9;
}
@media (max-width: 700px) {
	.page-documentos-centro #cuerpo { padding: 16px; }
	.page-documentos-centro .documentos-centro-table,
	.page-documentos-centro .documentos-centro-table tbody,
	.page-documentos-centro .documentos-centro-table tr,
	.page-documentos-centro .documentos-centro-table td {
		display: block;
		width: 100% !important;
	}
	.page-documentos-centro .documentos-centro-table td {
		padding: 16px 18px;
		border-right: 0 !important;
	}
}

/* Ajuste final de la consulta del coordinador del Plan de Lectura. */
body.page-planlectura-coordinador #cuerpo {
    padding: 30px 28px 50px !important;
}
body.page-planlectura-coordinador #cuerpo > form.planlectura-coordinador-form {
    display: block !important;
    width: min(100%, 1120px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-card {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #cfe0ec !important;
    border-radius: 24px !important;
    border-spacing: 0 !important;
    background: #fff !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:first-child > td {
    height: auto !important;
    padding: 22px 24px !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-card .Estilo5 {
    font-size: clamp(1.35rem, 2.4vw, 1.9rem) !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    background: #fff !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table {
    display: table !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    background: #fff !important;
    box-shadow: none !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tbody {
    display: table-row-group !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:first-child {
    display: table-row !important;
    padding: 0 !important;
    background: #fff !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:first-child td {
    display: table-cell !important;
    width: 50% !important;
    padding: 24px 26px 14px !important;
    vertical-align: middle !important;
    background: #fff !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:first-child td:first-child {
    border-right: 1px solid #dbe7ef !important;
}
body.page-planlectura-coordinador .coordinator-filter-field {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    color: #0c2445 !important;
    font-size: .9rem !important;
}
body.page-planlectura-coordinador .coordinator-filter-field strong {
    min-width: 92px;
    text-align: left;
    text-transform: uppercase;
}
body.page-planlectura-coordinador .planlectura-coordinador-card select {
    width: 100% !important;
    max-width: none !important;
    min-height: 46px !important;
    margin: 0 !important;
    font-size: .95rem !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:last-child td {
    padding: 10px 26px 24px !important;
    background: #fff !important;
}
body.page-planlectura-coordinador .planlectura-coordinador-empty {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 24px 28px;
    text-align: center;
    border-top: 1px solid #dbe7ef;
    background: #f7fafc;
}
body.page-planlectura-coordinador .planlectura-coordinador-empty strong {
    color: #0c2445;
    font-size: 1rem;
}
body.page-planlectura-coordinador .planlectura-coordinador-empty span {
    color: #557086;
    font-size: .9rem;
    font-weight: 500;
}

@media (max-width: 720px) {
    body.page-planlectura-coordinador #cuerpo { padding: 16px 12px 34px !important; }
    body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table,
    body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tbody,
    body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:first-child,
    body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:first-child td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    body.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:first-child td {
        padding: 18px 18px 8px !important;
        border-right: 0 !important;
    }
    body.page-planlectura-coordinador .coordinator-filter-field {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
}

/* Confirmación de la prueba de correo */
body.page-correo-prueba #cuerpo {
    box-sizing: border-box;
    padding: 42px 30px 56px !important;
    background: linear-gradient(180deg, #f4f8fc 0%, #edf5fa 100%);
}
body.page-correo-prueba .correo-result-card {
    width: min(100%, 880px);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #cfe0ec;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 20px 48px rgba(24, 66, 92, .12);
}
body.page-correo-prueba .correo-result-title {
    padding: 28px 24px;
    text-align: center;
    background: linear-gradient(110deg, #dff5f7 0%, #fde8f1 100%);
}
body.page-correo-prueba .correo-result-title h1 {
    margin: 0;
    color: #082b56;
    font: 900 clamp(1.5rem, 3vw, 2.1rem) "Inter", "Segoe UI", Arial, sans-serif;
    letter-spacing: .05em;
}
body.page-correo-prueba .correo-result-body {
    display: grid;
    gap: 12px;
    padding: 30px 34px 34px;
    color: #405d73;
    font: 500 1rem/1.55 "Inter", "Segoe UI", Arial, sans-serif;
    text-align: left;
}
body.page-correo-prueba .correo-result-body > strong {
    margin-bottom: 5px;
    color: #0c2445;
    font-size: 1.08rem;
}
body.page-correo-prueba .correo-result-card--ok .correo-result-body {
    border-top: 5px solid #0797a8;
}
body.page-correo-prueba .correo-result-card--error .correo-result-body {
    border-top: 5px solid #cf2743;
    background: #fff7f8;
}
body.page-correo-prueba .correo-result-error {
    margin-top: 6px;
    padding: 12px 14px;
    color: #8e1f31;
    border: 1px solid #f1bdc5;
    border-radius: 12px;
    background: #fff0f3;
}

@media (max-width: 700px) {
    body.page-correo-prueba #cuerpo { padding: 20px 14px 38px !important; }
    body.page-correo-prueba .correo-result-body { padding: 24px 20px 28px; }
}

/* Votaciones: Claustro y Consejo Escolar */
html body.page-votaciones {
    color: #0c2445;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    background: #edf4fa;
}
.page-votaciones #cuerpo {
    box-sizing: border-box;
    padding: 42px 34px 56px;
    background: linear-gradient(180deg, #f4f8fc 0%, #edf5fa 100%);
}
.page-votaciones #cuerpo > form,
.page-votaciones #cuerpo > table,
.page-votaciones .votacion-status {
    box-sizing: border-box;
    width: min(100%, 1050px) !important;
    margin: 0 auto !important;
}
.page-votaciones #cuerpo > form > table,
.page-votaciones #cuerpo > table {
    width: 100% !important;
    overflow: hidden;
    border: 1px solid #cfe0ec !important;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 28px;
    box-shadow: 0 20px 48px rgba(24, 66, 92, .12);
    background: #fff;
}
.page-votaciones #cuerpo table td {
    box-sizing: border-box;
    padding: 22px 28px;
    color: #0c2445;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    border: 0 !important;
    border-bottom: 1px solid #d8e5ee !important;
    background: #fff !important;
}
.page-votaciones #cuerpo form > table > tbody > tr:first-child > td {
    padding: 28px 24px !important;
    text-align: center;
    background: linear-gradient(110deg, #dff5f7 0%, #fde8f1 100%) !important;
}
.page-votaciones #cuerpo form > table > tbody > tr:first-child img { display: none; }
.page-votaciones #cuerpo .Estilo2,
.page-votaciones #cuerpo .Estilo3 {
    color: #082b56;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    font-weight: 900;
    letter-spacing: .045em;
}
.page-votaciones #cuerpo form > table > tbody > tr:first-child .Estilo3 {
    margin: 0;
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    text-transform: uppercase;
}
.page-votaciones #cuerpo form > table > tbody > tr:nth-child(2) .Estilo3 {
    margin: 0;
    font-size: clamp(1rem, 2vw, 1.3rem);
    line-height: 1.55;
    letter-spacing: 0;
}
.page-votaciones input[type="radio"],
.page-votaciones input[type="checkbox"] {
    width: 22px;
    height: 22px;
    margin: 0 12px 0 0;
    vertical-align: middle;
    accent-color: #008ca9;
}
.page-votaciones #cuerpo form > table > tbody > tr:nth-child(3) > td {
    font-size: 1.08rem;
    line-height: 1.6;
    vertical-align: top;
}
.page-votaciones #cuerpo form table table {
    width: 100%;
    border-collapse: collapse;
}
.page-votaciones #cuerpo form table table td {
    padding: 10px 4px;
    text-align: left;
}
.page-votaciones input[type="submit"],
.page-votaciones input[type="button"] {
    min-width: 200px;
    min-height: 52px;
    padding: 13px 28px;
    color: #fff !important;
    font: 900 .9rem "Inter", "Segoe UI", Arial, sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    border: 0 !important;
    border-radius: 999px;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%) !important;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .2);
}
.page-votaciones #cuerpo form > table > tbody > tr:last-child > td,
.page-votaciones #cuerpo > table > tbody > tr:last-child > td { text-align: center; }
.page-votaciones .votacion-status {
    display: grid;
    gap: 8px;
    padding: 25px 28px;
    border: 1px solid #f1bdc5;
    border-left: 7px solid #cf2743;
    border-radius: 18px;
    background: #fff3f5;
    box-shadow: 0 16px 38px rgba(73, 35, 45, .09);
}
.page-votaciones .votacion-status strong { color: #8e1f31; font-size: 1.1rem; }
.page-votaciones .votacion-status span { color: #71303b; line-height: 1.55; }

@media (max-width: 820px) {
    .page-votaciones #cuerpo { padding: 20px 14px 36px; }
    .page-votaciones #cuerpo table td { padding: 18px 16px; }
    .page-votaciones-consejo #cuerpo form > table > tbody > tr:nth-child(3) { display: block; }
    .page-votaciones-consejo #cuerpo form > table > tbody > tr:nth-child(3) > td {
        display: block;
        width: 100%;
    }
}

/* Evaluación: resumen de seguimiento para jefatura de departamento */
.page-evaluacion-resumen-jefedpto #cuerpo {
	box-sizing: border-box;
	padding: clamp(24px, 4vw, 52px);
	background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-form,
.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-form {
	display: block;
	width: min(1050px, 100%);
	margin: 0 auto 30px;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-table,
.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-table {
	width: 100% !important;
	height: auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff !important;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-table td,
.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-table td {
	box-sizing: border-box;
	padding: 15px 16px !important;
	color: var(--davinci-ink) !important;
	background: #fff !important;
	border: 0 !important;
	border-bottom: 1px solid var(--davinci-line) !important;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-table tr:first-child td,
.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-table tr:first-child td {
	padding: 23px 24px !important;
	text-align: center;
	background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
}

.page-evaluacion-resumen-jefedpto .Estilo5 {
	display: block;
	color: var(--davinci-ink) !important;
	font-size: clamp(1.3rem, 2.3vw, 2rem) !important;
	font-weight: 900;
	letter-spacing: .045em;
	line-height: 1.15;
	text-transform: uppercase;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-table select {
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	padding: 9px 13px;
	color: var(--davinci-ink);
	font: inherit;
	background: #fff;
	border: 1px solid var(--davinci-line);
	border-radius: 12px;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-table tr:last-child td {
	padding: 18px 22px 24px !important;
	text-align: center;
	border-bottom: 0 !important;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-table-wrap {
	width: 100%;
	overflow: hidden;
	border-radius: 22px;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-table {
	min-width: 0;
	table-layout: fixed;
	font-size: .9rem;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-table tr:nth-child(n+3) td {
	overflow-wrap: anywhere;
	word-break: normal;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-table tr:nth-child(2) td {
	padding: 13px 8px !important;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-table tr:nth-child(2) td div,
.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-table tr:nth-child(2) td p {
	margin: 0;
	font-size: 12px;
	line-height: 1.3;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-table tr:nth-child(2) td {
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .025em;
	text-transform: uppercase;
	background: #f3f7fb !important;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-result-table tr:last-child td {
	border-bottom: 0 !important;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-empty td {
	padding: 44px 24px !important;
	text-align: center;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-empty strong,
.page-evaluacion-resumen-jefedpto .evaluacion-resumen-empty span {
	display: block;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-empty-icon {
	display: grid !important;
	width: 52px;
	height: 52px;
	margin: 0 auto 14px;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 900;
	place-items: center;
	background: var(--davinci-cyan);
	border-radius: 50%;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-empty strong {
	margin-bottom: 7px;
	font-size: 1.05rem;
}

.page-evaluacion-resumen-jefedpto .evaluacion-resumen-empty strong + span {
	color: var(--davinci-muted);
}

@media (max-width: 700px) {
	.page-evaluacion-resumen-jefedpto #cuerpo {
		padding: 18px 12px;
	}

	.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-table,
	.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-table tbody,
	.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-table tr,
	.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-table td {
		display: block;
		width: 100% !important;
	}

	.page-evaluacion-resumen-jefedpto .evaluacion-resumen-filter-table td {
		padding: 9px 18px !important;
		border-bottom: 0 !important;
	}
}

/* Plan de Lectura: vista de coordinación */
.page-planlectura-coordinador #cuerpo {
    box-sizing: border-box;
    padding: 34px 28px 52px;
    background: linear-gradient(180deg, #f4f8fc 0%, #edf5fa 100%);
}
.page-planlectura-coordinador .planlectura-coordinador-form {
    width: min(100%, 1180px);
    margin: 0 auto;
}
.page-planlectura-coordinador .planlectura-coordinador-card {
    width: 100% !important;
    overflow: hidden;
    border: 1px solid #cfe0ec !important;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 28px;
    background: #fff !important;
    box-shadow: 0 20px 48px rgba(24, 66, 92, .12);
}
.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:first-child > td {
    padding: 25px 22px !important;
    text-align: center;
    background: linear-gradient(110deg, #dff5f7 0%, #fde8f1 100%) !important;
    border: 0 !important;
}
.page-planlectura-coordinador .planlectura-coordinador-card .Estilo5 {
    color: #082b56;
    font: 900 clamp(1.45rem, 3vw, 2rem) "Inter", "Segoe UI", Arial, sans-serif;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td {
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
}
.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table {
    width: 100% !important;
    border: 0 !important;
    border-collapse: collapse;
}
.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:first-child {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    padding: 26px 30px 18px;
}
.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:first-child td {
    display: grid;
    grid-template-columns: auto minmax(180px, 1fr);
    align-items: center;
    gap: 14px;
    width: auto !important;
    padding: 0 !important;
    color: #0c2445;
    font: 900 .9rem "Inter", "Segoe UI", Arial, sans-serif;
    border: 0 !important;
    background: transparent !important;
}
.page-planlectura-coordinador select {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    color: #102a43;
    font: 500 1rem "Inter", "Segoe UI", Arial, sans-serif;
    border: 1px solid #c5d9e8;
    border-radius: 14px;
    background: #fff;
}
.page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:last-child td {
    padding: 0 30px 26px !important;
    text-align: center;
    border: 0 !important;
}
.page-planlectura-coordinador input[type="submit"] {
    min-width: 210px;
    min-height: 52px;
    padding: 13px 28px;
    color: #fff !important;
    font: 900 .88rem "Inter", "Segoe UI", Arial, sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    border: 0 !important;
    border-radius: 999px;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%) !important;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .2);
}
.page-planlectura-coordinador .planlectura-results-scroll {
    overflow-x: auto;
    margin: 0;
    border-top: 1px solid #d7e4ed;
}
.page-planlectura-coordinador .planlectura-results {
    width: 100%;
    min-width: 780px;
    border: 0 !important;
    border-collapse: collapse;
}
.page-planlectura-coordinador .planlectura-results td {
    padding: 14px 16px;
    color: #102a43;
    font: 500 .9rem "Inter", "Segoe UI", Arial, sans-serif;
    text-align: left;
    border: 0 !important;
    border-bottom: 1px solid #dbe7ef !important;
    background: #fff !important;
}
.page-planlectura-coordinador .planlectura-results tr:first-child td {
    color: #082b56;
    font-weight: 900;
    text-align: center;
    background: linear-gradient(110deg, #e2f5f7 0%, #faeaf1 100%) !important;
}
.page-planlectura-coordinador .planlectura-results tr:nth-child(2) td {
    color: #36566f;
    line-height: 1.55;
    background: #f7fafc !important;
}
.page-planlectura-coordinador .planlectura-results tr:nth-child(3) td {
    color: #082b56;
    font-weight: 900;
    background: #eef7fa !important;
}

@media (max-width: 760px) {
    .page-planlectura-coordinador #cuerpo { padding: 18px 12px 36px; }
    .page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:first-child {
        grid-template-columns: 1fr;
        padding: 22px 18px 14px;
    }
    .page-planlectura-coordinador .planlectura-coordinador-card > tbody > tr:nth-child(2) > td > table tr:first-child td {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/* Bolsa de empleo: titulados, importacion y traspaso de alumnos */
.page-bolsa-gestion #cuerpo {
    box-sizing: border-box;
    padding: clamp(22px, 3.5vw, 44px);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-bolsa-gestion .bolsa-card {
    display: block;
    width: min(1060px, 100%);
    margin: 0 auto 32px;
    overflow: hidden;
    color: #18313a;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    background: #fff;
    border: 1px solid rgba(0, 138, 169, .16);
    border-radius: 26px;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-bolsa-gestion .bolsa-card > table {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    color: #18313a;
    font-family: inherit;
    border: 0 !important;
    border-collapse: collapse;
    background: #fff !important;
}

.page-bolsa-gestion .bolsa-card > table td {
    box-sizing: border-box;
    color: #18313a !important;
    font-family: inherit;
    border-color: #d7e3ee !important;
    background: #fff !important;
}

.page-bolsa-gestion .bolsa-title-table td,
.page-bolsa-gestion .bolsa-import-table > tbody > tr:first-child > td,
.page-bolsa-gestion .bolsa-students-table > tbody > tr:first-child > td {
    padding: clamp(20px, 2.8vw, 32px) 26px !important;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e3ee !important;
}

html body.page-envio-titulados .bolsa-card > .bolsa-title-table > tbody > tr > td {
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
}

.page-bolsa-gestion .bolsa-title-table strong,
.page-bolsa-gestion .bolsa-import-table .Estilo5,
.page-bolsa-gestion .bolsa-students-table .Estilo5 {
    color: #0c2445 !important;
    font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.15;
    text-transform: uppercase;
}

.page-envio-titulados .bolsa-specialties-table > tbody > tr:first-child td,
.page-envio-titulados .bolsa-message-table > tbody > tr:first-child td {
    padding: 18px 24px !important;
    color: #0c2445 !important;
    font-size: .92rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    background: #f4f8fb !important;
}

.page-envio-titulados .bolsa-specialties-table > tbody > tr:nth-child(2) td {
    padding: 13px 22px !important;
    color: #00687e !important;
    font-size: .8rem;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    background: #eef8fa !important;
}

.page-envio-titulados .bolsa-specialties-table > tbody > tr:nth-child(3) td {
    width: 50%;
    padding: 20px 28px !important;
    vertical-align: top;
}

.page-envio-titulados .bolsa-specialties-table input[type="checkbox"],
.page-pasar-alumnos input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 10px 0 0;
    vertical-align: middle;
    accent-color: #008aa9;
}

.page-envio-titulados .bolsa-specialties-table p {
    margin: 15px 0;
}

.page-envio-titulados .bolsa-message-table td {
    padding: 20px 28px !important;
}

.page-envio-titulados textarea,
.page-envio-titulados input[type="file"] {
    box-sizing: border-box;
    width: 100%;
    color: #18313a;
    font: inherit;
    background: #fff;
    border: 1px solid #bdd3d8;
    border-radius: 12px;
}

.page-envio-titulados textarea {
    min-height: 160px;
    padding: 14px;
    resize: vertical;
}

.page-envio-titulados input[type="file"] {
    margin: 8px 0;
    padding: 9px;
    background: #f7fafc;
}

.page-bolsa-gestion .bolsa-card input[type="submit"],
.page-bolsa-gestion .bolsa-card input[type="button"] {
    min-width: 150px;
    min-height: 46px;
    margin: 6px;
    padding: 12px 24px !important;
    color: #fff !important;
    font: inherit;
    font-size: .84rem;
    font-weight: 900;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%) !important;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}

.page-importar-tablas .bolsa-import-table > tbody > tr:nth-child(2) td {
    padding: 24px 30px !important;
    line-height: 1.5;
}

.page-importar-tablas .bolsa-import-table > tbody > tr:nth-child(2) p:first-child {
    color: #00687e;
    font-size: .9rem;
    text-transform: uppercase;
}

.page-importar-tablas .bolsa-import-table > tbody > tr:nth-child(2) p:not(:first-child) {
    margin: 14px 0;
    padding: 14px 17px;
    color: #405862;
    font-size: .86rem;
    background: #f6f9fc;
    border-left: 4px solid #008aa9;
    border-radius: 0 12px 12px 0;
}

.page-importar-tablas .bolsa-import-table > tbody > tr:last-child td,
.page-pasar-alumnos .bolsa-students-table > tbody > tr:last-child td {
    padding: 20px 24px !important;
    text-align: center;
    border-top: 1px solid #d7e3ee !important;
}

.page-pasar-alumnos .bolsa-students-table > tbody > tr:nth-child(2) > td {
    padding: 20px 26px 28px !important;
    color: #526b75 !important;
    font-size: .86rem;
    line-height: 1.45;
}

.page-bolsa-gestion .bolsa-note {
    box-sizing: border-box;
    margin-bottom: 4px;
    padding: 14px 17px;
    color: #38545e;
    text-align: left;
    background: #eef8fa;
    border: 1px solid #d4e7eb;
    border-radius: 14px;
}

.page-bolsa-gestion .bolsa-note strong,
.page-bolsa-gestion .bolsa-note span {
    display: block;
}

.page-bolsa-gestion .bolsa-note strong {
    margin-bottom: 3px;
    font-size: .9rem;
}

.page-bolsa-gestion .bolsa-note span {
    font-size: .82rem;
}

.page-pasar-alumnos .bolsa-groups-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.page-pasar-alumnos .bolsa-group-table {
    display: table;
    width: 100% !important;
    margin: 0 !important;
    vertical-align: top;
    color: #18313a;
    border: 1px solid #d7e3ee !important;
    border-collapse: collapse;
    border-radius: 14px;
    background: #fff;
}

.page-pasar-alumnos .bolsa-group-table tr:first-child td {
    padding: 12px 15px !important;
    color: #0c2445 !important;
    font-size: .82rem;
    font-weight: 900;
    background: linear-gradient(110deg, #e5f5f8, #f9edf3) !important;
}

.page-pasar-alumnos .bolsa-group-table tr:not(:first-child) td {
    padding: 10px 14px !important;
    color: #18313a !important;
    font-size: .84rem;
    border-bottom: 1px solid #e2e9f1 !important;
}

@media (max-width: 760px) {
    .page-bolsa-gestion #cuerpo { padding: 15px; }
    .page-envio-titulados .bolsa-specialties-table > tbody > tr:nth-child(3) td { display: block; width: 100%; }
    .page-pasar-alumnos .bolsa-groups-grid { grid-template-columns: 1fr; gap: 16px; }
    .page-pasar-alumnos .bolsa-group-table { display: table; width: 100% !important; margin: 0 !important; }
    .page-bolsa-gestion .bolsa-card input[type="submit"],
    .page-bolsa-gestion .bolsa-card input[type="button"] { width: 100%; margin: 6px 0; }
}

/* Seguimiento de grupos: filtros y resultados */
.page-seguimiento-grupos #cuerpo {
	box-sizing: border-box;
	padding: clamp(24px, 3.5vw, 48px);
	background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}
.page-seguimiento-grupos #cuerpo > p { display: none; }
.page-seguimiento-grupos .seguimiento-filter-card {
	width: min(960px, 100%) !important;
	height: auto !important;
	margin: 0 auto 34px !important;
	overflow: hidden;
	color: #18313a;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	border: 1px solid rgba(0, 138, 169, .16) !important;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff !important;
	border-radius: 26px;
	box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}
.page-seguimiento-grupos .seguimiento-filter-card td {
	box-sizing: border-box;
	padding: 26px 28px !important;
	color: #18313a !important;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	background: #fff !important;
	border: 0 !important;
	border-bottom: 1px solid #d7e3ee !important;
}
.page-seguimiento-grupos .seguimiento-filter-card tr:first-child td {
	padding: clamp(24px, 3vw, 34px) !important;
	text-align: center;
	background: linear-gradient(110deg, #dff3f6 0%, #f8e1ed 100%) !important;
}
.page-seguimiento-grupos .seguimiento-filter-card tr:first-child .Estilo5 {
	color: #0c2445 !important;
	font-size: clamp(1.4rem, 2.4vw, 2.05rem) !important;
	font-weight: 900;
	letter-spacing: .04em;
	line-height: 1.15;
	text-transform: uppercase;
}
.page-seguimiento-grupos .seguimiento-filter-card tr:nth-child(2) td {
	color: #0c2445 !important;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .035em;
	text-transform: uppercase;
	background: #f8fbfd !important;
}
.page-seguimiento-grupos .seguimiento-filter-card tr:nth-child(2) p { margin: 0; }
.page-seguimiento-grupos .seguimiento-filter-card select {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	margin-top: 9px;
	padding: 10px 14px;
	color: #18313a;
	font: inherit;
	font-size: .92rem;
	font-weight: 700;
	text-transform: none;
	background: #fff;
	border: 1px solid #c7d8e6;
	border-radius: 12px;
}
.page-seguimiento-grupos .seguimiento-filter-card tr:last-child td {
	padding: 22px 28px 28px !important;
	text-align: center;
	border-bottom: 0 !important;
}
.page-seguimiento-grupos .seguimiento-filter-card input[type="submit"] {
	min-width: 150px;
	min-height: 48px;
	padding: 13px 24px;
	color: #fff !important;
	font: inherit;
	font-size: .82rem;
	font-weight: 900;
	letter-spacing: .035em;
	text-transform: uppercase;
	cursor: pointer;
	background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%) !important;
	border: 0;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}
.page-seguimiento-grupos .seguimiento-results-table {
	width: min(1120px, 100%) !important;
	margin: 0 auto 34px !important;
	color: #18313a;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	table-layout: fixed;
	border: 1px solid #d7e3ee !important;
	border-collapse: collapse;
	background: #fff;
	box-shadow: 0 18px 42px rgba(20, 67, 78, .09);
}
.page-seguimiento-grupos .seguimiento-results-table td {
	box-sizing: border-box;
	padding: 12px 8px;
	color: #18313a;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	font-size: .76rem;
	line-height: 1.4;
	vertical-align: middle;
	background: #fff !important;
	border: 0 !important;
	border-right: 1px solid #dfe7ef !important;
	border-bottom: 1px solid #dfe7ef !important;
	white-space: normal !important;
	overflow-wrap: anywhere;
}
.page-seguimiento-grupos .seguimiento-results-table tr:first-child td {
	padding: 19px 14px;
	color: #0c2445;
	font-size: .95rem;
	font-weight: 900;
	letter-spacing: .035em;
	text-align: center;
	text-transform: uppercase;
	background: linear-gradient(110deg, #dff3f6 0%, #f8e1ed 100%) !important;
}
.page-seguimiento-grupos .seguimiento-results-table tr:nth-child(2) td,
.page-seguimiento-grupos .seguimiento-results-table tr:nth-child(3) td {
	color: #0c2445;
	font-size: .68rem;
	font-weight: 900;
	text-transform: uppercase;
	background: #f2f5fa !important;
}
.page-seguimiento-grupos .seguimiento-results-table tr:not(:first-child):not(:nth-child(2)):not(:nth-child(3)):hover td {
	background: #f2fafb !important;
}
.page-seguimiento-grupos .seguimiento-results-table tr:nth-last-child(2) td {
	color: #0c5063;
	font-weight: 900;
	background: #eaf6f8 !important;
}
.page-seguimiento-grupos .seguimiento-results-table tr:last-child td {
	padding: 16px;
	color: #66788a;
	font-size: .72rem;
	text-align: left;
	background: #f8fafc !important;
	border-bottom: 0 !important;
}
.page-seguimiento-grupos .seguimiento-results-table--evaluacion td {
	padding-right: 4px;
	padding-left: 4px;
	font-size: clamp(.58rem, .65vw, .72rem);
}
.page-seguimiento-grupos .seguimiento-results-table--evaluacion tr:last-child td {
	color: #0c5063;
	font-weight: 900;
	text-align: center;
	background: #eaf6f8 !important;
}

.page-seguimiento-grupos .seguimiento-results-table--evaluacion { display: none; }
.page-seguimiento-grupos .seguimiento-themed-results {
	width: min(1120px, 100%);
	margin: 0 auto 34px;
	overflow: hidden;
	color: #18313a;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	background: #fff;
	border: 1px solid #d7e3ee;
	border-radius: 24px;
	box-shadow: 0 18px 42px rgba(20, 67, 78, .09);
}
.page-seguimiento-grupos .seguimiento-themed-header {
	padding: 24px;
	text-align: center;
	background: linear-gradient(110deg, #dff3f6 0%, #f8e1ed 100%);
	border-bottom: 1px solid #d7e3ee;
}
.page-seguimiento-grupos .seguimiento-themed-header h1 {
	margin: 0;
	color: #0c2445;
	font-size: clamp(1.2rem, 2vw, 1.7rem);
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.page-seguimiento-grupos .seguimiento-themed-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	padding: 26px;
}
.page-seguimiento-grupos .seguimiento-theme-card {
	display: flex;
	overflow: hidden;
	flex-direction: column;
	border: 1px solid #d7e3ee;
	border-radius: 16px;
	background: #fff;
}
.page-seguimiento-grupos .seguimiento-theme-card--wide { grid-column: 1 / -1; }
.page-seguimiento-grupos .seguimiento-theme-card h2 {
	margin: 0;
	padding: 16px 18px;
	color: #0c5063;
	font-size: .88rem;
	font-weight: 900;
	letter-spacing: .055em;
	text-transform: uppercase;
	background: #eaf6f8;
	border-bottom: 1px solid #d7e3ee;
}
.page-seguimiento-grupos .seguimiento-theme-card table {
	flex: 1;
	width: 100%;
	height: 100%;
	margin: 0;
	font-family: inherit;
	table-layout: fixed;
	border: 0;
	border-collapse: collapse;
}
.page-seguimiento-grupos .seguimiento-theme-card th,
.page-seguimiento-grupos .seguimiento-theme-card td {
	box-sizing: border-box;
	padding: 12px 8px;
	color: #18313a;
	font-family: inherit;
	font-size: .72rem;
	line-height: 1.35;
	text-align: center;
	background: #fff;
	border: 0;
	border-right: 1px solid #e0e8ef;
	border-bottom: 1px solid #e0e8ef;
	white-space: normal;
	overflow-wrap: anywhere;
}

.page-seguimiento-grupos .seguimiento-theme-card th,
.page-seguimiento-grupos .seguimiento-results-table td {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}
.page-seguimiento-grupos .seguimiento-theme-card th {
	color: #0c2445;
	font-size: .64rem;
	font-weight: 900;
	text-transform: uppercase;
	background: #f3f6fa;
}
.page-seguimiento-grupos .seguimiento-theme-card th:last-child,
.page-seguimiento-grupos .seguimiento-theme-card td:last-child { border-right: 0; }
.page-seguimiento-grupos .seguimiento-theme-card tbody tr:hover td { background: #f3fafb; }
.page-seguimiento-grupos .seguimiento-theme-card .seguimiento-summary-row td {
	color: #0c5063;
	font-weight: 900;
	background: #eaf6f8;
	border-bottom: 0;
}
@media (max-width: 840px) {
	.page-seguimiento-grupos .seguimiento-themed-grid {
		grid-template-columns: 1fr;
		padding: 18px;
	}
	.page-seguimiento-grupos .seguimiento-theme-card--wide { grid-column: 1; }
}
@media (max-width: 720px) {
	.page-seguimiento-grupos #cuerpo { padding: 16px; }
	.page-seguimiento-grupos .seguimiento-filter-card tr:nth-child(2),
	.page-seguimiento-grupos .seguimiento-filter-card tr:nth-child(2) td {
		display: block;
		width: 100% !important;
	}
	.page-seguimiento-grupos .seguimiento-filter-card td { padding: 20px !important; }
}

/* Indicadores: listados de convivencia */
.page-indicadores-tablas #cuerpo {
	box-sizing: border-box;
	padding: clamp(24px, 3.5vw, 48px);
	background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-indicadores-tablas .indicadores-report-card {
	width: min(1180px, 100%);
	margin: 0 auto 36px;
	overflow: hidden;
	color: #18313a;
	background: #fff;
	border: 1px solid rgba(0, 138, 169, .16);
	border-radius: 26px;
	box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-indicadores-tablas .indicadores-report-header {
	padding: clamp(24px, 3vw, 34px);
	text-align: center;
	background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96));
	border-bottom: 1px solid #d7e3ee;
}

.page-indicadores-tablas .indicadores-report-header h1 {
	margin: 0;
	color: #0c2445;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	font-size: clamp(1.45rem, 2.4vw, 2.1rem);
	font-weight: 900;
	letter-spacing: .04em;
	line-height: 1.15;
	text-transform: uppercase;
}

.page-indicadores-tablas .indicadores-report-content {
	display: grid;
	gap: 30px;
	padding: clamp(22px, 3vw, 34px);
}

.page-indicadores-tablas .indicadores-report-table-wrap {
	overflow-x: auto;
	border: 1px solid #d7e3ee;
	border-radius: 18px;
}

.page-indicadores-tablas .indicadores-report-table {
	width: 100% !important;
	min-width: 880px;
	margin: 0 !important;
	color: #18313a;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	border: 0 !important;
	border-collapse: collapse;
	background: #fff;
}

.page-indicadores-tablas .indicadores-report-table td {
	box-sizing: border-box;
	padding: 13px 12px;
	color: #18313a;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	font-size: .82rem;
	line-height: 1.45;
	text-align: center;
	vertical-align: middle;
	background: #fff !important;
	border: 0 !important;
	border-right: 1px solid #e2e9f1 !important;
	border-bottom: 1px solid #e2e9f1 !important;
}

.page-indicadores-tablas .indicadores-report-table td:last-child {
	border-right: 0 !important;
}

.page-indicadores-tablas .indicadores-report-table tr:last-child td {
	border-bottom: 0 !important;
}

.page-indicadores-tablas .indicadores-report-table tr:first-child td {
	padding: 18px;
	color: #0c2445;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: .045em;
	text-transform: uppercase;
	background: #eaf6f8 !important;
}

.page-indicadores-tablas .indicadores-report-table tr:nth-child(2) td {
	color: #0c2445;
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .035em;
	text-transform: uppercase;
	background: #f3f7fb !important;
}

.page-indicadores-tablas .indicadores-report-table tr:nth-child(3) td {
	color: #607386;
	font-size: .68rem;
	font-weight: 900;
	text-transform: uppercase;
	background: #f8fafc !important;
}

.page-indicadores-tablas .indicadores-report-table tr:not(:first-child):not(:nth-child(2)):not(:nth-child(3)):hover td {
	background: #f0f9fa !important;
}

.page-indicadores-tablas .indicadores-report-table tr td:first-child {
	color: #00687e;
	font-weight: 900;
}

.page-indicadores-tablas .indicadores-report-table tr td:nth-last-child(-n+2) {
	font-weight: 900;
	background: #f7f1f6 !important;
}

.page-indicadores-tablas .indicadores-report-table p {
	margin: 4px 0;
	color: #66788a;
	font-size: .72rem;
	line-height: 1.35;
}

@media (max-width: 700px) {
	.page-indicadores-tablas #cuerpo { padding: 16px; }
	.page-indicadores-tablas .indicadores-report-content { padding: 18px; }
}

/* Indicadores: calibracion y faltas de asistencia */
.page-indicadores #cuerpo {
	box-sizing: border-box;
	padding: clamp(24px, 4vw, 52px);
	background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}
.page-indicadores .indicadores-card {
	width: min(980px, 100%);
	margin: 0 auto 36px;
	overflow: hidden;
	color: #18313a;
	text-align: left;
	background: #fff;
	border: 1px solid rgba(0, 138, 169, .16);
	border-radius: 26px;
	box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}
.page-indicadores .indicadores-card--wide { width: min(1120px, 100%); }
.page-indicadores .indicadores-header {
	padding: clamp(24px, 3vw, 36px);
	text-align: center;
	background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96));
	border-bottom: 1px solid #d7e3ee;
}
.page-indicadores .indicadores-kicker {
	display: inline-block;
	margin-bottom: 9px;
	color: #008aa9;
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.page-indicadores .indicadores-header h1 {
	margin: 0;
	color: #0c2445;
	font-size: clamp(1.45rem, 2.5vw, 2.15rem);
	font-weight: 900;
	letter-spacing: .045em;
	line-height: 1.12;
	text-transform: uppercase;
}
.page-indicadores .indicadores-header p {
	margin: 11px auto 0;
	color: #61747b;
	font-size: .92rem;
	line-height: 1.5;
}
.page-indicadores .indicadores-content { padding: clamp(22px, 3vw, 34px); }
.page-indicadores .indicadores-content > table {
	width: 100% !important;
	margin: 0 !important;
	border: 1px solid #d7e3ee !important;
	border-collapse: collapse;
	background: #fff;
}
.page-indicadores .indicadores-content > table td {
	padding: 13px 16px;
	color: #18313a;
	border: 0;
	border-bottom: 1px solid #e2e9f1;
	background: #fff !important;
}
.page-indicadores .indicadores-content > table tr:first-child td {
	padding: 16px 18px;
	color: #0c2445;
	font-size: .88rem;
	letter-spacing: .045em;
	text-transform: uppercase;
	background: #eef8fa !important;
}
.page-indicadores .indicadores-content > table tr:nth-child(2) td {
	color: #66788a;
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .055em;
	text-transform: uppercase;
	background: #f8fafc !important;
}
.page-indicadores .indicadores-content > table tr:hover td { background: #f2fafb !important; }
.page-indicadores .indicadores-table-separator { height: 26px; }
.page-indicadores .indicadores-empty { padding: 42px 20px; color: #66788a; text-align: center; }
.page-indicadores .indicadores-empty strong,
.page-indicadores .indicadores-empty span { display: block; }
.page-indicadores .indicadores-empty strong { margin-bottom: 7px; color: #0c2445; font-size: 1.05rem; }

.page-indicadores .indicadores-filter-form > table,
.page-indicadores .indicadores-periods {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
}
.page-indicadores .indicadores-filter-form > table > tbody > tr:first-child,
.page-indicadores .indicadores-periods > tbody > tr:first-child { display: none; }
.page-indicadores .indicadores-filter-form > table > tbody > tr > td {
	padding: 38px 24px !important;
	color: #18313a !important;
	text-align: center;
	background: #f8fbfd !important;
	border: 1px solid #d7e3ee !important;
	border-radius: 18px;
}
.page-indicadores .indicadores-filter-form .Estilo10 {
	display: inline-block;
	margin-right: 12px;
	color: #0c2445;
	font-size: .8rem;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.page-indicadores .indicadores-filter-form select {
	min-width: 145px;
	min-height: 48px;
	padding: 10px 14px;
	color: #18313a;
	font: inherit;
	font-weight: 700;
	background: #fff;
	border: 1px solid #c7d8e6;
	border-radius: 12px;
}
.page-indicadores .indicadores-filter-form input[type="submit"],
.page-indicadores .indicadores-change {
	display: inline-block;
	min-height: 46px;
	margin-top: 18px;
	padding: 13px 24px;
	color: #fff !important;
	font: inherit;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .035em;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}
.page-indicadores .indicadores-results { text-align: center; }
.page-indicadores .indicadores-periods > tbody > tr:nth-child(2) > td {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}
.page-indicadores .indicadores-periods table {
	width: 100% !important;
	border-collapse: separate;
	border-spacing: 0 12px;
}
.page-indicadores .indicadores-periods table td { padding: 0; border: 0; }
.page-indicadores .indicadores-periods table a {
	display: block;
	padding: 20px 22px;
	color: #0c2445;
	font-size: .9rem;
	font-weight: 900;
	letter-spacing: .035em;
	text-align: left;
	text-decoration: none;
	background: #f8fbfd;
	border: 1px solid #d7e3ee;
	border-radius: 15px;
	transition: transform .2s, border-color .2s, box-shadow .2s;
}
.page-indicadores .indicadores-periods table a::after {
	float: right;
	color: #d10067;
	font-size: 1.2rem;
	content: "\2192";
}
.page-indicadores .indicadores-periods table a:hover {
	transform: translateY(-2px);
	border-color: #82c8d4;
	box-shadow: 0 12px 28px rgba(20, 67, 78, .10);
}
.page-indicadores .indicadores-filter-form > p { display: none; }

@media (max-width: 700px) {
	.page-indicadores #cuerpo { padding: 16px; }
	.page-indicadores .indicadores-content { padding: 18px; }
	.page-indicadores .indicadores-content > table { min-width: 650px; }
	.page-indicadores .indicadores-card--wide .indicadores-content { overflow-x: auto; }
	.page-indicadores .indicadores-filter-form .Estilo10 { display: block; margin: 0 0 10px; }
}

/* Tutores: formularios de comunicación y atención a familias */
.page-tutores-form #cuerpo {
    box-sizing: border-box;
    padding: clamp(24px, 4vw, 52px);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-tutores-form #cuerpo > p:first-of-type,
.page-tutores-form .tutores-form-card > p {
    display: none;
}

.page-tutores-form .tutores-form-card {
    display: block;
    width: min(920px, 100%);
    margin: 0 auto 34px;
    overflow: hidden;
    color: #18313a;
    background: #fff;
    border: 1px solid rgba(0, 138, 169, .16);
    border-radius: 26px;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-tutores-form .tutores-success {
    display: flex;
    align-items: center;
    gap: 14px;
    box-sizing: border-box;
    width: min(920px, 100%);
    margin: 0 auto 18px;
    padding: 15px 18px;
    color: #245b39;
    text-align: left;
    background: #f0faf4;
    border: 1px solid #cce8d6;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(44, 119, 73, .08);
}

.page-tutores-form .tutores-success-icon {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    color: #fff;
    font-size: 1.15rem;
    font-weight: 900;
    place-items: center;
    background: #43a66b;
    border-radius: 50%;
}

.page-tutores-form .tutores-success div > strong,
.page-tutores-form .tutores-success div > span {
    display: block;
}

.page-tutores-form .tutores-success strong {
    margin-bottom: 3px;
    color: #257346;
    font-size: .95rem;
}

.page-tutores-form .tutores-success div > span {
    color: #587064;
    font-size: .84rem;
}

.page-tutores-form .tutores-warning {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: min(920px, 100%);
    margin: 0 auto 18px;
    padding: 15px 18px;
    color: #8b2530;
    text-align: left;
    background: #fff3f4;
    border: 1px solid #efc7cc;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(139, 37, 48, .07);
}

.page-tutores-form .tutores-warning strong,
.page-tutores-form .tutores-warning span {
    display: block;
}

.page-tutores-form .tutores-warning strong {
    margin-bottom: 3px;
    font-size: .95rem;
}

.page-tutores-form .tutores-warning span {
    color: #80525a;
    font-size: .84rem;
}

.page-tutores-form .tutores-warning--access {
    margin-top: 10px;
}

.page-tutores-form .tutores-form-table {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent !important;
}

.page-tutores-form .tutores-form-table > tbody > tr > td {
    box-sizing: border-box;
    height: auto !important;
    padding: 22px 28px !important;
    color: #18313a !important;
    text-align: left;
    vertical-align: middle;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e6e9 !important;
}

.page-tutores-form .tutores-form-table > tbody > tr:first-child > td {
    padding: clamp(18px, 2.2vw, 26px) 24px !important;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
    border-bottom: 1px solid #d7e3ee !important;
}

.page-tutores-form .tutores-form-table > tbody > tr:last-child > td {
    border-bottom: 0 !important;
}

.page-tutores-form .tutores-form-table .Estilo5 {
    display: block;
    color: #0c2445 !important;
    font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
    font-weight: 900;
    letter-spacing: .055em;
    line-height: 1.1;
    text-transform: uppercase;
}

.page-tutores-form .tutores-form-table p {
    margin: 0 0 16px;
}

.page-tutores-form .tutores-form-table p:last-child {
    margin-bottom: 0;
}

.page-tutores-form .tutores-form-table strong {
    color: #0c2445;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.page-tutores-form .tutores-form-table select,
.page-tutores-form .tutores-form-table textarea,
.page-tutores-form .tutores-form-table input[type="file"] {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    margin: 6px 4px;
    padding: 10px 13px;
    color: #18313a;
    font: inherit;
    background: #fff;
    border: 1px solid #bdd3d8;
    border-radius: 11px;
    transition: border-color .2s, box-shadow .2s;
}

.page-tutores-form .tutores-form-table select {
    min-width: min(100%, 340px);
}

.page-tutores-form .tutores-form-table textarea {
    display: block;
    width: 100%;
    min-height: 150px;
    margin: 10px 0 20px;
    resize: vertical;
}

.page-tutores-form .tutores-form-table input[type="file"] {
    width: min(100%, 560px);
    padding: 7px 10px;
    background: #f7fafc;
}

.page-tutores-edulectura .tutores-file-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 7px;
}

.page-tutores-edulectura .tutores-file-row strong {
	display: grid;
	grid-template-columns: 1fr;
	gap: 5px;
}

.page-tutores-edulectura .tutores-field-help {
	color: #617780;
	font-size: .82rem;
}

.page-tutores-form .tutores-form-table select:focus,
.page-tutores-form .tutores-form-table textarea:focus,
.page-tutores-form .tutores-form-table input[type="file"]:focus {
    border-color: #008aa9;
    box-shadow: 0 0 0 4px rgba(0, 138, 169, .13);
    outline: 0;
}

.page-tutores-form .tutores-form-table .boton {
    min-width: 118px;
    min-height: 44px;
    margin: 0;
    padding: 11px 22px !important;
    color: #fff !important;
    font-size: .84rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%) !important;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
    transition: transform .18s, box-shadow .18s;
}

.page-tutores-form .tutores-form-table .boton:hover,
.page-tutores-form .tutores-form-table .boton:focus {
    animation: none !important;
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(228, 0, 103, .26);
}

.page-tutores-form .tutores-form-table td > div[align="center"] {
    text-align: center;
}

@media (max-width: 700px) {
    .page-tutores-form #cuerpo {
        padding: 16px;
    }

    .page-tutores-form .tutores-form-table > tbody > tr > td {
        padding: 18px !important;
    }

    .page-tutores-form .tutores-form-table select,
    .page-tutores-form .tutores-form-table input[type="file"] {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

/* Tutores: historial y resumen de disciplina */
.page-tutores-disciplina #cuerpo {
    box-sizing: border-box;
    padding: clamp(24px, 4vw, 52px);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-tutores-disciplina .tutores-disciplina-card {
    display: block;
    width: min(1120px, 100%);
    margin: 0 auto 34px;
    overflow: hidden;
    color: #18313a;
    background: #fff;
    border: 1px solid rgba(0, 138, 169, .16);
    border-radius: 26px;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-tutores-disciplina .tutores-disciplina-table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff !important;
}

.page-tutores-disciplina .tutores-disciplina-table > tbody > tr > td {
    box-sizing: border-box;
    height: auto !important;
    padding: 20px 24px !important;
    color: #18313a !important;
    vertical-align: middle;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e6e9 !important;
}

.page-tutores-disciplina .tutores-disciplina-table > tbody > tr:first-child > td {
    padding: clamp(18px, 2.2vw, 26px) 24px !important;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
    border-bottom: 1px solid #d7e3ee !important;
}

.page-tutores-disciplina .tutores-disciplina-table .Estilo5 {
    display: block;
    color: #0c2445 !important;
    font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.15;
    text-transform: uppercase;
}

.page-tutores-disciplina .tutores-disciplina-table .Estilo2,
.page-tutores-disciplina .tutores-disciplina-table p {
    color: #0c2445 !important;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.page-tutores-disciplina .tutores-disciplina-table p {
    margin: 14px 0 0;
}

.page-tutores-disciplina .tutores-disciplina-table select {
    box-sizing: border-box;
    min-width: 180px;
    min-height: 44px;
    margin: 6px 12px 6px 6px;
    padding: 10px 38px 10px 13px;
    color: #18313a;
    font: inherit;
    font-weight: 400;
    text-transform: none;
    background: #fff;
    border: 1px solid #bdd3d8;
    border-radius: 11px;
}

.page-tutores-disciplina .tutores-disciplina-table table {
    width: 100% !important;
    margin: 0;
    color: #18313a;
    border: 0 !important;
    border-collapse: collapse;
    background: #fff !important;
}

.page-tutores-disciplina .tutores-disciplina-table table td {
    box-sizing: border-box;
    height: auto !important;
    padding: 14px 16px !important;
    color: #18313a !important;
    line-height: 1.45;
    vertical-align: top;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e6e9 !important;
    overflow-wrap: anywhere;
}

.page-tutores-disciplina .tutores-disciplina-table table tr:first-child td,
.page-tutores-disciplina .tutores-disciplina-table table tr:nth-child(2) td:has(> strong) {
    color: #0c2445 !important;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    background: #f5f8fc !important;
}

.page-tutores-disciplina .tutores-disciplina-table table tr:first-child td:has(select) {
    padding: 12px 16px !important;
    text-align: left;
    background: #f8fbfd !important;
}

.page-tutores-disciplina .tutores-disciplina-table table strong {
    color: #0c2445;
    font-weight: 900;
}

.page-tutores-disciplina .tutores-disciplina-incidencias {
    table-layout: fixed;
}

.page-tutores-disciplina .tutores-disciplina-incidencias td:nth-child(1) {
    width: 9%;
}

.page-tutores-disciplina .tutores-disciplina-incidencias td:nth-child(2) {
    width: 11%;
}

.page-tutores-disciplina .tutores-disciplina-incidencias td:nth-child(3) {
    width: 17%;
}

.page-tutores-disciplina .tutores-disciplina-incidencias td:nth-child(4) {
    width: 34%;
}

.page-tutores-disciplina .tutores-disciplina-incidencias td:nth-child(5) {
    width: 10%;
}

.page-tutores-disciplina .tutores-disciplina-incidencias td:nth-child(6) {
    width: 19%;
}

.page-tutores-disciplina .tutores-disciplina-incidencias tr:nth-child(2) td {
    padding-right: 10px !important;
    padding-left: 10px !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.page-tutores-disciplina .tutores-disciplina-summary-card .tutores-disciplina-table > tbody > tr:nth-child(3) > td {
    color: #0c2445 !important;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
    background: #f5f8fc !important;
}

.page-tutores-disciplina .tutores-disciplina-summary-card .tutores-disciplina-table > tbody > tr:nth-child(n+4) > td {
    padding: 13px 16px !important;
    text-align: center;
}

.page-tutores-disciplina .tutores-disciplina-summary-card .tutores-disciplina-table > tbody > tr:nth-child(n+4) > td:first-child {
    text-align: left;
}

@media (max-width: 760px) {
    .page-tutores-disciplina #cuerpo {
        padding: 16px;
    }

    .page-tutores-disciplina .tutores-disciplina-card {
        overflow-x: auto;
    }

    .page-tutores-disciplina .tutores-disciplina-table {
        min-width: 760px;
    }
}

/* Ajustes de convivencia: tablas completas y paleta azul */
body.page-indicadores-tablas {
	background: #eef4fa !important;
}

.page-indicadores-tablas #borde,
.page-indicadores-tablas #contenedor,
.page-indicadores-tablas #cuerpo {
	background-color: #f4f7fb !important;
}

.page-indicadores-tablas .indicadores-report-header {
	background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
}

.page-indicadores-tablas .indicadores-report-content {
	padding-right: 20px;
	padding-left: 20px;
}

.page-indicadores-tablas .indicadores-report-table-wrap {
	overflow-x: visible;
}

.page-indicadores-tablas .indicadores-report-table {
	width: 100% !important;
	min-width: 0 !important;
	table-layout: fixed;
}

.page-indicadores-tablas .indicadores-report-table td {
	min-width: 0 !important;
	padding: 11px 6px;
	font-size: clamp(.68rem, .72vw, .8rem);
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

.page-indicadores-tablas .indicadores-report-table tr:first-child td {
	padding: 17px 10px;
	color: #0c5063;
	background: #e7f4f7 !important;
}

.page-indicadores-tablas .indicadores-report-table tr:nth-child(2) td {
	padding: 13px 5px;
	background: #edf4fa !important;
}

.page-indicadores-tablas .indicadores-report-table tr:nth-child(3) td {
	padding: 12px 4px;
	font-size: clamp(.6rem, .66vw, .7rem);
	background: #f5f8fc !important;
}

.page-indicadores-tablas .indicadores-report-table tr td:nth-last-child(-n+2) {
	background: #edf6f8 !important;
}

.page-indicadores-tablas .indicadores-report-table tr:first-child td:nth-last-child(-n+2) {
	background: #e7f4f7 !important;
}

.page-indicadores-tablas .indicadores-report-table tr:nth-child(2) td:nth-last-child(-n+2) {
	background: #e2eef7 !important;
}

.page-indicadores-tablas .indicadores-report-table tr:nth-child(3) td:nth-last-child(-n+2) {
	background: #edf3f8 !important;
}

@media (max-width: 700px) {
	.page-indicadores-tablas .indicadores-report-content {
		padding-right: 10px;
		padding-left: 10px;
	}

	.page-indicadores-tablas .indicadores-report-table td {
		padding-right: 3px;
		padding-left: 3px;
		font-size: .6rem;
	}
}

/* Paleta de tablas coherente con Amonestaciones anteriores */
.page-indicadores-tablas .indicadores-report-table tr:first-child td,
.page-indicadores-tablas .indicadores-report-table tr:first-child td:nth-last-child(-n+2) {
	color: #0c2445;
	background: linear-gradient(110deg, #dff3f6 0%, #f8e1ed 100%) !important;
}

.page-indicadores-tablas .indicadores-report-table tr:nth-child(2) td,
.page-indicadores-tablas .indicadores-report-table tr:nth-child(2) td:nth-last-child(-n+2) {
	color: #0c2445;
	background: #f2f5fa !important;
}

.page-indicadores-tablas .indicadores-report-table tr:nth-child(3) td,
.page-indicadores-tablas .indicadores-report-table tr:nth-child(3) td:nth-last-child(-n+2) {
	color: #5f7085;
	background: #f7f9fc !important;
}

.page-indicadores-tablas .indicadores-report-table tr:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) td {
	background: #fff !important;
}

.page-indicadores-tablas .indicadores-report-table tr:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) td:nth-last-child(-n+2) {
	background: #f8f3f7 !important;
}

.page-indicadores-tablas .indicadores-report-table tr:not(:first-child):not(:nth-child(2)):not(:nth-child(3)):hover td {
	background: #f4fafb !important;
}

.page-indicadores-tablas .indicadores-report-table tr:not(:first-child):not(:nth-child(2)):not(:nth-child(3)):hover td:nth-last-child(-n+2) {
	background: #f4edf3 !important;
}

/* Faltas de asistencia: tarjetas de informes por periodo */
.page-indicadores .indicadores-course-heading {
	margin-bottom: 24px;
	text-align: center;
}

.page-indicadores .indicadores-course-heading span,
.page-indicadores .indicadores-course-heading strong {
	display: block;
}

.page-indicadores .indicadores-course-heading span {
	margin-bottom: 6px;
	color: #008aa9;
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.page-indicadores .indicadores-course-heading strong {
	color: #0c2445;
	font-size: 1.35rem;
	font-weight: 900;
}

.page-indicadores .indicadores-period-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.page-indicadores .indicadores-period-card {
	display: flex;
	box-sizing: border-box;
	min-height: 230px;
	padding: 22px;
	flex-direction: column;
	color: #18313a !important;
	text-decoration: none !important;
	background: linear-gradient(145deg, #fff 0%, #f4fafb 100%);
	border: 1px solid #d5e4eb;
	border-radius: 20px;
	box-shadow: 0 12px 28px rgba(20, 67, 78, .08);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.page-indicadores a.indicadores-period-card:hover {
	transform: translateY(-4px);
	border-color: #83cbd7;
	box-shadow: 0 18px 38px rgba(20, 67, 78, .14);
}

.page-indicadores .indicadores-period-number {
	display: grid;
	width: 48px;
	height: 48px;
	margin-bottom: 26px;
	color: #fff;
	font-size: .9rem;
	font-weight: 900;
	place-items: center;
	background: linear-gradient(135deg, #008aa9, #00687e);
	border-radius: 15px;
}

.page-indicadores .indicadores-period-copy {
	display: block;
	flex: 1;
}

.page-indicadores .indicadores-period-copy strong,
.page-indicadores .indicadores-period-copy small {
	display: block;
}

.page-indicadores .indicadores-period-copy strong {
	color: #0c2445;
	font-size: .95rem;
	font-weight: 900;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.page-indicadores .indicadores-period-copy small {
	margin-top: 9px;
	color: #66788a;
	font-size: .82rem;
	line-height: 1.5;
}

.page-indicadores .indicadores-period-status {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 20px;
	padding-top: 16px;
	font-size: .73rem;
	font-weight: 900;
	letter-spacing: .035em;
	text-transform: uppercase;
	border-top: 1px solid #dce6ed;
}

.page-indicadores .indicadores-period-status--available { color: #008aa9; }
.page-indicadores .indicadores-period-status--available b { color: #d10067; font-size: 1.2rem; }

.page-indicadores .indicadores-period-card--empty {
	color: #7a8793 !important;
	background: #f5f7f9;
	border-color: #e0e5e9;
	box-shadow: none;
}

.page-indicadores .indicadores-period-card--empty .indicadores-period-number {
	color: #7b8790;
	background: #e3e8ec;
}

.page-indicadores .indicadores-period-card--empty .indicadores-period-copy strong { color: #687681; }
.page-indicadores .indicadores-period-status--empty { color: #8b5b65; }
.page-indicadores .indicadores-results > .indicadores-change { margin-top: 28px; }

.page-indicadores .indicadores-period-grid--fct {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-indicadores .indicadores-period-grid--fct .indicadores-period-card {
	min-height: 220px;
}

.page-indicadores .indicadores-filter--fct {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) auto;
	gap: 28px;
	align-items: end;
	max-width: 760px;
	margin: 12px auto;
	padding: 30px;
	background: #f8fbfd;
	border: 1px solid #d7e3ee;
	border-radius: 18px;
}

.page-indicadores .indicadores-filter--fct button {
	margin: 0;
	white-space: nowrap;
}

/* Indicadores: encuestas de satisfaccion */
.page-encuestas-satisfaccion .indicadores-results--satisfaccion {
	text-align: left;
}

.page-encuestas-satisfaccion .indicadores-report-group {
	margin-top: 28px;
	padding: 24px;
	background: #f8fbfd;
	border: 1px solid #d7e3ee;
	border-radius: 20px;
}

.page-encuestas-satisfaccion .indicadores-report-group:first-of-type {
	margin-top: 0;
}

.page-encuestas-satisfaccion .indicadores-report-group h2 {
	margin: 0 0 18px;
	color: #00687e;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	font-size: .88rem;
	font-weight: 900;
	letter-spacing: .085em;
	text-transform: uppercase;
}

.page-encuestas-satisfaccion .indicadores-period-grid--satisfaccion {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-encuestas-satisfaccion .indicadores-period-grid--satisfaccion .indicadores-period-card {
	min-height: 205px;
	background: #fff;
}

.page-encuestas-satisfaccion .indicadores-period-grid--satisfaccion .indicadores-period-card--empty {
	background: #f3f6f8;
}

.page-encuestas-satisfaccion .indicadores-results--satisfaccion > .indicadores-change {
	display: table;
	margin: 30px auto 0;
}

/* Indicadores: listado de accesos */
.page-listado-accesos .accesos-results {
	text-align: left;
}

.page-listado-accesos .accesos-table-wrap {
	overflow: hidden;
	border: 1px solid #d7e3ee;
	border-radius: 18px;
	box-shadow: 0 10px 26px rgba(20, 67, 78, .06);
}

.page-listado-accesos .accesos-table {
	width: 100%;
	margin: 0;
	color: #18313a;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	border: 0;
	border-collapse: collapse;
	background: #fff;
}

.page-listado-accesos .accesos-table th,
.page-listado-accesos .accesos-table td {
	box-sizing: border-box;
	padding: 14px 20px;
	text-align: left;
	border: 0;
	border-bottom: 1px solid #e1e9f0;
}

.page-listado-accesos .accesos-table thead th {
	color: #0c2445;
	font-size: .75rem;
	font-weight: 900;
	letter-spacing: .065em;
	text-transform: uppercase;
	background: #edf7f9;
}

.page-listado-accesos .accesos-table th:last-child,
.page-listado-accesos .accesos-table td:last-child {
	width: 190px;
	text-align: center;
}

.page-listado-accesos .accesos-table tbody td {
	color: #213944;
	font-size: .9rem;
	background: #fff;
}

.page-listado-accesos .accesos-table tbody td:last-child {
	color: #00687e;
	font-weight: 900;
}

.page-listado-accesos .accesos-table tbody tr:hover td {
	background: #f3fafb;
}

.page-listado-accesos .accesos-table .accesos-table-empty td {
	padding: 34px 20px;
	color: #66788a;
	font-weight: 600;
	text-align: center;
}

.page-listado-accesos .accesos-table tfoot th,
.page-listado-accesos .accesos-table tfoot td {
	padding-top: 17px;
	padding-bottom: 17px;
	color: #0c2445;
	font-size: .84rem;
	font-weight: 900;
	text-transform: uppercase;
	background: linear-gradient(110deg, #e4f4f7, #f7e9f0);
	border-bottom: 0;
}

.page-listado-accesos .accesos-results > .indicadores-change {
	display: table;
	margin: 28px auto 0;
}

/* Indicadores: listados de mantenimiento */
.page-listado-mantenimiento .mantenimiento-results {
	text-align: left;
}

.page-listado-mantenimiento .mantenimiento-table-wrap {
	overflow: hidden;
	border: 1px solid #d7e3ee;
	border-radius: 18px;
	box-shadow: 0 10px 26px rgba(20, 67, 78, .06);
}

.page-listado-mantenimiento .mantenimiento-table {
	width: 100%;
	table-layout: fixed;
	margin: 0;
	color: #18313a;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	border: 0;
	border-collapse: collapse;
	background: #fff;
}

.page-listado-mantenimiento .mantenimiento-table th,
.page-listado-mantenimiento .mantenimiento-table td {
	box-sizing: border-box;
	padding: 13px 11px;
	line-height: 1.42;
	text-align: left;
	vertical-align: middle;
	border: 0;
	border-right: 1px solid #e1e9f0;
	border-bottom: 1px solid #e1e9f0;
}

.page-listado-mantenimiento .mantenimiento-table th:last-child,
.page-listado-mantenimiento .mantenimiento-table td:last-child {
	border-right: 0;
}

.page-listado-mantenimiento .mantenimiento-table thead th {
	padding-right: 7px;
	padding-left: 7px;
	color: #0c2445;
	font-size: .64rem;
	font-weight: 900;
	letter-spacing: .025em;
	overflow-wrap: normal;
	word-break: normal;
	text-transform: uppercase;
	background: #edf7f9;
}

.page-listado-mantenimiento .mantenimiento-table thead th:nth-child(1) { width: 8%; }
.page-listado-mantenimiento .mantenimiento-table thead th:nth-child(2) { width: 9%; }
.page-listado-mantenimiento .mantenimiento-table thead th:nth-child(3) { width: 18%; }
.page-listado-mantenimiento .mantenimiento-table thead th:nth-child(4) { width: 40%; }
.page-listado-mantenimiento .mantenimiento-table thead th:nth-child(5) { width: 13%; }
.page-listado-mantenimiento .mantenimiento-table thead th:nth-child(6) { width: 12%; }

.page-listado-mantenimiento .mantenimiento-table th:nth-child(6),
.page-listado-mantenimiento .mantenimiento-table td:nth-child(6) {
	padding-right: 6px;
	padding-left: 6px;
	text-align: center;
}

.page-listado-mantenimiento .mantenimiento-table tbody td {
	color: #253e49;
	font-size: .76rem;
	overflow-wrap: anywhere;
	background: #fff;
}

.page-listado-mantenimiento .mantenimiento-table tbody td:first-child {
	color: #00687e;
	font-weight: 900;
}

.page-listado-mantenimiento .mantenimiento-table tbody tr:hover td {
	background: #f3fafb;
}

.page-listado-mantenimiento .mantenimiento-status {
	display: inline-block;
	padding: 6px 7px;
	font-size: .6rem;
	font-weight: 900;
	letter-spacing: .035em;
	white-space: nowrap;
	text-transform: uppercase;
	border-radius: 999px;
}

.page-listado-mantenimiento .mantenimiento-status--pending {
	color: #a33a58;
	background: #faeaf0;
	border: 1px solid #efc9d6;
}

.page-listado-mantenimiento .mantenimiento-status--done {
	color: #256a4c;
	background: #eaf7f0;
	border: 1px solid #c6e5d4;
}

.page-listado-mantenimiento .mantenimiento-table tfoot th,
.page-listado-mantenimiento .mantenimiento-table tfoot td {
	padding-top: 16px;
	padding-bottom: 16px;
	color: #0c2445;
	font-size: .75rem;
	font-weight: 900;
	text-transform: uppercase;
	background: linear-gradient(110deg, #e4f4f7, #f7e9f0);
	border-bottom: 0;
}

.page-listado-mantenimiento .mantenimiento-table tfoot td {
	font-size: .9rem;
	text-align: center;
}

.page-listado-mantenimiento .mantenimiento-results > .indicadores-change {
	display: table;
	margin: 28px auto 0;
}

.page-listado-mantenimiento .mantenimiento-empty {
	background: #f8fbfd;
	border: 1px solid #d7e3ee;
	border-radius: 18px;
}

/* Indicadores: prevencion de riesgos laborales */
.page-prevencion-riesgos .prl-heading {
	margin-bottom: 28px;
}

.page-prevencion-riesgos .indicadores-period-grid--prl {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 760px;
	margin: 0 auto;
}

.page-prevencion-riesgos .indicadores-period-grid--prl .indicadores-period-card {
	min-height: 210px;
}

.page-prevencion-riesgos .indicadores-period-grid--prl .indicadores-period-number {
	width: 58px;
	font-size: .72rem;
}

@media (max-width: 860px) {
	.page-indicadores .indicadores-period-grid { grid-template-columns: 1fr; }
	.page-indicadores .indicadores-period-card { min-height: 190px; }

	.page-indicadores .indicadores-filter--fct {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.page-indicadores .indicadores-filter--fct button {
		width: fit-content;
	}

	.page-encuestas-satisfaccion .indicadores-period-grid--satisfaccion {
		grid-template-columns: 1fr;
	}

	.page-encuestas-satisfaccion .indicadores-report-group {
		padding: 18px;
	}

	.page-listado-accesos .accesos-table th,
	.page-listado-accesos .accesos-table td {
		padding: 12px 14px;
	}

	.page-listado-accesos .accesos-table th:last-child,
	.page-listado-accesos .accesos-table td:last-child {
		width: 130px;
	}

	.page-listado-mantenimiento .mantenimiento-table-wrap {
		overflow: visible;
		border: 0;
		box-shadow: none;
	}

	.page-listado-mantenimiento .mantenimiento-table,
	.page-listado-mantenimiento .mantenimiento-table tbody,
	.page-listado-mantenimiento .mantenimiento-table tr,
	.page-listado-mantenimiento .mantenimiento-table td {
		display: block;
		width: 100%;
	}

	.page-listado-mantenimiento .mantenimiento-table thead {
		display: none;
	}

	.page-listado-mantenimiento .mantenimiento-table tbody tr {
		margin-bottom: 16px;
		overflow: hidden;
		background: #fff;
		border: 1px solid #d7e3ee;
		border-radius: 16px;
		box-shadow: 0 8px 22px rgba(20, 67, 78, .06);
	}

	.page-listado-mantenimiento .mantenimiento-table tbody td {
		display: grid;
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 12px;
		padding: 11px 14px;
		border-right: 0;
	}

	.page-listado-mantenimiento .mantenimiento-table tbody td::before {
		color: #607386;
		font-size: .62rem;
		font-weight: 900;
		letter-spacing: .04em;
		text-transform: uppercase;
		content: attr(data-label);
	}

	.page-listado-mantenimiento .mantenimiento-table tfoot {
		display: table;
		width: 100%;
		overflow: hidden;
		border-radius: 14px;
	}

	.page-prevencion-riesgos .indicadores-period-grid--prl {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 861px) and (max-width: 1180px) {
	.page-indicadores .indicadores-period-grid--fct {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.page-encuestas-satisfaccion .indicadores-period-grid--satisfaccion {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Ajustes finales de Indicadores: tipografia comun y menu en una linea */
.page-indicadores,
.page-indicadores .indicadores-card,
.page-indicadores .indicadores-header,
.page-indicadores .indicadores-content,
.page-indicadores .indicadores-content table,
.page-indicadores .indicadores-content th,
.page-indicadores .indicadores-content td,
.page-indicadores .indicadores-content select,
.page-indicadores .indicadores-content input,
.page-indicadores .indicadores-content button {
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

.page-indicadores .indicadores-header h1 {
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	font-weight: 900;
}

.page-indicadores .indicadores-content > table tr:first-child td {
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	font-weight: 900;
}

.page-indicadores .indicadores-content > table tr:nth-child(2) td,
.page-indicadores .indicadores-content > table tr:not(:first-child):not(:nth-child(2)) td {
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

/* Ajuste del bloque de reunión de departamento en seguimiento cualitativo */
.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting {
	display: block;
	width: 100%;
	margin: 0;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-panel {
	margin: 0;
	padding: 0;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-panel h2 {
	display: inline-flex;
	align-items: center;
	margin: 0 0 28px;
	padding: 10px 22px;
	border-radius: 999px;
	background: rgba(214, 241, 246, .78);
	color: var(--davinci-teal);
	font-family: inherit;
	font-size: .98rem;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(260px, 1fr));
	gap: 22px 34px;
	align-items: center;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-grid label {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	margin: 0;
	color: var(--davinci-ink);
	font-weight: 900;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-grid label > span {
	line-height: 1.2;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-date-field {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-date-field input {
	flex: 1 1 auto;
	min-width: 0;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-date-field #selector {
	width: 48px !important;
	height: 48px !important;
	flex: 0 0 48px;
	padding: 8px;
	border: 1px solid #cfe0f2;
	border-radius: 16px;
	background: rgba(224, 247, 250, .72);
	box-shadow: 0 8px 20px rgba(2, 132, 160, .12);
	cursor: pointer;
	object-fit: contain;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-note {
	margin: 24px 0 0;
	padding: 16px 18px;
	border-left: 5px solid var(--davinci-teal);
	border-radius: 16px;
	background: linear-gradient(110deg, rgba(223, 243, 247, .78), rgba(252, 231, 241, .82));
	color: #5e6b83;
	font-weight: 800;
	line-height: 1.45;
	text-align: left;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-note strong {
	color: var(--davinci-ink);
	text-transform: uppercase;
	letter-spacing: .05em;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-actions {
	display: flex;
	justify-content: center;
	padding: 28px 0 0;
}

@media (max-width: 760px) {
	.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-grid,
	.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-grid label {
		grid-template-columns: 1fr;
	}

	.page-evaluacion-jefdpto .evaluacion-jefdpto-date-field {
		align-items: stretch;
	}
}

/* Tutores: alta y listado de reuniones con familias */
.page-tutores-reuniones #cuerpo {
    box-sizing: border-box;
    padding: clamp(24px, 4vw, 52px);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-tutores-reuniones #cuerpo > p:first-of-type,
.page-tutores-reuniones .tutores-reuniones-card > p {
    display: none;
}

.page-tutores-reuniones .tutores-reuniones-card {
    display: block;
    width: min(1040px, 100%);
    margin: 0 auto 34px;
    overflow: hidden;
    color: #18313a;
    background: #fff;
    border: 1px solid rgba(0, 138, 169, .16);
    border-radius: 26px;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-tutores-reuniones .tutores-reuniones-table {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent !important;
}

.page-tutores-reuniones .tutores-reuniones-table > tbody > tr > td {
    box-sizing: border-box;
    height: auto !important;
    padding: 20px 26px !important;
    color: #18313a !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e6e9 !important;
    vertical-align: middle;
}

.page-tutores-reuniones .tutores-reuniones-table > tbody > tr:first-child > td {
    padding: clamp(18px, 2.2vw, 26px) 24px !important;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
    border-bottom: 1px solid #d7e3ee !important;
}

.page-tutores-reuniones .tutores-reuniones-table .Estilo5 {
    display: block;
    color: #0c2445 !important;
    font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
    font-weight: 900;
    letter-spacing: .055em;
    line-height: 1.1;
    text-transform: uppercase;
}

.page-tutores-reuniones .tutores-reuniones-table p {
    margin: 0;
}

.page-tutores-reuniones .tutores-reunion-primary-row > td {
    vertical-align: top !important;
}

.page-tutores-reuniones .tutores-reunion-primary-row p {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page-tutores-reuniones .tutores-reunion-primary-row select {
    width: 100%;
    margin: 0;
}

.page-tutores-reuniones .tutores-reunion-date-field {
    vertical-align: top !important;
}

.page-tutores-reuniones .tutores-reunion-date-field > strong {
    display: block;
    margin-bottom: 8px;
}

.page-tutores-reuniones .tutores-reunion-date-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 46px;
    align-items: center;
    gap: 10px;
}

.page-tutores-reuniones .tutores-reunion-date-control input {
    width: 100%;
    margin: 0;
}

.page-tutores-reuniones .tutores-reuniones-table strong {
    color: #0c2445;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.page-tutores-reuniones .tutores-reuniones-table input[type="text"],
.page-tutores-reuniones .tutores-reuniones-table select,
.page-tutores-reuniones .tutores-reuniones-table textarea {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    margin: 6px;
    padding: 10px 13px;
    color: #18313a;
    font: inherit;
    background: #fff;
    border: 1px solid #bdd3d8;
    border-radius: 11px;
}

.page-tutores-reuniones .tutores-reuniones-table input[readonly] {
    font-weight: 700;
    background: #f5f8fc;
}

.page-tutores-reuniones .tutores-reuniones-table textarea {
    display: block;
    width: 100%;
    min-height: 140px;
    margin: 10px 0 0;
    resize: vertical;
}

.page-tutores-reuniones .tutores-reuniones-table img[id="selector"] {
    box-sizing: border-box;
    width: 46px;
    height: 46px;
    padding: 8px;
    vertical-align: middle;
    cursor: pointer;
    background: #eef8fa;
    border: 1px solid #d4e5e9;
    border-radius: 12px;
}

.page-tutores-reuniones .tutores-reuniones-table input[type="submit"],
.page-tutores-reuniones .tutores-reuniones-table .boton {
    min-width: 120px;
    min-height: 44px;
    padding: 11px 20px !important;
    color: #fff !important;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%) !important;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}

.page-tutores-reuniones .tutores-reuniones-table table {
    width: 100% !important;
    margin: 0;
    color: #18313a;
    border: 0 !important;
    border-collapse: collapse;
    background: #fff !important;
}

.page-tutores-reuniones .tutores-reuniones-table table td {
    padding: 14px 16px;
    color: #18313a;
    line-height: 1.45;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e6e9 !important;
}

.page-tutores-reuniones .tutores-reuniones-table table tr:first-child td {
    color: #0c2445;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
    background: #f5f8fc !important;
}

.page-tutores-reuniones .tutores-reuniones-table table a {
    color: #00687e;
    font-weight: 900;
    text-decoration: none;
}

.page-tutores-reuniones .tutores-reuniones-table table a:hover {
    color: #d10067;
    text-decoration: underline;
}

.page-tutores-reuniones .tutores-reuniones-empty {
    padding: 30px 20px;
    color: #61747b;
    text-align: center;
}

.page-tutores-reuniones .tutores-reuniones-empty-icon {
    display: grid;
    width: 50px;
    height: 50px;
    margin: 0 auto 14px;
    color: #00687e;
    font-size: 1.45rem;
    place-items: center;
    background: #e8f5f7;
    border-radius: 50%;
}

.page-tutores-reuniones .tutores-reuniones-empty strong,
.page-tutores-reuniones .tutores-reuniones-empty > span:not(.tutores-reuniones-empty-icon) {
    display: block;
}

.page-tutores-reuniones .tutores-reuniones-empty strong {
    margin-bottom: 6px;
    color: #0c2445;
    font-size: 1rem;
    letter-spacing: normal;
    text-transform: none;
}

.page-tutores-reuniones #detalle-reunion {
    scroll-margin-top: 18px;
}

.page-tutores-reuniones .tutores-success {
    display: flex;
    align-items: center;
    gap: 14px;
    box-sizing: border-box;
    width: min(1040px, 100%);
    margin: 0 auto 18px;
    padding: 15px 18px;
    color: #245b39;
    text-align: left;
    background: #f0faf4;
    border: 1px solid #cce8d6;
    border-radius: 14px;
}

.page-tutores-reuniones .tutores-success-icon {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    color: #fff;
    font-weight: 900;
    place-items: center;
    background: #43a66b;
    border-radius: 50%;
}

.page-tutores-reuniones .tutores-success div > strong,
.page-tutores-reuniones .tutores-success div > span {
    display: block;
}

@media (max-width: 700px) {
    .page-tutores-reuniones #cuerpo {
        padding: 16px;
    }

    .page-tutores-reuniones .tutores-reuniones-table > tbody > tr > td {
        display: block;
        width: 100% !important;
        padding: 18px !important;
    }
}

/* Seguimiento cualitativo para jefatura de departamento */
.page-evaluacion-jefdpto #cuerpo {
	padding: 44px 30px 56px;
}

.page-evaluacion-jefdpto #cuerpo > p {
	display: none;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card {
	width: min(100%, 980px) !important;
	height: auto !important;
	margin: 0 auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 18px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff !important;
	box-shadow: 0 22px 48px rgba(23, 32, 51, 0.10);
	color: var(--davinci-ink);
	font-family: inherit;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:first-child > td {
	padding: 30px 24px;
	border: 0 !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.14), rgba(209, 0, 103, 0.12)) !important;
	text-align: center;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card .Estilo5 {
	color: var(--davinci-ink) !important;
	font-family: inherit;
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:nth-child(2) {
	display: grid;
	grid-template-columns: repeat(2, minmax(220px, 1fr));
	gap: 18px;
	padding: 28px;
	background: #ffffff;
	align-items: center;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:nth-child(2) > td {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: #ffffff !important;
	color: var(--davinci-ink) !important;
	font-size: 1rem;
	font-weight: 900;
	text-transform: uppercase;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:nth-child(2) > td p {
	display: contents;
	margin: 0;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card select,
.page-evaluacion-jefdpto .evaluacion-jefdpto-card input[type="text"] {
	width: 100% !important;
	min-width: 0;
	height: 54px;
	padding: 0 16px;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(23, 32, 51, 0.05) inset;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1.05rem;
	font-weight: 800;
	box-sizing: border-box;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:nth-child(2) select {
	max-width: 320px;
	flex: 1 1 220px;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:nth-child(3) > td,
.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:last-child > td {
	padding: 0 28px 32px !important;
	border: 0 !important;
	background: #ffffff !important;
	text-align: center;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
	min-width: 150px;
	border: 0 !important;
	border-radius: 999px;
	padding: 15px 30px;
	background: linear-gradient(135deg, #ef5200, #d10067) !important;
	color: #ffffff !important;
	box-shadow: 0 18px 36px rgba(209, 0, 103, 0.22);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.1;
	cursor: pointer;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:has(.evaluacion-jefdpto-meeting-table) > td {
	padding: 28px !important;
	border: 0 !important;
	border-top: 1px solid var(--davinci-line) !important;
	background: #ffffff !important;
	color: var(--davinci-ink) !important;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:has(.evaluacion-jefdpto-meeting-table) b {
	display: inline-flex;
	align-items: center;
	margin-bottom: 18px;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(0, 138, 169, 0.10);
	color: #008aa9;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table,
.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table tbody,
.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table tr {
	display: block;
	width: 100% !important;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table {
	display: grid !important;
	gap: 28px;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table tr:first-child {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(240px, 1fr));
	gap: 18px;
	align-items: start;
	margin-bottom: 0 !important;
	min-height: 68px;
	position: relative;
	z-index: 2;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table td {
	border: 0 !important;
	background: transparent !important;
	color: var(--davinci-ink) !important;
	font-weight: 800;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table tr:first-child td {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) 48px;
	align-items: center;
	gap: 10px;
	width: auto !important;
	padding: 0 !important;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table tr:first-child td:last-child {
	grid-template-columns: 170px minmax(0, 1fr);
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table tr:first-child td input[type="text"] {
	min-width: 0;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table #selector {
	width: 48px !important;
	height: 48px !important;
	padding: 8px;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	background: rgba(0, 138, 169, 0.08);
	cursor: pointer;
	object-fit: contain;
	box-sizing: border-box;
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table tr:last-child td {
	display: block;
	margin-top: 0;
	padding: 16px 18px !important;
	border-left: 5px solid #008aa9 !important;
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.10)) !important;
	color: #5e6b83 !important;
	font-weight: 700;
	line-height: 1.45;
	clear: both;
	position: relative;
	z-index: 1;
	width: 100% !important;
	white-space: normal;
	text-align: left;
}

@media (max-width: 760px) {
	.page-evaluacion-jefdpto #cuerpo {
		padding: 24px 16px 42px;
	}

	.page-evaluacion-jefdpto .evaluacion-jefdpto-card,
	.page-evaluacion-jefdpto .evaluacion-jefdpto-card tbody,
	.page-evaluacion-jefdpto .evaluacion-jefdpto-card tr,
	.page-evaluacion-jefdpto .evaluacion-jefdpto-card td {
		display: block !important;
		width: 100% !important;
		box-sizing: border-box;
	}

	.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:nth-child(2),
	.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table tr:first-child {
		display: grid !important;
		grid-template-columns: 1fr;
		padding: 22px;
	}

	.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:nth-child(2) > td,
	.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table tr:first-child td,
	.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table tr:first-child td:last-child {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 8px;
		text-align: left;
	}

	.page-evaluacion-jefdpto .evaluacion-jefdpto-meeting-table #selector {
		margin-top: 2px;
	}
}

* {
	box-sizing: border-box;
}

html {
	min-height: 100%;
	height: auto;
}

body {
	min-height: 100vh;
	height: auto;
	margin: 0;
	padding: 24px;
	background: linear-gradient(135deg, #f8fbff 0%, #eef4f8 100%);
	color: var(--davinci-ink);
	font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	text-align: left;
}

a {
	color: var(--davinci-cyan);
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

a:hover,
a:focus {
	color: var(--davinci-pink);
	text-decoration: none;
}

#borde {
	width: min(1180px, 100%);
	min-height: calc(100vh - 48px);
	height: auto;
	margin: 0 auto;
	text-align: left;
}

#contenedor {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
	width: 100%;
	min-height: calc(100vh - 48px);
	height: auto;
	padding: 0;
	overflow: visible;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(217, 226, 238, 0.95);
	border-radius: 22px;
	box-shadow: var(--davinci-shadow);
}

#foto {
	position: relative;
	width: 100%;
	min-height: 118px;
	height: auto;
	padding: 24px 28px 24px 150px;
	border: 0;
	background:
		linear-gradient(110deg, rgba(23, 32, 51, 0.54), rgba(0, 138, 169, 0.24)),
		url(../imagenes/fondoleonardo1.jpg) left center/cover no-repeat;
	color: #fff;
	cursor: pointer;
}

#foto::before {
	content: "";
	position: absolute;
	left: 28px;
	top: 50%;
	width: 92px;
	height: 92px;
	transform: translateY(-50%);
	background: #fff url(../imagenes/logo.jpg) center/contain no-repeat;
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

#foto::after {
	content: "Sistema de Gestión de Calidad";
	display: block;
	max-width: 680px;
	padding-top: 6px;
	font-size: clamp(1.5rem, 2.5vw, 2.25rem);
	font-weight: 750;
	letter-spacing: -0.02em;
}

#navegador {
	width: 100%;
	min-height: 58px;
	padding: 10px 16px;
	background: var(--davinci-white);
	border-top: 0;
	border-bottom: 1px solid var(--davinci-line);
	box-shadow: 0 1px 0 rgba(217, 226, 238, 0.5);
}

#cuerpo,
#cuerpo_e,
#cuerpo_i,
#cuerpo_d {
	float: none;
	height: auto;
	min-height: 560px;
	margin: 0;
	padding: 32px;
	background: var(--davinci-soft);
	border: 0;
	color: var(--davinci-ink);
	overflow-x: auto;
	overflow-y: auto;
}

#cuerpo {
	flex: 1 1 0;
	width: auto;
}

#cuerpo_e {
	flex: 1 1 0;
	width: auto;
}

#cuerpo_i,
#cuerpo_d {
	flex: 1 1 50%;
	width: 50%;
	background: #f8fbff;
	border-right: 1px solid var(--davinci-line);
}

#lateral,
#lateral_ancho {
	float: none;
	width: 260px;
	height: auto;
	min-height: 560px;
	padding: 18px 18px;
	background: #ffffff;
	border: 0;
	border-left: 1px solid var(--davinci-line);
	color: var(--davinci-ink);
}

#pie {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 18px 28px;
	border-top: 1px solid var(--davinci-line);
	background: #ffffff;
	color: var(--davinci-muted);
	font-size: 0.92rem;
	text-align: right;
}

#titulo {
	width: 100%;
	margin: 0 0 24px;
	padding: 18px 20px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-left: 5px solid var(--davinci-pink);
	border-radius: 14px;
	color: var(--davinci-ink);
	font-size: 1.15rem;
	box-shadow: 0 10px 30px rgba(23, 32, 51, 0.06);
}

h1,
h2,
h3 {
	color: var(--davinci-ink);
	font-weight: 750;
	letter-spacing: -0.02em;
}

h1[align="center"] {
	max-width: 760px;
	margin: 0 auto 28px;
	font-size: clamp(1.65rem, 3vw, 2.45rem);
	line-height: 1.15;
}

table {
	max-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #ffffff;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(23, 32, 51, 0.08);
}

td,
th {
	border-color: var(--davinci-line) !important;
	vertical-align: middle;
}

input,
select,
textarea,
button {
	max-width: 100%;
	font: inherit;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="date"],
select,
textarea,
.nav {
	width: 100%;
	min-height: 42px;
	padding: 9px 12px;
	background: #ffffff;
	border: 1px solid #cfd8e6;
	border-radius: 10px;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 0.98rem;
	outline: 0;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus,
.nav:focus {
	border-color: var(--davinci-cyan);
	box-shadow: 0 0 0 0.25rem rgba(0, 138, 169, 0.16);
}

input[type="submit"],
input[type="button"],
button,
.boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 10px 18px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--davinci-orange), var(--davinci-pink));
	color: #ffffff !important;
	font-family: inherit;
	font-size: 0.98rem;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(209, 0, 103, 0.23);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

input[type="submit"]:hover,
input[type="button"]:hover,
button:hover,
.boton:hover {
	transform: translateY(-1px);
	filter: brightness(1.03);
	box-shadow: 0 14px 30px rgba(209, 0, 103, 0.28);
}

.title,
.celda_tit,
.celda,
.celdasub,
.celda1,
.celda2,
.icelda2,
.celda3,
.icelda3,
.celda4,
.icelda4,
.celdab {
	font-family: inherit;
	color: var(--davinci-ink);
}

.title {
	padding: 12px;
	background: #eef7f9;
	color: var(--davinci-ink);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.celda_tit {
	background: #f5f8fc;
	padding: 14px;
	text-align: center;
}

.celda,
.celdasub,
.celda1,
.celda2,
.icelda2,
.celda3,
.icelda3,
.celda4,
.icelda4,
.celdab {
	padding: 12px;
	background: #ffffff;
	font-size: 0.95rem;
	font-weight: 600;
}

.celda4,
.icelda4 {
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08));
	border-radius: 12px;
	color: var(--davinci-ink);
}

.titlat {
	margin: 0 0 10px;
	padding: 10px 12px;
	background: linear-gradient(135deg, var(--davinci-cyan), var(--davinci-pink));
	border-radius: 12px;
	color: #ffffff;
	font-family: inherit;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.promo,
.cuerpolateral {
	color: var(--davinci-muted);
	font-family: inherit;
	font-size: 0.92rem;
}

.app-sidebar-user,
#lateral > div[align="center"],
#lateral_ancho > div[align="center"],
.welcome-user {
	display: grid;
	justify-items: center;
	gap: 10px;
	margin-bottom: 12px;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
}

.app-sidebar-user img,
#lateral > div[align="center"] img,
#lateral_ancho > div[align="center"] img,
.welcome-user img {
	width: 84px;
	height: 84px;
	object-fit: cover;
	border: 4px solid #ffffff;
	border-radius: 24px;
	box-shadow: 0 12px 28px rgba(23, 32, 51, 0.16);
}

#lateral br,
#lateral_ancho br {
	display: none;
}

.sidebar-block {
	margin: 0;
}

.sidebar-block + .sidebar-block {
	margin-top: 10px;
}

#lateral .titlat,
#lateral_ancho .titlat {
	display: block;
	margin: 10px 0 6px;
	padding: 8px 10px;
	background: linear-gradient(135deg, var(--davinci-cyan), var(--davinci-pink));
	border-radius: 12px;
	color: #ffffff;
	font-family: inherit;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

#lateral .promo,
#lateral_ancho .promo,
#lateral .cuerpolateral,
#lateral_ancho .cuerpolateral {
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 0.94rem;
	line-height: 1.45;
}

#lateral #dia,
#lateral #hora,
#lateral_ancho #dia,
#lateral_ancho #hora {
	display: block;
	padding: 8px 10px;
	background: #f7fafc;
	border: 1px solid var(--davinci-line);
	border-radius: 12px;
	color: var(--davinci-ink);
	font-weight: 800;
	text-align: center;
}

#lateral #ejercicios,
#lateral_ancho #ejercicios {
	padding: 10px;
	background: #f7fafc;
	border: 1px solid var(--davinci-line);
	border-radius: 12px;
}

#lateral #exp,
#lateral_ancho #exp {
	color: var(--davinci-muted);
	font-family: inherit;
	font-size: 0.92rem;
}

.logout-card {
	width: min(560px, 100%);
	margin: 42px auto;
	padding: clamp(24px, 4vw, 38px);
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 22px;
	box-shadow: 0 18px 46px rgba(23, 32, 51, 0.12);
	text-align: center;
}

.logout-card h1 {
	margin: 0 0 24px;
	font-size: clamp(1.8rem, 4vw, 2.45rem);
	line-height: 1.1;
}

.page-documentacion #cuerpo {
	padding: 32px;
	overflow-x: hidden;
}

.page-documentacion #cuerpo > form,
.page-documentacion #cuerpo > table,
.page-documentacion #cuerpo > .titlat,
.page-documentacion #cuerpo > h1,
.page-documentacion #cuerpo > h2,
.page-documentacion #cuerpo > h3 {
	clear: both;
}

.page-documentacion #titulo,
.page-documentacion #cuerpo > .titlat,
.page-documentacion #cuerpo h1.titlat,
.page-documentacion #cuerpo h2,
.page-documentacion #cuerpo h3 {
	box-sizing: border-box;
	display: block;
	width: min(1120px, 100%);
	margin: 0 0 22px;
	padding: clamp(20px, 2.6vw, 30px);
	color: #0c2445;
	font-family: inherit;
	font-size: clamp(1.35rem, 2.3vw, 1.9rem);
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	letter-spacing: .035em;
	text-transform: uppercase;
	background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96));
	border: 1px solid rgba(0, 138, 169, .16);
	border-radius: 24px;
	box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-documentacion #titulo,
.page-documentacion #cuerpo > .titlat { margin-right: auto; margin-left: auto; }

/* El titulo forma parte de la misma tarjeta que su tabla o formulario. */
.page-documentacion #cuerpo > #titulo,
.page-documentacion #cuerpo > .titlat,
.page-documentacion #cuerpo > h1.titlat,
.page-documentacion #cuerpo > h2,
.page-documentacion #cuerpo > h3 {
	width: min(1100px, 100%);
	margin: 0 auto;
	border-bottom: 0;
	border-radius: 24px 24px 0 0;
	box-shadow: 0 14px 34px rgba(20, 67, 78, .08);
}

.page-documentacion #cuerpo > #titulo + table,
.page-documentacion #cuerpo > .titlat + table,
.page-documentacion #cuerpo > h2 + table,
.page-documentacion #cuerpo > h3 + table {
	margin-top: 0 !important;
	border-top: 0 !important;
	border-radius: 0 0 18px 18px;
}

.page-documentacion #cuerpo > .titlat + form,
.page-documentacion #cuerpo > h1.titlat + form,
.page-documentacion #cuerpo > h2 + form,
.page-documentacion #cuerpo > h3 + form {
	box-sizing: border-box;
	width: min(1100px, 100%);
	margin-top: 0;
	border-top: 0;
	border-radius: 0 0 18px 18px;
}

.page-documentacion #cuerpo form,
.page-documentacion #cuerpo .doc-card {
	width: min(980px, 100%);
	margin: 0 auto 24px;
	padding: 22px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(23, 32, 51, 0.08);
}

.page-documentacion #cuerpo > .documentacion-filter-form {
	width: min(1100px, 100%);
}

.page-documentacion #cuerpo .documentacion-delete-table {
	width: 100% !important;
	height: auto !important;
}

.page-documentacion #cuerpo .documentacion-action-row td {
	padding: 22px !important;
	text-align: center;
	background: #f8fbfd !important;
}

.page-documentacion #cuerpo .documentacion-action-row input[type="submit"] {
	min-width: 190px;
	min-height: 48px;
	margin: 0;
	padding: 13px 28px;
	line-height: 1.2;
}

.page-documentacion #cuerpo form > div[align="center"],
.page-documentacion #cuerpo form p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 14px;
}

.page-documentacion #cuerpo table {
	width: min(1100px, 100%) !important;
	max-width: 100% !important;
	margin: 0 auto 22px !important;
	background: #ffffff;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(23, 32, 51, 0.08);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.page-documentacion #cuerpo td,
.page-documentacion #cuerpo th {
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: normal;
}

.page-documentacion #cuerpo .celda_tit,
.page-documentacion #cuerpo .title {
	background: #eef7f9 !important;
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-size: 0.92rem !important;
	font-weight: 850 !important;
	line-height: 1.25 !important;
	text-align: left;
	border-color: var(--davinci-line) !important;
	padding: 14px !important;
	vertical-align: top;
}

.page-documentacion #cuerpo .celda,
.page-documentacion #cuerpo .celda1,
.page-documentacion #cuerpo .celda2,
.page-documentacion #cuerpo .celda3,
.page-documentacion #cuerpo .celda4,
.page-documentacion #cuerpo .celdab {
	background: #ffffff !important;
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-size: 0.94rem !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
	border-color: var(--davinci-line) !important;
	padding: 14px !important;
	vertical-align: top;
}

.page-documentacion #cuerpo .celda3 {
	background: #f7fafc !important;
	color: var(--davinci-cyan) !important;
	text-align: center;
}

.page-documentacion #cuerpo .rojo {
	display: table-cell;
	padding: 14px;
	background: #fff4f6 !important;
	color: #b42335 !important;
	border-radius: 0;
	font-family: inherit !important;
	font-weight: 800;
}

.page-documentacion #cuerpo a {
	color: var(--davinci-cyan);
	font-weight: 800;
}

.page-documentacion #cuerpo a:hover,
.page-documentacion #cuerpo a:focus {
	color: var(--davinci-pink);
}

.page-documentacion #cuerpo input[type="submit"],
.page-documentacion #cuerpo input[type="button"],
.page-documentacion #cuerpo input[type="reset"],
.page-documentacion #cuerpo button {
	min-width: 120px;
	width: auto;
	padding: 12px 18px;
	background: linear-gradient(135deg, var(--davinci-orange), var(--davinci-pink)) !important;
	border: 0 !important;
	border-radius: 999px;
	color: #ffffff !important;
	font-family: inherit;
	font-weight: 850;
	box-shadow: 0 12px 28px rgba(209, 0, 103, 0.20);
}

.page-documentacion #cuerpo select,
.page-documentacion #cuerpo textarea,
.page-documentacion #cuerpo input[type="text"],
.page-documentacion #cuerpo input[type="file"],
.page-documentacion #cuerpo input:not([type]),
.page-documentacion #cuerpo input[type="number"],
.page-documentacion #cuerpo input[type="date"] {
	width: auto;
	max-width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	background: #ffffff !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 12px;
	color: var(--davinci-ink) !important;
	font-family: inherit;
	font-weight: 650;
	box-shadow: inset 0 1px 2px rgba(23, 32, 51, 0.04);
}

.page-documentacion #cuerpo td select,
.page-documentacion #cuerpo td textarea,
.page-documentacion #cuerpo td input[type="text"],
.page-documentacion #cuerpo td input[type="file"],
.page-documentacion #cuerpo td input:not([type]),
.page-documentacion #cuerpo td input[type="number"],
.page-documentacion #cuerpo td input[type="date"] {
	width: 100%;
}

.page-documentacion #cuerpo input[type="file"] {
	max-width: 100%;
}

.page-documentacion #cuerpo textarea {
	width: min(100%, 720px);
	min-height: 110px;
}

.page-documentacion #cuerpo select:focus,
.page-documentacion #cuerpo textarea:focus,
.page-documentacion #cuerpo input:focus {
	border-color: rgba(0, 138, 169, 0.55) !important;
	box-shadow: 0 0 0 4px rgba(0, 138, 169, 0.12);
	outline: 0;
}

.page-documentacion #cuerpo p,
.page-documentacion #cuerpo label {
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1rem;
}

.page-documentacion #cuerpo br {
	display: none;
}

.page-documentacion #cuerpo .titlat + input[type="button"],
.page-documentacion #cuerpo .titlat input[type="button"] {
	margin-top: 18px;
}

.page-documentacion .documentacion-filter-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end !important;
	gap: 18px;
	width: 100%;
}

.page-documentacion .documentacion-filter-field {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 6px;
	min-width: 0;
	text-align: left;
}

.page-documentacion #cuerpo .documentacion-filter-field select {
	width: 100% !important;
	min-width: 0;
	min-height: 52px;
}

.page-documentacion .documentacion-filter-row #buscar {
	min-height: 52px;
	margin: 0;
	padding-right: 28px;
	padding-left: 28px;
}

@media (max-width: 620px) {
	.page-documentacion .documentacion-filter-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.page-documentacion .documentacion-filter-row #buscar {
		width: 100%;
	}
}

.page-documentacion-access {
	min-height: 100vh;
	margin: 0;
	padding: 24px;
	display: grid;
	place-items: center;
	background:
		linear-gradient(135deg, rgba(23, 32, 51, 0.82), rgba(0, 138, 169, 0.72)),
		url(../imagenes/fondoleonardo1.jpg) center/cover fixed;
	color: var(--davinci-ink);
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

.page-documentacion-access .access-card {
	width: min(560px, 100%);
	padding: clamp(26px, 5vw, 44px);
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid var(--davinci-line);
	border-radius: 22px;
	box-shadow: 0 24px 60px rgba(23, 32, 51, 0.20);
	text-align: center;
}

.page-documentacion-access .access-logo {
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	background: #ffffff url(../imagenes/logo.jpg) center/contain no-repeat;
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(23, 32, 51, 0.14);
}

.page-documentacion-access h1 {
	margin: 0 0 12px;
	font-size: clamp(1.65rem, 4vw, 2.35rem);
}

.page-documentacion-access p {
	margin: 0;
	color: var(--davinci-muted);
	font-size: 1rem;
	font-weight: 650;
	line-height: 1.55;
}

.page-registro #cuerpo {
	padding: 32px;
	overflow-x: hidden;
}

.page-registro #cuerpo form {
	width: min(1120px, 100%);
	margin: 0 auto 24px;
	padding: clamp(18px, 3vw, 28px);
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 20px;
	box-shadow: 0 16px 42px rgba(23, 32, 51, 0.10);
	overflow-x: hidden;
	overflow-y: visible;
}

/* Las altas comparten fila con el panel lateral: permite que la tabla se
   contraiga dentro del espacio restante sin ocultar su segunda columna. */
.page-registro.page-registro-alta #cuerpo {
	min-width: 0;
}

.page-registro.page-registro-alta #cuerpo form {
	padding: 20px;
}

.page-registro.page-registro-alta #cuerpo td,
.page-registro.page-registro-alta #cuerpo th {
	padding: 10px !important;
}

.page-registro.page-registro-alta #cuerpo td:has(.Estilo1) {
	width: 132px !important;
}

.page-registro.page-registro-alta #cuerpo td:has(> select + img[id^="nuevo"]),
.page-registro.page-registro-alta #cuerpo td:has(> p > select + img[id^="nuevo"]),
.page-registro.page-registro-alta #cuerpo td:has(> input[type="text"] + img[id^="selector"]) {
	grid-template-columns: minmax(120px, 1fr) auto;
	min-width: 170px;
}

.page-registro.page-registro-alta #cuerpo .Estilo1 {
	white-space: normal;
}

.page-registro #cuerpo table {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 auto 22px !important;
	background: #ffffff !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 16px;
	border-collapse: separate;
	border-spacing: 0;
	box-shadow: 0 12px 32px rgba(23, 32, 51, 0.08);
	overflow: hidden;
	table-layout: auto;
}

.page-registro #cuerpo table:has(td[colspan="8"]) {
	table-layout: fixed;
}

.page-registro #cuerpo table:has(td[colspan="8"]) td {
	padding: 10px 8px !important;
	font-size: 0.82rem;
	overflow-wrap: break-word;
	word-break: normal;
}

.page-registro #cuerpo table:has(td[colspan="8"]) tr:first-child td,
.page-registro #cuerpo table:has(td[colspan="8"]) tr:nth-child(2) td,
.page-registro #cuerpo table:has(td[colspan="8"]) .registro-message {
	font-size: clamp(1.15rem, 2vw, 1.65rem) !important;
}

.page-registro #cuerpo td,
.page-registro #cuerpo th {
	height: auto !important;
	padding: 14px !important;
	background: #ffffff !important;
	border-color: var(--davinci-line) !important;
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-size: 0.95rem;
	line-height: 1.35;
	vertical-align: top;
	overflow-wrap: break-word;
	word-break: normal;
}

.page-registro #cuerpo td:has(> select + img[id^="nuevo"]),
.page-registro #cuerpo td:has(> p > select + img[id^="nuevo"]),
.page-registro #cuerpo td:has(> input[type="text"] + img[id^="selector"]) {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto;
	align-items: center;
	gap: 8px;
	min-width: 280px;
}

.page-registro #cuerpo td:has(> p > select + img[id^="nuevo"]) > p {
	display: contents;
}

.page-registro #cuerpo td:has(> select + img[id^="nuevo"]) > div[id^="Capa"],
.page-registro #cuerpo td:has(> p > select + img[id^="nuevo"]) > div[id^="Capa"] {
	grid-column: 1 / -1;
}

.page-registro #cuerpo td > div[id^="Capa"] + p {
	display: none;
}

.page-registro #cuerpo td[width="5%"],
.page-registro #cuerpo td[width="10%"],
.page-registro #cuerpo td[width="15%"],
.page-registro #cuerpo td[width="20%"],
.page-registro #cuerpo td[width="30%"],
.page-registro #cuerpo td[width="45%"],
.page-registro #cuerpo td[width="60%"] {
	width: auto !important;
}

.page-registro #cuerpo td[width] {
	width: auto !important;
}

.page-registro #cuerpo td:has(.Estilo1) {
	width: 170px !important;
	text-align: right;
	vertical-align: middle !important;
}

.page-registro #cuerpo .Estilo1 {
	display: inline-block;
	white-space: nowrap;
}

.page-registro #cuerpo form td {
	vertical-align: middle !important;
}

.page-registro #cuerpo td:has(.Estilo1) > div {
	min-height: 42px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.page-registro #cuerpo td:has(> select + img[id^="nuevo"]),
.page-registro #cuerpo td:has(> p > select + img[id^="nuevo"]),
.page-registro #cuerpo td:has(> input[type="text"] + img[id^="selector"]) {
	align-content: center;
}

.page-registro #cuerpo tr:nth-child(3) td {
	white-space: normal;
	overflow-wrap: normal;
	word-break: keep-all;
}

.page-registro #cuerpo tr:first-child td,
.page-registro #cuerpo .Estilo5 {
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.10)),
		#ffffff !important;
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-size: clamp(1.25rem, 2vw, 1.75rem) !important;
	font-weight: 850 !important;
	line-height: 1.2;
	text-align: left;
}

.page-registro #cuerpo .Estilo1,
.page-registro #cuerpo strong {
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-weight: 850;
}

.page-registro #cuerpo .registro-message {
	padding: 26px !important;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff !important;
	color: var(--davinci-ink) !important;
	font-size: 1.1rem;
	font-weight: 850;
	text-align: center;
}

.page-registro #cuerpo p {
	margin: 0;
	color: var(--davinci-ink);
}

.page-registro #form1 td > strong > label > div[align="center"],
.page-registro #form1 .registro-check-list {
	width: 100%;
	margin: 0;
	display: grid;
	gap: 10px;
	text-align: left;
}

.page-registro #form1 .registro-check-option {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 850;
	line-height: 1.25;
	cursor: pointer;
}

.page-registro #form1 td > strong > label > div[align="center"] p,
.page-registro #form1 td > strong > label > div[align="center"] > strong,
.page-registro #form1 td > strong > label > div[align="center"] > input[type="checkbox"] {
	margin: 0;
}

.page-registro #form1 input[type="checkbox"] {
	width: 16px;
	height: 16px;
	min-height: 16px;
	margin: 0;
	padding: 0;
	box-shadow: none;
	flex: 0 0 16px;
	vertical-align: middle;
}

.page-registro #form1 td > strong > label > div[align="center"] p,
.page-registro #form1 td > strong > label > div[align="center"] {
	font-weight: 850;
}

.page-registro #cuerpo input[type="submit"],
.page-registro #cuerpo input[type="button"],
.page-registro #cuerpo button {
	min-width: 120px;
	padding: 12px 18px;
	background: linear-gradient(135deg, var(--davinci-orange), var(--davinci-pink)) !important;
	border: 0 !important;
	border-radius: 999px;
	color: #ffffff !important;
	font-family: inherit;
	font-weight: 850;
	box-shadow: 0 12px 28px rgba(209, 0, 103, 0.20);
}

.page-registro #cuerpo select,
.page-registro #cuerpo textarea,
.page-registro #cuerpo input[type="text"],
.page-registro #cuerpo input[type="date"],
.page-registro #cuerpo input:not([type]),
.page-registro #cuerpo input[type="nuevoprocedencia"],
.page-registro #cuerpo input[type="nuevoremitente"],
.page-registro #cuerpo input[type="nuevonegociado"],
.page-registro #cuerpo input[type="nuevoextracto"],
.page-registro-popup input {
	width: 100%;
	max-width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	background: #ffffff !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 12px;
	color: var(--davinci-ink) !important;
	font-family: inherit;
	font-weight: 650;
	box-shadow: inset 0 1px 2px rgba(23, 32, 51, 0.04);
}

.page-registro #cuerpo textarea {
	min-height: 110px;
	resize: vertical;
}

.page-registro #cuerpo select:focus,
.page-registro #cuerpo textarea:focus,
.page-registro #cuerpo input:focus,
.page-registro-popup input:focus {
	border-color: rgba(0, 138, 169, 0.55) !important;
	box-shadow: 0 0 0 4px rgba(0, 138, 169, 0.12);
	outline: 0;
}

.page-registro #cuerpo img[id^="nuevo"],
.page-registro #cuerpo img[id^="selector"] {
	width: 38px;
	height: 38px;
	margin-left: 0;
	padding: 7px;
	background: #eef7f9;
	border: 1px solid var(--davinci-line);
	border-radius: 12px;
	cursor: pointer;
	vertical-align: middle;
}

.page-registro #cuerpo div[id^="Capa"],
.page-registro #cuerpo #cambiofecha,
.page-registro #cuerpo #cambiofechaorigen {
	position: fixed !important;
	left: 50% !important;
	top: 50% !important;
	width: min(360px, calc(100vw - 32px)) !important;
	min-height: 0;
	padding: 18px !important;
	transform: translate(-50%, -50%);
	background: #ffffff !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(23, 32, 51, 0.22);
	color: var(--davinci-ink);
	line-height: 1.35 !important;
	z-index: 1200 !important;
}

.page-registro #cuerpo .registro-popup-cerrar {
	position: absolute;
	right: 12px;
	top: 10px;
	width: 34px;
	min-width: 34px;
	height: 34px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f4f7fb !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 999px;
	box-shadow: none;
	color: var(--davinci-ink) !important;
	font-size: 1.3rem;
	font-weight: 850;
	line-height: 1;
}

.page-registro #cuerpo .registro-popup-cerrar:hover,
.page-registro #cuerpo .registro-popup-cerrar:focus {
	background: linear-gradient(135deg, var(--davinci-cyan), var(--davinci-pink)) !important;
	color: #ffffff !important;
}

.page-registro #cuerpo br {
	display: none;
}

.page-registro-popup {
	min-height: 100vh;
	margin: 0;
	padding: 18px;
	background: #f4f7fb;
	color: var(--davinci-ink);
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

.page-registro-popup input {
	margin: 6px 0;
}

@media (max-width: 620px) {
	.page-registro #cuerpo {
		padding: 18px 14px;
	}

	.page-registro #cuerpo form {
		padding: 16px;
		border-radius: 16px;
	}
}

.page-mantenimiento #cuerpo,
.page-mantenimiento #cuerpo_e {
	padding: 32px;
	overflow-x: hidden;
}

.page-mantenimiento #cuerpo > form,
.page-mantenimiento #cuerpo_e > form {
	width: min(1120px, 100%);
	margin: 0 auto 24px;
	padding: clamp(18px, 3vw, 28px);
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 20px;
	box-shadow: 0 16px 42px rgba(23, 32, 51, 0.10);
	overflow-x: hidden;
}

.page-mantenimiento #cuerpo table,
.page-mantenimiento #cuerpo_e table {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	height: auto !important;
	margin: 0 auto 22px !important;
	background: #ffffff !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 16px;
	border-collapse: separate;
	border-spacing: 0;
	box-shadow: 0 12px 32px rgba(23, 32, 51, 0.08);
	overflow: hidden;
}

.page-mantenimiento #cuerpo table table,
.page-mantenimiento #cuerpo_e table table {
	margin: 0 !important;
	box-shadow: none;
	border-radius: 12px;
	table-layout: auto;
}

.page-mantenimiento #cuerpo td,
.page-mantenimiento #cuerpo th,
.page-mantenimiento #cuerpo_e td,
.page-mantenimiento #cuerpo_e th {
	min-width: 0;
	height: auto !important;
	padding: 14px !important;
	background: #ffffff !important;
	border-color: var(--davinci-line) !important;
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-size: 0.95rem;
	line-height: 1.35;
	vertical-align: middle;
	overflow-wrap: break-word;
	word-break: normal;
}

.page-mantenimiento #cuerpo tr:first-child > td,
.page-mantenimiento #cuerpo_e tr:first-child > td,
.page-mantenimiento #cuerpo .Estilo5,
.page-mantenimiento #cuerpo_e .Estilo5,
.page-mantenimiento #cuerpo .titulo,
.page-mantenimiento #cuerpo_e .titulo,
.page-mantenimiento #cuerpo .subtitulo,
.page-mantenimiento #cuerpo_e .subtitulo {
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.10)),
		#ffffff !important;
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-size: clamp(1.25rem, 2vw, 1.75rem) !important;
	font-weight: 850 !important;
	line-height: 1.2;
	text-align: center;
}

.page-mantenimiento #cuerpo h1,
.page-mantenimiento #cuerpo h2,
.page-mantenimiento #cuerpo h3,
.page-mantenimiento #cuerpo_e h1,
.page-mantenimiento #cuerpo_e h2,
.page-mantenimiento #cuerpo_e h3 {
	margin: 0 0 18px;
	color: var(--davinci-ink);
	font-family: inherit;
	font-weight: 850;
	line-height: 1.2;
}

.page-mantenimiento #cuerpo .rojo,
.page-mantenimiento #cuerpo_e .rojo {
	width: min(900px, 100%);
	margin: 0 auto 18px;
	padding: 14px 16px;
	background: rgba(209, 0, 103, 0.08);
	border: 1px solid rgba(209, 0, 103, 0.16);
	border-radius: 14px;
	color: #9b174f !important;
	font-weight: 750;
	line-height: 1.45;
}

.page-mantenimiento #cuerpo .Estilo1,
.page-mantenimiento #cuerpo strong,
.page-mantenimiento #cuerpo_e .Estilo1,
.page-mantenimiento #cuerpo_e strong {
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-weight: 850;
}

.page-mantenimiento #cuerpo td:has(.Estilo1),
.page-mantenimiento #cuerpo_e td:has(.Estilo1) {
	width: 170px !important;
	text-align: right;
}

.page-mantenimiento #cuerpo td:has(.Estilo1) > div,
.page-mantenimiento #cuerpo_e td:has(.Estilo1) > div,
.page-mantenimiento #cuerpo td > div[align="right"],
.page-mantenimiento #cuerpo_e td > div[align="right"] {
	min-height: 42px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.page-mantenimiento #cuerpo td:has(> input[type="text"] + img[id^="selector"]),
.page-mantenimiento #cuerpo td:has(> p > input[type="text"] + img[id^="selector"]),
.page-mantenimiento #cuerpo_e td:has(> input[type="text"] + img[id^="selector"]),
.page-mantenimiento #cuerpo_e td:has(> p > input[type="text"] + img[id^="selector"]) {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) auto;
	align-items: center;
	gap: 8px;
}

.page-mantenimiento #cuerpo td:has(> p > input[type="text"] + img[id^="selector"]) > p,
.page-mantenimiento #cuerpo_e td:has(> p > input[type="text"] + img[id^="selector"]) > p {
	display: contents;
}

.page-mantenimiento #cuerpo p,
.page-mantenimiento #cuerpo_e p {
	margin: 0;
	color: var(--davinci-ink);
}

.page-mantenimiento .mantenimiento-field-icon {
	display: grid;
	grid-template-columns: minmax(160px, 240px) auto;
	align-items: center;
	justify-content: start;
	gap: 10px;
}

.page-mantenimiento .mantenimiento-field-icon input[type="text"] {
	width: 100% !important;
}

.page-mantenimiento .mantenimiento-date-range {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.page-mantenimiento .mantenimiento-date-range > .Estilo7 {
	flex: 0 0 100%;
	text-align: center;
}

.page-mantenimiento .mantenimiento-small-code {
	width: 90px !important;
	min-width: 90px;
}

.page-mantenimiento .mantenimiento-short-input {
	width: 78px !important;
	min-width: 78px;
	text-align: center;
}

.page-listado-reparaciones .listado-reparaciones-card {
	width: min(980px, 100%) !important;
	height: auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff !important;
	border-radius: 20px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.10);
}

.page-listado-reparaciones .listado-reparaciones-card > tbody > tr:first-child > td {
	padding: 22px 18px;
	border: 0 !important;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.14), rgba(209, 0, 103, 0.10)),
		#ffffff !important;
}

.page-listado-reparaciones .listado-reparaciones-card > tbody > tr:first-child .Estilo5 {
	color: var(--davinci-ink) !important;
	font-size: clamp(1.45rem, 2.2vw, 1.9rem) !important;
	font-weight: 900 !important;
	text-transform: uppercase;
}

.page-listado-reparaciones .listado-reparaciones-card td {
	border: 0 !important;
}

.page-listado-reparaciones .listado-reparaciones-table {
	width: 100% !important;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff;
	border-radius: 16px;
	table-layout: fixed;
}

.page-listado-reparaciones .listado-reparaciones-table td {
	padding: 14px 16px !important;
	border: 0 !important;
	border-top: 1px solid rgba(204, 219, 237, 0.65) !important;
	color: var(--davinci-ink);
	font-size: 0.95rem !important;
	line-height: 1.35;
	vertical-align: top;
	overflow-wrap: anywhere;
}

.page-listado-reparaciones .listado-reparaciones-head td {
	border-top: 0 !important;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#f8fbff;
	font-size: 0.82rem !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	vertical-align: middle;
}

.page-listado-reparaciones .listado-reparaciones-table td:nth-child(1) {
	width: 9%;
	white-space: nowrap;
}

.page-listado-reparaciones .listado-reparaciones-table td:nth-child(2) {
	width: 10%;
	white-space: nowrap;
}

.page-listado-reparaciones .listado-reparaciones-table td:nth-child(3) {
	width: 22%;
}

.page-listado-reparaciones .listado-reparaciones-table td:nth-child(4) {
	width: 43%;
}

.page-listado-reparaciones .listado-reparaciones-table td:nth-child(5) {
	width: 16%;
	white-space: nowrap;
}

.page-listado-reparaciones .listado-reparaciones-table a {
	color: var(--davinci-cyan);
	font-weight: 850;
	text-decoration: none;
}

.page-listado-reparaciones .listado-reparaciones-table a:hover {
	color: var(--davinci-magenta);
}

.page-mantenimiento .pedido-number-row td {
	height: auto !important;
	padding-top: 4px !important;
	padding-bottom: 4px !important;
	vertical-align: middle !important;
}

.page-mantenimiento .pedido-user-row td {
	height: auto !important;
	padding-top: 4px !important;
	padding-bottom: 6px !important;
	vertical-align: middle !important;
}

.page-mantenimiento .pedido-number-row + .pedido-user-row td {
	border-top: 0 !important;
}

.page-mantenimiento .pedido-number-row td > div[align="right"],
.page-mantenimiento .pedido-user-row td > div[align="right"],
.page-mantenimiento .pedido-user-row .Estilo1 {
	min-height: 0 !important;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.page-mantenimiento .pedido-number-row input,
.page-mantenimiento .pedido-user-row input,
.page-mantenimiento .pedido-user-row select {
	margin: 0 !important;
	vertical-align: middle !important;
}

.page-mantenimiento .pedido-number-row input {
	height: 42px;
	min-height: 42px;
	width: 100% !important;
}

.page-mantenimiento .pedido-label-cell {
	width: auto !important;
	min-width: 0;
}

.page-mantenimiento .pedido-number-row td:has(.Estilo1),
.page-mantenimiento .pedido-user-row td:has(.Estilo1),
.page-mantenimiento .pedido-provider-row td:has(.Estilo1),
.page-mantenimiento .pedido-budget-row td:has(.Estilo1) {
	width: auto !important;
}

.page-mantenimiento .pedido-user-row .pedido-profesor-cell {
	width: 32% !important;
	min-width: 240px;
}

.page-mantenimiento .pedido-user-row .pedido-profesor-cell input {
	width: 100% !important;
	min-width: 220px;
}

.page-mantenimiento .pedido-user-row .pedido-code-label {
	width: auto !important;
	min-width: 0;
}

.page-mantenimiento .pedido-user-row .pedido-dpto-label {
	width: auto !important;
	min-width: 0;
}

.page-mantenimiento .pedido-user-row .pedido-dpto-cell {
	width: auto !important;
	min-width: 0;
}

.page-mantenimiento .pedido-user-row .pedido-label-cell > div {
	min-height: 0;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.page-mantenimiento .pedido-user-row .pedido-profesor-cell,
.page-mantenimiento .pedido-user-row .mantenimiento-small-code,
.page-mantenimiento .pedido-user-row .pedido-dpto-cell {
	vertical-align: middle !important;
}

.page-mantenimiento .pedido-user-row .pedido-dpto-cell input,
.page-mantenimiento .pedido-user-row .pedido-dpto-cell select {
	width: 96px !important;
	min-width: 0;
	text-align: center;
}

.page-mantenimiento .pedido-provider-row td {
	vertical-align: middle !important;
}

.page-mantenimiento .pedido-provider-cell select,
.page-mantenimiento .pedido-provider-cell input {
	width: min(460px, 100%) !important;
}

.page-mantenimiento .pedido-provider-button-cell {
	text-align: left;
	white-space: nowrap;
}

.page-mantenimiento .pedido-provider-button-cell input[type="button"] {
	min-width: 0;
	padding-inline: 20px;
}

.page-mantenimiento .pedido-budget-row td {
	vertical-align: middle !important;
}

.page-mantenimiento .pedido-total-cell {
	width: 170px !important;
}

.page-mantenimiento .pedido-budget-label {
	width: 170px !important;
	min-width: 150px;
}

.page-mantenimiento .pedido-file-cell {
	min-width: 0;
	overflow-wrap: anywhere;
}

.page-mantenimiento .pedido-file-cell input[type="file"] {
	width: 100% !important;
	max-width: 420px;
	min-height: 0;
	padding: 10px;
	white-space: normal;
}

.page-mantenimiento .pedido-estado-table {
	table-layout: fixed !important;
	width: 100% !important;
	font-size: 0.88rem;
}

.page-mantenimiento .pedido-estado-table td {
	padding: 12px !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

.page-mantenimiento #cuerpo .pedido-estado-table tr.pedido-estado-head > td,
.page-mantenimiento #cuerpo_e .pedido-estado-table tr.pedido-estado-head > td {
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff !important;
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-size: 0.72rem !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
	text-transform: none;
}

.page-mantenimiento .pedido-estado-table tr:first-child td:nth-child(1),
.page-mantenimiento .pedido-estado-table tr:not(:first-child) td:nth-child(1) {
	width: 9%;
}

.page-mantenimiento .pedido-estado-table tr:first-child td:nth-child(2),
.page-mantenimiento .pedido-estado-table tr:not(:first-child) td:nth-child(2) {
	width: 12%;
}

.page-mantenimiento .pedido-estado-table tr:first-child td:nth-child(3),
.page-mantenimiento .pedido-estado-table tr:not(:first-child) td:nth-child(3) {
	width: 26%;
}

.page-mantenimiento .pedido-estado-table tr:first-child td:nth-child(4),
.page-mantenimiento .pedido-estado-table tr:not(:first-child) td:nth-child(4) {
	width: 22%;
}

.page-mantenimiento .pedido-estado-table tr:first-child td:nth-child(5),
.page-mantenimiento .pedido-estado-table tr:not(:first-child) td:nth-child(5) {
	width: 11%;
}

.page-mantenimiento .pedido-estado-table tr:first-child td:nth-child(6),
.page-mantenimiento .pedido-estado-table tr:not(:first-child) td:nth-child(6) {
	width: 8%;
}

.page-mantenimiento .pedido-estado-table tr:first-child td:nth-child(7),
.page-mantenimiento .pedido-estado-table tr:not(:first-child) td:nth-child(7),
.page-mantenimiento .pedido-estado-table tr:first-child td:nth-child(8),
.page-mantenimiento .pedido-estado-table tr:not(:first-child) td:nth-child(8) {
	width: 6%;
}

.page-mantenimiento .pedido-estado-table tr:not(:first-child) td:nth-child(1),
.page-mantenimiento .pedido-estado-table tr:not(:first-child) td:nth-child(6),
.page-mantenimiento .pedido-estado-table a {
	white-space: nowrap;
}

.page-estado-pedidos .pedido-estado-table tr:first-child td:nth-child(1),
.page-estado-pedidos .pedido-estado-table tr:not(:first-child) td:nth-child(1) {
	width: 9%;
}

.page-estado-pedidos .pedido-estado-table tr:first-child td:nth-child(2),
.page-estado-pedidos .pedido-estado-table tr:not(:first-child) td:nth-child(2) {
	width: 11%;
}

.page-estado-pedidos .pedido-estado-table tr:first-child td:nth-child(3),
.page-estado-pedidos .pedido-estado-table tr:not(:first-child) td:nth-child(3) {
	width: 18%;
}

.page-estado-pedidos .pedido-estado-table tr:first-child td:nth-child(4),
.page-estado-pedidos .pedido-estado-table tr:not(:first-child) td:nth-child(4) {
	width: 18%;
}

.page-estado-pedidos .pedido-estado-table tr:first-child td:nth-child(5),
.page-estado-pedidos .pedido-estado-table tr:not(:first-child) td:nth-child(5) {
	width: 28%;
}

.page-estado-pedidos .pedido-estado-table tr:first-child td:nth-child(6),
.page-estado-pedidos .pedido-estado-table tr:not(:first-child) td:nth-child(6) {
	width: 8%;
	text-align: center;
}

.page-estado-pedidos .pedido-estado-table tr:first-child td:nth-child(7),
.page-estado-pedidos .pedido-estado-table tr:not(:first-child) td:nth-child(7) {
	width: 4%;
	text-align: center;
}

.page-estado-pedidos .pedido-estado-table tr:first-child td:nth-child(8),
.page-estado-pedidos .pedido-estado-table tr:not(:first-child) td:nth-child(8) {
	width: 4%;
	text-align: center;
}

.page-estado-pedidos #cuerpo .pedido-estado-table td {
	padding: 12px 10px !important;
	font-size: 0.86rem;
}

.page-estado-pedidos #cuerpo .pedido-estado-table tr.pedido-estado-head > td {
	padding: 10px 8px !important;
	font-size: 0.76rem !important;
	white-space: normal;
}

.page-estado-pedidos #diai,
.page-estado-pedidos #mesi,
.page-estado-pedidos #diaf,
.page-estado-pedidos #mesf {
	width: 54px !important;
	min-width: 54px;
	max-width: 54px;
	text-align: center;
}

.page-estado-pedidos #anoi,
.page-estado-pedidos #anof {
	width: 78px !important;
	min-width: 78px;
	max-width: 78px;
	text-align: center;
}

.page-pendientes-validar-jd .pendientes-jd-card {
	width: min(980px, 100%) !important;
	height: auto !important;
	margin: 0 auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 18px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 44px rgba(23, 32, 51, 0.10);
	overflow: hidden;
}

.page-pendientes-validar-jd .pendientes-jd-card > tbody > tr:first-child > td {
	padding: 22px 18px !important;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.13), rgba(209, 0, 103, 0.10)),
		#ffffff !important;
	border: 0 !important;
}

.page-pendientes-validar-jd .pendientes-jd-card > tbody > tr:first-child .Estilo5 {
	font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
	line-height: 1.15 !important;
}

.page-pendientes-validar-jd .pendientes-jd-card > tbody > tr > td {
	border: 0 !important;
	padding: 16px 18px !important;
	vertical-align: middle;
}

.page-pendientes-validar-jd .pendientes-jd-card > tbody > tr > td:first-child,
.page-pendientes-validar-jd .pendientes-jd-card > tbody > tr > td[colspan="2"]:first-child {
	width: 210px !important;
	min-width: 170px;
	color: var(--davinci-ink);
	font-weight: 850;
	line-height: 1.25;
}

.page-pendientes-validar-jd .pendientes-jd-table {
	border: 1px solid var(--davinci-line) !important;
	border-radius: 14px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: none;
}

.page-pendientes-validar-jd #cuerpo .pendientes-jd-table td {
	padding: 12px 14px !important;
	font-size: 0.9rem;
	line-height: 1.28;
	border: 0 !important;
	border-bottom: 1px solid rgba(207, 221, 238, 0.55) !important;
}

.page-pendientes-validar-jd #cuerpo .pendientes-jd-table tr.pedido-estado-head > td {
	padding: 12px 14px !important;
	font-size: 0.78rem !important;
	white-space: nowrap;
}

.page-pendientes-validar-jd .pendientes-jd-table tr:first-child td:nth-child(1),
.page-pendientes-validar-jd .pendientes-jd-table tr:not(:first-child) td:nth-child(1) {
	width: 11%;
	white-space: nowrap;
}

.page-pendientes-validar-jd .pendientes-jd-table tr:first-child td:nth-child(2),
.page-pendientes-validar-jd .pendientes-jd-table tr:not(:first-child) td:nth-child(2) {
	width: 14%;
	white-space: nowrap;
}

.page-pendientes-validar-jd .pendientes-jd-table tr:first-child td:nth-child(3),
.page-pendientes-validar-jd .pendientes-jd-table tr:not(:first-child) td:nth-child(3) {
	width: 24%;
}

.page-pendientes-validar-jd .pendientes-jd-table tr:first-child td:nth-child(4),
.page-pendientes-validar-jd .pendientes-jd-table tr:not(:first-child) td:nth-child(4) {
	width: 36%;
}

.page-pendientes-validar-jd .pendientes-jd-table tr:first-child td:nth-child(5),
.page-pendientes-validar-jd .pendientes-jd-table tr:not(:first-child) td:nth-child(5) {
	width: 15%;
	text-align: center;
	white-space: nowrap;
}

.page-pendientes-validar-jd .pendientes-jd-table a {
	color: var(--davinci-cyan);
	font-weight: 850;
	text-decoration: none;
}

.page-pendientes-validar-jd .pendientes-jd-table a:hover {
	color: var(--davinci-pink);
}

.page-pendientes-validar-jd .pendientes-jd-empty {
	width: 100%;
	padding: 18px 20px;
	border-radius: 14px;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff;
	color: var(--davinci-ink);
	font-size: clamp(1rem, 1.6vw, 1.25rem);
	font-weight: 850;
	line-height: 1.25;
	text-align: center;
	white-space: normal;
	overflow-wrap: normal;
}

@media (max-width: 760px) {
	.page-pendientes-validar-jd .pendientes-jd-card > tbody > tr,
	.page-pendientes-validar-jd .pendientes-jd-card > tbody > tr > td {
		display: block;
		width: 100% !important;
	}

	.page-pendientes-validar-jd .pendientes-jd-card > tbody > tr > td:first-child,
	.page-pendientes-validar-jd .pendientes-jd-card > tbody > tr > td[colspan="2"]:first-child {
		width: 100% !important;
		min-width: 0;
		padding-bottom: 4px !important;
	}
}

.page-mantenimiento .pedido-two-line-label strong,
.page-mantenimiento .pedido-two-line-label span {
	display: block;
	line-height: 1.15;
}

.page-mantenimiento #total {
	width: min(180px, 100%) !important;
}

.page-mantenimiento .mantenimiento-user-row .mantenimiento-label,
.page-mantenimiento .mantenimiento-location-row .mantenimiento-label {
	width: 160px !important;
}

.page-mantenimiento .mantenimiento-user-row .mantenimiento-field {
	width: 340px !important;
}

.page-mantenimiento .mantenimiento-user-row .mantenimiento-code-label {
	width: 110px !important;
}

.page-mantenimiento .mantenimiento-user-row .mantenimiento-code-field {
	width: 90px !important;
}

.page-mantenimiento .mantenimiento-location-row .mantenimiento-field {
	text-align: left;
}

.page-mantenimiento .mantenimiento-location-row select {
	width: min(360px, 100%) !important;
}

.page-mantenimiento .mantenimiento-ciclos-table {
	table-layout: fixed !important;
	width: 100% !important;
	max-width: 100% !important;
}

.page-mantenimiento .mantenimiento-ciclos-label-col {
	width: 18%;
}

.page-mantenimiento .mantenimiento-ciclos-main-col {
	width: 45%;
}

.page-mantenimiento .mantenimiento-ciclos-code-col {
	width: 19%;
}

.page-mantenimiento .mantenimiento-ciclos-table h2 {
	font-size: clamp(1.25rem, 2.4vw, 1.7rem);
	overflow-wrap: anywhere;
}

.page-mantenimiento .mantenimiento-ciclos-table .mantenimiento-field,
.page-mantenimiento .mantenimiento-ciclos-table .mantenimiento-code-label,
.page-mantenimiento .mantenimiento-ciclos-table .mantenimiento-code-field,
.page-mantenimiento .mantenimiento-ciclos-table .mantenimiento-label {
	width: auto !important;
	min-width: 0;
}

.page-mantenimiento .mantenimiento-ciclos-table .mantenimiento-field input,
.page-mantenimiento .mantenimiento-ciclos-table .mantenimiento-field select,
.page-mantenimiento .mantenimiento-ciclos-table textarea {
	width: 100% !important;
	min-width: 0;
}

.page-mantenimiento .mantenimiento-ciclos-history-cell {
	width: 100% !important;
	vertical-align: top !important;
}

.page-mantenimiento .mantenimiento-ciclos-history-table {
	table-layout: fixed !important;
	font-size: 0.85rem;
}

.page-mantenimiento .mantenimiento-ciclos-history-table td,
.page-mantenimiento .mantenimiento-ciclos-history-table th {
	padding: 10px !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

.page-mantenimiento .mantenimiento-reparacion-table {
	table-layout: fixed !important;
	width: 100% !important;
	max-width: 100% !important;
}

.page-mantenimiento .mantenimiento-reparacion-label-col {
	width: 15%;
}

.page-mantenimiento .mantenimiento-reparacion-field-col {
	width: 22%;
}

.page-mantenimiento .mantenimiento-reparacion-code-label-col {
	width: 14%;
}

.page-mantenimiento .mantenimiento-reparacion-code-col {
	width: 12%;
}

.page-mantenimiento .mantenimiento-reparacion-table td {
	min-width: 0;
}

.page-mantenimiento .mantenimiento-reparacion-table td:has(.Estilo1),
.page-mantenimiento .mantenimiento-reparacion-table td > div[align="right"] {
	width: auto !important;
}

.page-mantenimiento .mantenimiento-reparacion-table input[type="text"],
.page-mantenimiento .mantenimiento-reparacion-table textarea {
	width: 100% !important;
	min-width: 0;
}

.page-mantenimiento .mantenimiento-reparacion-code-label {
	white-space: nowrap;
}

.page-mantenimiento .mantenimiento-reparacion-code-field input[type="text"] {
	min-width: 72px;
	text-align: center;
}

.page-mantenimiento .mantenimiento-reparar-list-table {
	table-layout: fixed !important;
	width: 100% !important;
	max-width: 100% !important;
	font-size: 0.88rem;
}

.page-mantenimiento .mantenimiento-reparar-list-table td {
	padding: 12px !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

.page-mantenimiento #cuerpo .mantenimiento-reparar-list-table tr.mantenimiento-reparar-list-head > td,
.page-mantenimiento #cuerpo_e .mantenimiento-reparar-list-table tr.mantenimiento-reparar-list-head > td {
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff !important;
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-size: 0.76rem !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
}

.page-mantenimiento .mantenimiento-reparar-list-table tr:first-child td:nth-child(1),
.page-mantenimiento .mantenimiento-reparar-list-table tr:not(:first-child) td:nth-child(1) {
	width: 9%;
}

.page-mantenimiento .mantenimiento-reparar-list-table tr:first-child td:nth-child(2),
.page-mantenimiento .mantenimiento-reparar-list-table tr:not(:first-child) td:nth-child(2) {
	width: 10%;
}

.page-mantenimiento .mantenimiento-reparar-list-table tr:first-child td:nth-child(3),
.page-mantenimiento .mantenimiento-reparar-list-table tr:not(:first-child) td:nth-child(3) {
	width: 22%;
}

.page-mantenimiento .mantenimiento-reparar-list-table tr:first-child td:nth-child(4),
.page-mantenimiento .mantenimiento-reparar-list-table tr:not(:first-child) td:nth-child(4) {
	width: 10%;
}

.page-mantenimiento .mantenimiento-reparar-list-table tr:first-child td:nth-child(5),
.page-mantenimiento .mantenimiento-reparar-list-table tr:not(:first-child) td:nth-child(5) {
	width: 34%;
}

.page-mantenimiento .mantenimiento-reparar-list-table tr:first-child td:nth-child(6),
.page-mantenimiento .mantenimiento-reparar-list-table tr:not(:first-child) td:nth-child(6) {
	width: 15%;
}

.page-mantenimiento .mantenimiento-reparar-list-table a {
	white-space: nowrap;
}

.page-mantenimiento .mantenimiento-list-caption {
	margin: 0 0 12px;
	color: var(--davinci-cyan);
	font-size: 0.85rem;
	font-weight: 850;
	letter-spacing: 0.04em;
	text-align: left;
	text-transform: uppercase;
}

.page-mantenimiento .mantenimiento-empty-state {
	display: grid;
	gap: 8px;
	justify-items: center;
	padding: 28px 18px;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 16px;
	color: var(--davinci-muted);
	text-align: center;
}

.page-mantenimiento .mantenimiento-empty-state strong {
	color: var(--davinci-ink) !important;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 850;
}

.page-mantenimiento .mantenimiento-empty-state span {
	font-size: 1rem;
	font-weight: 700;
}

.page-mantenimiento .mantenimiento-reparar-detail-table {
	table-layout: fixed !important;
	width: 100% !important;
	max-width: 100% !important;
}

.page-mantenimiento .mantenimiento-reparar-detail-label-col {
	width: 15%;
}

.page-mantenimiento .mantenimiento-reparar-detail-field-col {
	width: 17%;
}

.page-mantenimiento .mantenimiento-reparar-detail-code-label-col {
	width: 14%;
}

.page-mantenimiento .mantenimiento-reparar-detail-code-col {
	width: 12%;
}

.page-mantenimiento .mantenimiento-reparar-detail-table td {
	min-width: 0;
}

.page-mantenimiento .mantenimiento-reparar-detail-table td:has(.Estilo1),
.page-mantenimiento .mantenimiento-reparar-detail-table td > div[align="right"] {
	width: auto !important;
}

.page-mantenimiento .mantenimiento-reparar-detail-table input[type="text"],
.page-mantenimiento .mantenimiento-reparar-detail-table textarea {
	width: 100% !important;
	min-width: 0;
}

.page-mantenimiento .mantenimiento-reparar-detail-code-label {
	white-space: nowrap;
}

.page-mantenimiento .mantenimiento-reparar-detail-code-field input[type="text"] {
	min-width: 72px;
	text-align: center;
}

.page-mantenimiento #cuerpo input[type="submit"],
.page-mantenimiento #cuerpo input[type="button"],
.page-mantenimiento #cuerpo button,
.page-mantenimiento #cuerpo_e input[type="submit"],
.page-mantenimiento #cuerpo_e input[type="button"],
.page-mantenimiento #cuerpo_e button {
	min-width: 120px;
	padding: 12px 18px;
	background: linear-gradient(135deg, var(--davinci-orange), var(--davinci-pink)) !important;
	border: 0 !important;
	border-radius: 999px;
	color: #ffffff !important;
	font-family: inherit;
	font-weight: 850;
	box-shadow: 0 12px 28px rgba(209, 0, 103, 0.20);
	cursor: pointer;
}

.page-mantenimiento #cuerpo a,
.page-mantenimiento #cuerpo_e a {
	color: var(--davinci-cyan);
	font-weight: 850;
	text-decoration: none;
}

.page-mantenimiento #cuerpo a:hover,
.page-mantenimiento #cuerpo a:focus,
.page-mantenimiento #cuerpo_e a:hover,
.page-mantenimiento #cuerpo_e a:focus {
	color: var(--davinci-pink);
}

.page-mantenimiento #cuerpo select,
.page-mantenimiento #cuerpo textarea,
.page-mantenimiento #cuerpo input[type="text"],
.page-mantenimiento #cuerpo input[type="number"],
.page-mantenimiento #cuerpo input[type="date"],
.page-mantenimiento #cuerpo input[type="file"],
.page-mantenimiento #cuerpo input:not([type]),
.page-mantenimiento #cuerpo_e select,
.page-mantenimiento #cuerpo_e textarea,
.page-mantenimiento #cuerpo_e input[type="text"],
.page-mantenimiento #cuerpo_e input[type="number"],
.page-mantenimiento #cuerpo_e input[type="date"],
.page-mantenimiento #cuerpo_e input[type="file"],
.page-mantenimiento #cuerpo_e input:not([type]) {
	width: 100%;
	max-width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	background: #ffffff !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 12px;
	color: var(--davinci-ink) !important;
	font-family: inherit;
	font-weight: 650;
	box-shadow: inset 0 1px 2px rgba(23, 32, 51, 0.04);
	box-sizing: border-box;
}

.page-mantenimiento #cuerpo input[type="radio"],
.page-mantenimiento #cuerpo input[type="checkbox"],
.page-mantenimiento #cuerpo_e input[type="radio"],
.page-mantenimiento #cuerpo_e input[type="checkbox"] {
	width: 16px;
	min-height: 16px;
	margin: 0 8px 0 0;
	padding: 0;
	box-shadow: none;
	vertical-align: middle;
}

.page-mantenimiento #cuerpo textarea,
.page-mantenimiento #cuerpo_e textarea {
	min-height: 110px;
	resize: vertical;
}

.page-mantenimiento #cuerpo select:focus,
.page-mantenimiento #cuerpo textarea:focus,
.page-mantenimiento #cuerpo input:focus,
.page-mantenimiento #cuerpo_e select:focus,
.page-mantenimiento #cuerpo_e textarea:focus,
.page-mantenimiento #cuerpo_e input:focus {
	border-color: rgba(0, 138, 169, 0.55) !important;
	box-shadow: 0 0 0 4px rgba(0, 138, 169, 0.12);
	outline: 0;
}

.page-mantenimiento #cuerpo img[id^="selector"],
.page-mantenimiento #cuerpo_e img[id^="selector"] {
	width: 38px;
	height: 38px;
	margin-left: 0;
	padding: 7px;
	background: #eef7f9;
	border: 1px solid var(--davinci-line);
	border-radius: 12px;
	cursor: pointer;
	vertical-align: middle;
}

.page-mantenimiento #cuerpo br,
.page-mantenimiento #cuerpo_e br {
	display: none;
}

.page-mantenimiento #cuerpo .titlat,
.page-mantenimiento #cuerpo_e .titlat {
	color: var(--davinci-ink) !important;
	font-family: inherit;
	font-weight: 850;
}

.page-mantenimiento .mantenimiento-aviso,
.page-fcts-evaluacion-empresas .mantenimiento-aviso {
	width: min(820px, 100%);
	margin: 28px auto;
	padding: 20px 22px;
	display: grid;
	gap: 8px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-left: 6px solid var(--davinci-pink);
	border-radius: 18px;
	box-shadow: 0 16px 40px rgba(23, 32, 51, 0.10);
	color: var(--davinci-ink);
	font-family: inherit;
	line-height: 1.45;
}

.page-mantenimiento .mantenimiento-aviso strong,
.page-fcts-evaluacion-empresas .mantenimiento-aviso strong {
	color: var(--davinci-ink) !important;
	font-size: 1.2rem;
	font-weight: 850;
}

.page-mantenimiento .mantenimiento-aviso span,
.page-fcts-evaluacion-empresas .mantenimiento-aviso span {
	color: var(--davinci-muted);
	font-size: 1rem;
	font-weight: 700;
}

.page-mantenimiento .mantenimiento-aviso-alerta,
.page-fcts-evaluacion-empresas .mantenimiento-aviso-alerta {
	background:
		linear-gradient(135deg, rgba(239, 82, 0, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff;
}

.page-mantenimiento .mantenimiento-aviso-ok,
.page-fcts-evaluacion-empresas .mantenimiento-aviso-ok {
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff;
	border-left-color: var(--davinci-cyan);
}

.page-mantenimiento .mantenimiento-aviso-ok strong::before {
	content: "Correcto";
	display: inline-flex;
	margin-right: 12px;
	padding: 5px 10px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--davinci-cyan), var(--davinci-pink));
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	vertical-align: middle;
}

.page-encuesta-profes .encuesta-realizada-aviso {
	width: min(820px, calc(100% - 32px));
	margin-top: 48px;
}

.page-evaluacion-seguimiento #cuerpo {
	position: relative;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	overflow-x: clip !important;
	overflow-y: visible !important;
}

.page-evaluacion-seguimiento #cuerpo > ul,
.page-evaluacion-seguimiento #cuerpo > li {
	display: none !important;
}

.page-evaluacion-seguimiento #cuerpo > form.evaluacion-filter-card {
	width: min(960px, 100%);
	margin: 0 auto 34px;
	padding: 0 !important;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 26px;
	box-shadow: 0 20px 50px rgba(20, 67, 78, 0.10);
	font-family: inherit;
	color: var(--davinci-ink);
}

.page-evaluacion-seguimiento .evaluacion-card-header {
	padding: clamp(24px, 3vw, 34px) 28px;
	background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96));
	border-bottom: 1px solid var(--davinci-line);
	border-radius: 25px 25px 0 0;
	text-align: center;
}

.page-evaluacion-seguimiento .evaluacion-card-header h1 {
	margin: 0;
	color: var(--davinci-ink);
	font-size: clamp(1.45rem, 2.4vw, 2.1rem);
	font-weight: 900;
	letter-spacing: 0.055em;
	line-height: 1.12;
	text-transform: uppercase;
}

.page-evaluacion-seguimiento .evaluacion-card-message {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 26px 32px 0;
	padding: 15px 18px;
	color: #315467;
	background: #eef8fa;
	border: 1px solid #cfe6eb;
	border-radius: 15px;
}

.page-evaluacion-seguimiento .evaluacion-card-message-icon {
	display: grid;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	place-items: center;
	color: #fff;
	font-size: .9rem;
	font-weight: 900;
	background: var(--davinci-cyan);
	border-radius: 50%;
}

.page-evaluacion-seguimiento .evaluacion-card-message p {
	margin: 0;
	color: inherit;
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.45;
	text-align: left;
}

.page-evaluacion-seguimiento #nav ul,
.page-evaluacion-seguimiento #nav li:hover ul ul,
.page-evaluacion-seguimiento #nav li:hover ul li:hover ul ul,
.page-evaluacion-seguimiento #nav li:hover ul li:hover ul li:hover ul ul {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.page-evaluacion-seguimiento #nav li.top:hover > ul.sub {
	left: 0 !important;
	top: 100% !important;
	width: min(320px, calc(100vw - 32px)) !important;
	height: auto !important;
	padding: 8px !important;
	overflow: visible !important;
}

.page-evaluacion-seguimiento #nav li:hover ul.sub li:not(:has(a)):not(.menu-section):not(.menu-divider) {
	display: block !important;
	width: 100% !important;
	min-height: 0 !important;
	height: 1px !important;
	margin: 8px 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	color: transparent !important;
	background: var(--davinci-line) !important;
}

.page-evaluacion-seguimiento .evaluacion-filter-grid {
	display: grid;
	grid-template-columns: auto minmax(160px, 1fr) auto minmax(160px, 1fr);
	gap: 18px 16px;
	align-items: center;
	padding: 42px 38px 28px;
}

.page-evaluacion-seguimiento .evaluacion-filter-grid label {
	margin: 0;
	color: var(--davinci-ink);
	font-weight: 850;
	text-align: right;
}

.page-evaluacion-seguimiento .evaluacion-filter-grid select {
	width: 100% !important;
	min-width: 0;
}

.page-evaluacion-seguimiento .evaluacion-actions {
	display: flex;
	justify-content: center;
	padding: 18px 28px 34px;
}

.page-evaluacion-seguimiento .evaluacion-actions input[type="submit"] {
	width: auto !important;
	min-width: 150px;
}

.page-evaluacion-seguimiento .evaluacion-filter-card-legacy > .evaluacion-filter-table-legacy {
	display: table !important;
	width: calc(100% - 64px) !important;
	height: auto !important;
	margin: 10px 32px 24px !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 14px 12px !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	table-layout: auto;
}

.page-evaluacion-seguimiento .evaluacion-filter-table-legacy > tbody {
	background: transparent !important;
}

.page-evaluacion-seguimiento .evaluacion-filter-table-legacy > tbody > tr:first-child {
	display: none;
}

.page-evaluacion-seguimiento .evaluacion-filter-table-legacy td {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	vertical-align: middle;
}

.page-evaluacion-seguimiento .evaluacion-filter-table-legacy td:nth-child(1),
.page-evaluacion-seguimiento .evaluacion-filter-table-legacy td:nth-child(3) {
	color: var(--davinci-ink);
	font-weight: 850;
}

.page-evaluacion-seguimiento .evaluacion-filter-table-legacy select {
	width: 100% !important;
	min-width: 150px;
}

.page-evaluacion-seguimiento .evaluacion-filter-table-legacy tr:last-child td {
	padding-top: 12px !important;
	text-align: center;
}

.page-evaluacion-seguimiento .evaluacion-filter-table-legacy input[type="submit"] {
	width: auto !important;
	min-width: 150px;
}

.page-evaluacion-seguimiento .evaluacion-empty-row td {
	padding: 34px 20px !important;
	text-align: center;
}

.page-evaluacion-seguimiento .evaluacion-empty-row strong,
.page-evaluacion-seguimiento .evaluacion-empty-row small {
	display: block;
}

.page-evaluacion-seguimiento .evaluacion-empty-row strong {
	margin-top: 10px;
	font-size: 1.05rem;
}

.page-evaluacion-seguimiento .evaluacion-empty-row small {
	margin-top: 6px;
	color: var(--davinci-muted);
	font-size: .9rem;
}

.page-evaluacion-seguimiento .evaluacion-empty-icon {
	display: grid;
	width: 38px;
	height: 38px;
	margin: 0 auto;
	place-items: center;
	color: #fff;
	font-weight: 900;
	background: var(--davinci-cyan);
	border-radius: 50%;
}

.page-evaluacion-seguimiento form[name="form2"] {
	width: min(980px, calc(100% - 32px));
	margin: 36px auto;
}

.page-evaluacion-seguimiento form[name="form2"] > table {
	width: 100% !important;
	height: auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 18px 48px rgba(23, 32, 51, 0.10);
	border-collapse: separate !important;
	border-spacing: 0 !important;
	table-layout: fixed;
}

.page-evaluacion-seguimiento form[name="form2"] > table > tbody > tr:first-child > td {
	padding: 22px 24px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.12)) !important;
}

.page-evaluacion-seguimiento .evaluacion-list-table > tbody > tr:nth-child(2) > td {
	padding: 14px 18px !important;
	color: var(--davinci-ink);
	font-weight: 850;
	background: #ffffff !important;
	border-bottom: 1px solid var(--davinci-line) !important;
}

.page-evaluacion-seguimiento .evaluacion-list-table > tbody > tr:nth-child(n+3) > td {
	padding: 16px 18px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(205, 219, 235, 0.75) !important;
	background: #ffffff !important;
	color: var(--davinci-ink);
	line-height: 1.45;
	vertical-align: middle;
}

.page-evaluacion-seguimiento .evaluacion-list-table a {
	color: var(--davinci-cyan);
	font-weight: 900;
	text-decoration: none;
}

.page-evaluacion-seguimiento #detalle-seguimiento > td {
	padding: 22px 26px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.08), rgba(209, 0, 103, 0.08)) !important;
	text-align: center;
}

.page-evaluacion-seguimiento .evaluacion-list-table input[type="text"],
.page-evaluacion-seguimiento .evaluacion-list-table select,
.page-evaluacion-seguimiento .evaluacion-list-table textarea {
	max-width: 100%;
	box-sizing: border-box;
}

.page-evaluacion-seguimiento .evaluacion-list-table textarea {
	width: 100% !important;
	min-height: 105px;
	resize: vertical;
}

.page-evaluacion-seguimiento .evaluacion-list-table table {
	width: 100% !important;
	margin: 14px 0 18px;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 14px;
	overflow: hidden;
	background: #ffffff;
}

.page-evaluacion-seguimiento .evaluacion-list-table table td {
	padding: 14px 16px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(205, 219, 235, 0.75) !important;
	font-size: 1rem !important;
	line-height: 1.35;
	vertical-align: middle;
}

.page-evaluacion-seguimiento .evaluacion-list-table table tr:last-child td {
	border-bottom: 0 !important;
}

.page-evaluacion-seguimiento .evaluacion-list-table table td:first-child {
	width: 32%;
	font-weight: 850;
	color: var(--davinci-ink);
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-propuestas-table tr.evaluacion-propuesta-row > td {
	padding: 14px 16px !important;
	background: #ffffff !important;
	font-size: 1rem !important;
	line-height: 1.35 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	vertical-align: middle !important;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-propuestas-table tr.evaluacion-propuesta-row > td:first-child {
	width: 32% !important;
	color: var(--davinci-ink) !important;
	font-size: 1rem !important;
	font-weight: 850 !important;
	text-align: left !important;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-propuestas-table textarea {
	width: 100% !important;
	min-height: 105px;
}

/* Detalle compacto del seguimiento (versiones históricas y actual) */
.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table {
	width: 100% !important;
	margin: 12px 0 20px !important;
	table-layout: fixed;
	border-radius: 14px;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table tr,
.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table tr:first-child {
	background: #fff !important;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table td,
.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table tr:first-child td {
	padding: 13px 16px !important;
	background: #fff !important;
	color: var(--davinci-ink) !important;
	font-family: inherit !important;
	font-size: .96rem !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.35 !important;
	text-align: left !important;
	text-transform: none !important;
	vertical-align: middle !important;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table td:first-child,
.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table tr:first-child td:first-child {
	width: 31% !important;
	font-size: .92rem !important;
	font-weight: 850 !important;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table textarea {
	width: 100% !important;
	min-height: 82px !important;
	padding: 12px 14px !important;
	font-size: .95rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-indicadores-table td:last-child > p:first-child,
.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-medidas-table td:last-child {
	font-size: .95rem !important;
	line-height: 1.8 !important;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table input[type="radio"] {
	width: 18px !important;
	height: 18px !important;
	margin: 0 4px 0 10px !important;
	vertical-align: -3px !important;
}

/* Controles estables: no deben crecer, desplazarse ni saltar de línea al marcarse */
.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="radio"],
.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="checkbox"] {
	display: inline-block !important;
	position: static !important;
	box-sizing: border-box !important;
	flex: 0 0 18px !important;
	width: 18px !important;
	min-width: 18px !important;
	max-width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	max-height: 18px !important;
	margin: 0 5px 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	box-shadow: none !important;
	outline-offset: 2px;
	transform: none !important;
	animation: none !important;
	vertical-align: -3px !important;
}

.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="checkbox"] {
	border-radius: 3px;
}

.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="radio"]:hover,
.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="radio"]:focus,
.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="radio"]:active,
.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="radio"]:checked,
.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="checkbox"]:hover,
.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="checkbox"]:focus,
.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="checkbox"]:active,
.page-evaluacion-seguimiento #cuerpo form[name="form2"] input[type="checkbox"]:checked {
	width: 18px !important;
	height: 18px !important;
	margin: 0 5px 0 10px !important;
	box-shadow: none !important;
	transform: none !important;
	animation: none !important;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-medidas-table td:last-child,
.page-evaluacion-seguimiento #cuerpo .evaluacion-indicadores-table td:last-child > p:first-child {
	white-space: nowrap;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-indicadores-table #motivos1,
.page-evaluacion-seguimiento #cuerpo .evaluacion-indicadores-table #motivos2 {
	white-space: normal;
}

.page-evaluacion-seguimiento #cuerpo form[name="form2"] p:has(> strong + input#atenciondiv),
.page-evaluacion-seguimiento #cuerpo form[name="form2"] p:has(> input#atenciondiv) {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: nowrap;
}

.page-evaluacion-seguimiento #cuerpo form[name="form2"] p:has(> input#atenciondiv) > strong {
	flex: 1 1 auto;
	margin: 0 !important;
}

.page-evaluacion-seguimiento #cuerpo form[name="form2"] table:not(.evaluacion-compact-table) td:last-child:has(> input[type="checkbox"]) {
	white-space: nowrap;
	text-align: center !important;
}

.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-indicadores-table #motivos1,
.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-indicadores-table #motivos2 {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--davinci-line);
}

@media (max-width: 760px) {
	.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table,
	.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table tbody,
	.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table tr,
	.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table td {
		display: block;
		width: 100% !important;
	}

	.page-evaluacion-seguimiento #cuerpo .evaluacion-list-table table.evaluacion-compact-table td:first-child {
		padding-bottom: 5px !important;
		border-bottom: 0 !important;
	}
}

.page-evaluacion-seguimiento .evaluacion-list-table p {
	margin: 0 0 14px;
	line-height: 1.45;
}

.page-evaluacion-seguimiento .evaluacion-list-table p:empty,
.page-evaluacion-seguimiento .evaluacion-list-table label:empty {
	display: none !important;
}

.page-evaluacion-seguimiento .evaluacion-list-table p:has(> strong:first-child) {
	margin-top: 22px;
}

.page-evaluacion-seguimiento .evaluacion-list-table > tbody > tr:nth-child(n+4) > td[colspan="3"] {
	padding: 22px 24px !important;
	background: #ffffff !important;
}

.page-evaluacion-seguimiento .evaluacion-list-table > tbody > tr:nth-child(n+4) > td[colspan="3"] > p:first-child {
	margin-top: 0;
}

.page-evaluacion-seguimiento .evaluacion-list-table > tbody > tr:nth-child(n+4) strong {
	display: inline-block;
	margin-bottom: 8px;
}

.page-evaluacion-seguimiento .evaluacion-list-table > tbody > tr:nth-child(n+4) input[type="radio"],
.page-evaluacion-seguimiento .evaluacion-list-table > tbody > tr:nth-child(n+4) input[type="checkbox"] {
	margin: 0 6px 0 14px;
	vertical-align: middle;
}

.page-evaluacion-seguimiento .evaluacion-list-table > tbody > tr:nth-child(n+4) input[type="text"],
.page-evaluacion-seguimiento .evaluacion-list-table > tbody > tr:nth-child(n+4) select {
	margin: 6px 10px 6px 0;
}

.page-evaluacion-seguimiento .evaluacion-list-table blockquote {
	display: none;
}

.page-evaluacion-seguimiento #cresultados {
	left: 50% !important;
	top: 220px !important;
	width: min(760px, calc(100% - 48px));
	transform: translateX(-50%);
	padding: 18px;
	border: 1px solid var(--davinci-line);
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(23, 32, 51, 0.18);
}

.page-evaluacion-seguimiento #cresultados[style*="visibility:hidden"],
.page-evaluacion-seguimiento #cresultados[style*="visibility: hidden"] {
	display: none !important;
}

.page-evaluacion-seguimiento form[name="form2"] .Estilo5 {
	color: var(--davinci-ink) !important;
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	font-weight: 850;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

@media (max-width: 760px) {
	.page-evaluacion-seguimiento .evaluacion-card-message {
		align-items: flex-start;
		margin: 18px 18px 0;
		padding: 14px;
	}

	.page-evaluacion-seguimiento .evaluacion-filter-grid {
		grid-template-columns: 1fr;
		padding: 28px 22px 18px;
	}

	.page-evaluacion-seguimiento .evaluacion-filter-grid label {
		text-align: left;
	}
}

.page-planlectura #cuerpo {
	position: relative;
}

.page-planlectura #cuerpo > ul,
.page-planlectura #cuerpo > li {
	display: none !important;
}

.page-planlectura #nav ul,
.page-planlectura #nav li:hover ul ul,
.page-planlectura #nav li:hover ul li:hover ul ul,
.page-planlectura #nav li:hover ul li:hover ul li:hover ul ul {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

.page-planlectura #nav li.top:hover > ul.sub {
	left: 0 !important;
	top: 100% !important;
	width: min(320px, calc(100vw - 32px)) !important;
	height: auto !important;
	padding: 8px !important;
	overflow: visible !important;
	visibility: visible !important;
}

.page-planlectura #nav li:hover ul.sub li:not(:has(a)):not(.menu-section):not(.menu-divider) {
	display: block !important;
	width: 100% !important;
	min-height: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	color: transparent !important;
	font-size: 0 !important;
}

.page-planlectura form[name="form2"] {
	width: min(980px, calc(100% - 32px));
	margin: 42px auto;
	padding: 0;
	background: #ffffff;
	border: 1px solid var(--davinci-border);
	border-radius: 18px;
	box-shadow: 0 20px 45px rgba(16, 42, 67, 0.08);
	overflow: hidden;
}

.page-planlectura form[name="form2"] > table {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse;
	background: #ffffff !important;
	table-layout: fixed;
}

.page-planlectura #detalle-planlectura td:first-child,
.page-planlectura form[name="form2"] > table > tbody > tr td:first-child {
	width: 24%;
}

.page-planlectura form[name="form2"] > table > tbody > tr:first-child > td {
	padding: 24px 28px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.12)) !important;
	border: 0 !important;
	text-align: center;
}

.page-planlectura form[name="form2"] .Estilo5 {
	color: var(--davinci-ink) !important;
	font-size: clamp(1.45rem, 2.4vw, 2.25rem);
	font-weight: 900;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.page-planlectura form[name="form2"] > table > tbody > tr:nth-child(2) > td {
	padding: 16px 18px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.08), rgba(209, 0, 103, 0.08)) !important;
	border: 0 !important;
	color: var(--davinci-ink);
	font-weight: 900;
}

.page-planlectura form[name="form2"] > table > tbody > tr:nth-child(n+3) > td {
	padding: 14px 18px !important;
	border: 0 !important;
	border-top: 1px solid var(--davinci-border) !important;
	background: #ffffff !important;
	color: var(--davinci-ink);
	vertical-align: middle;
}

.page-planlectura form[name="form2"] a {
	color: var(--davinci-cyan);
	font-weight: 900;
	text-decoration: none;
}

.page-planlectura form[name="form2"] a:hover {
	color: var(--davinci-magenta);
}

.page-planlectura form[name="form2"] input[type="text"] {
	width: 100% !important;
	min-width: 0;
	height: 42px;
	padding: 8px 10px;
	border: 1px solid var(--davinci-border);
	border-radius: 10px;
	background: #ffffff;
	box-sizing: border-box;
	font-weight: 800;
	text-align: center;
}

.page-planlectura form[name="form2"] input[type="submit"] {
	width: auto !important;
	min-width: 150px;
	margin: 12px auto;
}

.page-planlectura #detalle-planlectura > td,
.page-planlectura #detalle-planlectura + tr > td {
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.08), rgba(209, 0, 103, 0.08)) !important;
	text-align: center;
}

.page-planlectura #detalle-planlectura > td {
	padding: 18px 20px !important;
}

.page-planlectura #detalle-planlectura strong {
	display: inline-block;
	max-width: 920px;
	font-size: clamp(1.45rem, 2.4vw, 2.15rem);
	line-height: 1.18;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.page-planlectura .planlectura-leyenda > td {
	padding: 18px 20px !important;
	text-align: left !important;
}

.page-planlectura .planlectura-leyenda div {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.page-planlectura .planlectura-leyenda p {
	margin: 0 !important;
	padding: 12px 14px;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(203, 218, 234, 0.9);
	border-radius: 12px;
	font-size: 0.95rem;
	line-height: 1.35;
}

.page-planlectura #detalle-planlectura + tr p {
	margin: 4px 0;
	line-height: 1.45;
}

.page-planlectura #detalle-planlectura + tr + tr > td {
	padding: 13px 10px !important;
	background: #ffffff !important;
	font-size: 0.92rem;
	line-height: 1.25;
	text-align: center;
}

.page-planlectura .planlectura-notas-header > td {
	padding: 14px 10px !important;
	background: #ffffff !important;
	font-size: 0.92rem;
	line-height: 1.25;
	text-align: center;
	vertical-align: middle;
}

.page-planlectura .planlectura-notas-header > td:first-child {
	text-align: left;
}

.page-planlectura .planlectura-notas-header strong {
	display: block;
	font-size: 0.92rem;
	line-height: 1.25;
}

.page-planlectura #detalle-planlectura + tr + tr strong {
	display: block;
	font-size: 0.92rem;
	line-height: 1.25;
}

.page-planlectura #detalle-planlectura + tr + tr > td:first-child {
	text-align: left;
}

.page-planlectura #detalle-planlectura ~ tr td:first-child {
	font-weight: 850;
}

.page-planlectura #detalle-planlectura ~ tr input[type="text"] {
	max-width: 72px;
	margin: 0 auto;
}

.page-planlectura #detalle-planlectura ~ tr:last-child td {
	padding: 22px 18px !important;
}

.page-planlectura .planlectura-empty td {
    padding: 30px 24px !important;
    text-align: center !important;
    background: #f7fafc !important;
}
.page-planlectura .planlectura-empty strong,
.page-planlectura .planlectura-empty span {
    display: block;
}
.page-planlectura .planlectura-empty strong {
    margin-bottom: 7px;
    color: #0c2445;
    font-size: 1rem;
}
.page-planlectura .planlectura-empty span {
    color: #557086;
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.5;
}

@media (max-width: 900px) {
	.page-planlectura form[name="form2"] {
		width: calc(100% - 20px);
		margin: 24px auto;
	}

	.page-planlectura form[name="form2"] > table {
		display: block;
		overflow-x: auto;
		table-layout: auto;
	}

	.page-planlectura form[name="form2"] > table > tbody {
		display: table;
		width: 100%;
		min-width: 720px;
	}

	.page-planlectura .planlectura-leyenda div {
		grid-template-columns: 1fr;
	}
}

.page-encuesta-profes form[name="form2"] {
	width: min(1000px, calc(100% - 32px));
	margin: 44px auto 0;
}

.page-encuesta-profes .encuesta-card {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(23, 32, 51, 0.10);
	font-family: inherit;
	color: var(--davinci-ink);
}

.page-encuesta-profes .encuesta-card__header {
	padding: 20px 24px;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.12));
	text-align: center;
}

.page-encuesta-profes .encuesta-card__header h1 {
	margin: 0;
	color: var(--davinci-ink);
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 850;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.page-encuesta-profes .encuesta-card__intro {
	display: grid;
	grid-template-columns: minmax(220px, 0.8fr) minmax(280px, 1.6fr);
	gap: 18px;
	align-items: center;
	padding: 22px 28px;
	border-bottom: 1px solid var(--davinci-line);
	font-weight: 800;
	line-height: 1.45;
}

.page-encuesta-profes .encuesta-card__intro span {
	color: var(--davinci-muted);
	font-weight: 700;
}

.page-encuesta-profes .encuesta-respuestas {
	padding: 20px 28px 8px;
}

.page-encuesta-profes .encuesta-respuestas__label {
	margin-bottom: 12px;
	color: var(--davinci-cyan);
	font-size: 0.92rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
}

.page-encuesta-profes .encuesta-pregunta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 86px;
	gap: 18px;
	align-items: center;
	padding: 12px 0;
	border-top: 1px solid rgba(205, 219, 235, 0.75);
}

.page-encuesta-profes .encuesta-pregunta__texto {
	font-weight: 750;
	line-height: 1.4;
}

.page-encuesta-profes .encuesta-pregunta__texto span {
	color: var(--davinci-cyan);
	font-weight: 850;
}

.page-encuesta-profes .encuesta-pregunta__respuesta input {
	width: 64px !important;
	height: 48px;
	padding: 0;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 850;
}

.page-encuesta-profes .encuesta-observaciones {
	padding: 12px 28px 0;
}

.page-encuesta-profes .encuesta-observaciones label {
	display: block;
	margin-bottom: 10px;
	font-weight: 800;
	line-height: 1.35;
}

.page-encuesta-profes .encuesta-observaciones textarea {
	width: 100% !important;
	min-height: 136px;
	resize: vertical;
}

.page-encuesta-profes .encuesta-actions {
	display: flex;
	justify-content: center;
	padding: 24px 28px 28px;
}

.page-encuesta-profes .encuesta-actions input[type="submit"] {
	width: auto !important;
	min-width: 150px;
}

@media (max-width: 720px) {
	.page-encuesta-profes form[name="form2"] {
		width: min(100%, calc(100% - 20px));
		margin-top: 24px;
	}

	.page-encuesta-profes .encuesta-card__intro,
	.page-encuesta-profes .encuesta-pregunta {
		grid-template-columns: 1fr;
	}

	.page-encuesta-profes .encuesta-pregunta__respuesta input {
		width: 80px !important;
	}
}

.page-mantenimiento .incidencia-success-form {
	width: min(760px, 100%);
	margin: 0 auto;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.page-mantenimiento .incidencia-success {
	display: grid;
	gap: 10px;
	justify-items: center;
	padding: clamp(26px, 4vw, 42px);
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 20px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.10);
	color: var(--davinci-muted);
	text-align: center;
}

.page-mantenimiento .incidencia-success strong {
	color: var(--davinci-ink) !important;
	font-size: clamp(1.35rem, 2.2vw, 1.9rem);
	font-weight: 850;
	line-height: 1.15;
}

.page-mantenimiento .incidencia-success span {
	max-width: 560px;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.5;
}

.page-mantenimiento .incidencia-mail-status {
	width: min(760px, 100%);
	margin: 14px auto 0;
	padding: 12px 16px;
	background: rgba(0, 138, 169, 0.08);
	border: 1px solid rgba(0, 138, 169, 0.18);
	border-radius: 14px;
	color: var(--davinci-cyan);
	font-weight: 850;
	text-align: center;
}

.page-mantenimiento .proveedor-message {
	display: grid;
	gap: 12px;
	justify-items: center;
	width: min(820px, 100%);
	margin: 34px auto;
	padding: clamp(26px, 4vw, 42px);
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 20px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.10);
	color: var(--davinci-muted);
	text-align: center;
}

.page-mantenimiento .proveedor-message strong {
	color: var(--davinci-ink);
	font-size: clamp(1.35rem, 2.2vw, 1.95rem);
	font-weight: 850;
	line-height: 1.15;
	text-transform: uppercase;
}

.page-mantenimiento .proveedor-message span {
	max-width: 560px;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.45;
}

.page-mantenimiento .proveedor-message input[type="button"] {
	margin-top: 8px;
}

.page-mantenimiento .proveedor-message-error {
	background:
		linear-gradient(135deg, rgba(239, 82, 0, 0.12), rgba(209, 0, 103, 0.08)),
		#ffffff;
}

.page-mantenimiento .proveedores-nuevos-table {
	width: min(1060px, 100%);
	margin: 32px auto 20px;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff;
	border-radius: 18px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.10);
}

.page-mantenimiento .proveedores-nuevos-table td {
	padding: 16px 18px;
	border: 0 !important;
	color: var(--davinci-ink);
	font-size: 1rem;
	line-height: 1.35;
	vertical-align: middle;
}

.page-mantenimiento .proveedores-nuevos-title td {
	padding: 22px 18px 16px;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.14), rgba(209, 0, 103, 0.10)),
		#ffffff;
	color: var(--davinci-ink);
	font-size: clamp(1.55rem, 2.3vw, 2.05rem);
	font-weight: 900;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.page-mantenimiento .proveedores-nuevos-subtitle td {
	padding: 18px;
	background: #ffffff;
	color: var(--davinci-ink);
	font-size: 1.05rem;
	font-weight: 850;
	text-transform: uppercase;
}

.page-mantenimiento .proveedores-nuevos-head td {
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#f8fbff;
	color: var(--davinci-ink);
	font-size: 0.95rem;
	font-weight: 850;
	text-transform: uppercase;
}

.page-mantenimiento .proveedores-nuevos-table tr:not(.proveedores-nuevos-title):not(.proveedores-nuevos-subtitle):not(.proveedores-nuevos-head) td {
	border-top: 1px solid rgba(204, 219, 237, 0.65) !important;
}

.page-mantenimiento .proveedores-nuevos-table tr:not(.proveedores-nuevos-title):not(.proveedores-nuevos-subtitle):not(.proveedores-nuevos-head):hover td {
	background: rgba(0, 138, 169, 0.04);
}

.page-mantenimiento .proveedores-nuevos-table tr:not(.proveedores-nuevos-title):not(.proveedores-nuevos-subtitle):not(.proveedores-nuevos-head) td:nth-child(1),
.page-mantenimiento .proveedores-nuevos-table tr:not(.proveedores-nuevos-title):not(.proveedores-nuevos-subtitle):not(.proveedores-nuevos-head) td:nth-child(4) {
	color: var(--davinci-cyan);
	font-weight: 850;
}

.page-mantenimiento .proveedores-anomalos-form {
	width: min(1080px, 100%);
	margin: 0 auto 28px;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.page-mantenimiento .proveedores-anomalos-card {
	width: 100% !important;
	height: auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.10);
}

.page-mantenimiento .proveedores-anomalos-card > tbody > tr:first-child > td {
	padding: 22px 18px;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.14), rgba(209, 0, 103, 0.10)),
		#ffffff !important;
	border: 0 !important;
}

.page-mantenimiento .proveedores-anomalos-card > tbody > tr:first-child .Estilo5 {
	color: var(--davinci-ink) !important;
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-weight: 900;
	letter-spacing: 0.02em;
}

.page-mantenimiento .proveedores-anomalos-card td {
	border: 0 !important;
	vertical-align: middle;
}

.page-mantenimiento .proveedores-anomalos-card > tbody > tr > td:first-child,
.page-mantenimiento .proveedores-anomalos-card > tbody > tr > td[colspan="2"] {
	padding: 18px;
	color: var(--davinci-ink);
	font-weight: 850;
}

.page-mantenimiento .proveedores-anomalos-table,
.page-mantenimiento .proveedores-anomalos-pedidos {
	width: 100%;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff;
	border-radius: 16px;
}

.page-mantenimiento .proveedores-anomalos-table td,
.page-mantenimiento .proveedores-anomalos-pedidos td {
	padding: 14px 16px;
	border: 0 !important;
	border-top: 1px solid rgba(204, 219, 237, 0.65) !important;
	color: var(--davinci-ink);
	font-size: 0.98rem;
	line-height: 1.35;
	vertical-align: top;
	overflow-wrap: anywhere;
}

.page-mantenimiento .proveedores-anomalos-head td {
	border-top: 0 !important;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#f8fbff;
	color: var(--davinci-ink);
	font-size: 0.9rem;
	font-weight: 850;
	text-transform: uppercase;
	vertical-align: middle;
}

.page-mantenimiento .proveedores-anomalos-empty td {
	padding: 26px 18px;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff;
	color: var(--davinci-ink);
	font-size: clamp(1.25rem, 2.2vw, 1.8rem);
	font-weight: 900;
	text-transform: uppercase;
}

.page-mantenimiento .proveedores-anomalos-table a {
	color: var(--davinci-cyan);
	font-weight: 850;
	text-decoration: none;
}

.page-mantenimiento .proveedores-anomalos-table a:hover {
	color: var(--davinci-magenta);
}

.page-mantenimiento .proveedores-anomalos-actions a {
	color: var(--davinci-cyan);
	font-size: 1.05rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-decoration: none;
}

.page-mantenimiento .proveedores-anomalos-pedidos td:nth-child(1),
.page-mantenimiento .proveedores-anomalos-pedidos td:nth-child(2),
.page-mantenimiento .proveedores-anomalos-pedidos td:nth-child(3) {
	white-space: nowrap;
}

.page-mantenimiento .proveedores-anomalos-pedidos td:nth-child(4),
.page-mantenimiento .proveedores-anomalos-pedidos td:nth-child(5) {
	width: 34%;
}

.page-mantenimiento .pedidos-incidencias-table {
	width: min(1080px, 100%);
	margin: 32px auto 22px;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff;
	border-radius: 18px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.10);
}

.page-mantenimiento .pedidos-incidencias-table td {
	padding: 14px 18px;
	border: 0 !important;
	color: var(--davinci-ink);
	font-size: 1rem;
	line-height: 1.4;
	vertical-align: middle;
	overflow-wrap: anywhere;
}

.page-mantenimiento .pedidos-incidencias-title td {
	padding: 22px 18px 16px;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.14), rgba(209, 0, 103, 0.10)),
		#ffffff;
}

.page-mantenimiento .pedidos-incidencias-title .Estilo1 {
	color: var(--davinci-ink) !important;
	font-size: clamp(1.55rem, 2.3vw, 2.05rem);
	font-weight: 900;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.page-mantenimiento .pedidos-incidencias-subtitle td {
	padding: 16px 18px 22px;
	background: #ffffff;
}

.page-mantenimiento .pedidos-incidencias-subtitle .Estilo1 {
	color: var(--davinci-ink) !important;
	font-size: 1.02rem;
	font-weight: 850;
	text-transform: uppercase;
}

.page-mantenimiento .pedidos-incidencias-provider-head td {
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#f8fbff;
	color: var(--davinci-ink);
	font-size: 0.9rem;
	font-weight: 850;
	text-transform: uppercase;
}

.page-mantenimiento .pedidos-incidencias-provider-row td {
	border-top: 1px solid rgba(204, 219, 237, 0.65) !important;
	background: #ffffff;
	font-weight: 800;
}

.page-mantenimiento .pedidos-incidencias-provider-row td:first-child {
	color: var(--davinci-cyan);
}

.page-mantenimiento .pedidos-incidencias-detail-row > td {
	padding: 0 18px 22px;
	background: #ffffff;
	border-bottom: 1px solid rgba(204, 219, 237, 0.75) !important;
}

.page-mantenimiento .pedidos-incidencias-detail {
	width: 100% !important;
	margin: 0 auto;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff;
	border-radius: 16px;
}

.page-mantenimiento .pedidos-incidencias-detail td {
	padding: 13px 16px;
	border: 0 !important;
	border-top: 1px solid rgba(204, 219, 237, 0.65) !important;
	vertical-align: top;
}

.page-mantenimiento .pedidos-incidencias-detail-title td {
	border-top: 0 !important;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.09)),
		#ffffff;
	color: var(--davinci-ink);
	font-size: clamp(1.2rem, 2vw, 1.65rem);
	font-weight: 900;
	text-transform: uppercase;
	text-align: center;
}

.page-mantenimiento .pedidos-incidencias-detail-head td {
	background: #ffffff;
	color: var(--davinci-ink);
	font-size: 0.88rem;
	font-weight: 850;
	text-transform: uppercase;
	vertical-align: middle;
}

.page-mantenimiento .pedidos-incidencias-detail tr:not(.pedidos-incidencias-detail-title):not(.pedidos-incidencias-detail-head) td:first-child {
	color: var(--davinci-cyan);
	font-weight: 850;
	white-space: nowrap;
}

.page-mantenimiento .pedidos-incidencias-detail tr:not(.pedidos-incidencias-detail-title):not(.pedidos-incidencias-detail-head) td:nth-child(2) {
	white-space: nowrap;
}

.page-listado-pedidos .listado-pedidos-form {
	width: min(1000px, 100%);
	margin: 0 auto 28px;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.page-listado-pedidos .listado-pedidos-form > table {
	width: min(1000px, 100%) !important;
	height: auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.10);
}

.page-listado-pedidos .listado-pedidos-form td {
	border: 0 !important;
}

.page-listado-pedidos .listado-pedidos-form tr:first-child td {
	padding: 22px 18px;
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.14), rgba(209, 0, 103, 0.10)),
		#ffffff !important;
}

.page-listado-pedidos .listado-pedidos-form .Estilo5 {
	color: var(--davinci-ink) !important;
	font-size: clamp(1.55rem, 2.4vw, 2rem);
	font-weight: 900;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.page-listado-pedidos .listado-pedidos-form tr:nth-child(2) td {
	padding: 22px 18px 28px;
}

.page-listado-pedidos .listado-pedidos-form tr:nth-child(2) div[align="center"] {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.page-listado-pedidos .listado-pedidos-form .Estilo7,
.page-listado-pedidos .listado-pedidos-form .Estilo10 {
	display: contents;
	color: var(--davinci-ink) !important;
	font-weight: 850;
}

.page-listado-pedidos .listado-pedidos-form #diai,
.page-listado-pedidos .listado-pedidos-form #mesi,
.page-listado-pedidos .listado-pedidos-form #diaf,
.page-listado-pedidos .listado-pedidos-form #mesf {
	width: 62px !important;
	min-width: 62px;
	max-width: 62px;
	text-align: center;
}

.page-listado-pedidos .listado-pedidos-form #anoi,
.page-listado-pedidos .listado-pedidos-form #anof {
	width: 88px !important;
	min-width: 88px;
	max-width: 88px;
	text-align: center;
}

.page-listado-pedidos .listado-pedidos-form input[type="submit"] {
	margin-top: 10px;
}

@media (max-width: 760px) {
	.page-mantenimiento .proveedores-nuevos-table td {
		padding: 12px 10px;
		font-size: 0.9rem;
	}

	.page-mantenimiento .proveedores-nuevos-head td {
		font-size: 0.78rem;
	}

	.page-mantenimiento .proveedores-anomalos-card > tbody > tr > td,
	.page-mantenimiento .proveedores-anomalos-table td,
	.page-mantenimiento .proveedores-anomalos-pedidos td {
		padding: 12px 10px;
		font-size: 0.88rem;
	}

	.page-mantenimiento .pedidos-incidencias-table td,
	.page-mantenimiento .pedidos-incidencias-detail td {
		padding: 12px 10px;
		font-size: 0.88rem;
	}

	.page-mantenimiento .pedidos-incidencias-provider-head td,
	.page-mantenimiento .pedidos-incidencias-detail-head td {
		font-size: 0.78rem;
	}

	.page-listado-pedidos .listado-pedidos-form tr:nth-child(2) div[align="center"] {
		gap: 8px;
	}
}

.page-incidencias-list #cuerpo > h2.titulo,
.page-mantenimiento #cuerpo > h2.titulo:has(+ br + .incidencia-list-form),
.page-mantenimiento #cuerpo > h2.titulo:has(+ .incidencia-list-form) {
	display: none;
}

.page-incidencias-list #cuerpo > .incidencia-list-form,
.page-mantenimiento .incidencia-list-form {
	width: min(1000px, 100%);
	margin: 0 auto 26px !important;
	padding: 0 !important;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 22px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.10);
	overflow: hidden;
}

.page-incidencias-list .incidencia-list-title,
.page-mantenimiento .incidencia-list-title {
	padding: clamp(20px, 3vw, 30px);
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.13), rgba(209, 0, 103, 0.10)),
		#ffffff;
	border-bottom: 1px solid var(--davinci-line);
	color: var(--davinci-ink);
	font-size: clamp(1.55rem, 2.7vw, 2.2rem);
	font-weight: 850;
	line-height: 1.12;
	text-align: center;
	text-transform: uppercase;
}

.page-incidencias-list .incidencia-list-body,
.page-mantenimiento .incidencia-list-body {
	display: grid;
	gap: 18px;
	padding: clamp(20px, 3vw, 34px);
}

.page-incidencias-list .incidencia-list-section,
.page-mantenimiento .incidencia-list-section {
	margin: 0;
	padding: 18px;
	background: rgba(0, 138, 169, 0.035);
	border: 1px solid var(--davinci-line);
	border-radius: 18px;
}

.page-incidencias-list .incidencia-list-section legend,
.page-mantenimiento .incidencia-list-section legend {
	padding: 0 8px;
	color: var(--davinci-cyan);
	font-size: 0.92rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.page-incidencias-list .incidencia-list-options,
.page-mantenimiento .incidencia-list-options {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 10px;
}

.page-incidencias-list .incidencia-list-options label,
.page-mantenimiento .incidencia-list-options label {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 48px;
	margin: 0;
	padding: 11px 13px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 999px;
	color: var(--davinci-ink);
	font-weight: 800;
	box-shadow: 0 8px 18px rgba(23, 32, 51, 0.05);
}

.page-incidencias-list .incidencia-list-options label:has(input:checked),
.page-mantenimiento .incidencia-list-options label:has(input:checked) {
	background: linear-gradient(135deg, var(--davinci-cyan), var(--davinci-pink));
	border-color: transparent;
	color: #ffffff;
	box-shadow: 0 14px 28px rgba(209, 0, 103, 0.18);
}

.page-incidencias-list .incidencia-list-grid,
.page-mantenimiento .incidencia-list-grid {
	display: grid;
	gap: 14px;
}

.page-incidencias-list .incidencia-list-grid-two,
.page-mantenimiento .incidencia-list-grid-two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-incidencias-list .incidencia-list-grid label,
.page-mantenimiento .incidencia-list-grid label {
	display: grid;
	gap: 8px;
	color: var(--davinci-ink);
	font-weight: 850;
}

.page-incidencias-list .incidencia-list-dates,
.page-mantenimiento .incidencia-list-dates {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 14px;
}

.page-incidencias-list .incidencia-list-dates .incidencia-date-field,
.page-mantenimiento .incidencia-list-dates .incidencia-date-field {
	display: grid;
	gap: 8px;
	inline-size: 180px;
	min-inline-size: 180px;
	max-inline-size: 180px;
	color: var(--davinci-ink);
	font-weight: 850;
}

.page-incidencias-list .incidencia-list-dates input[type="date"],
.page-mantenimiento .incidencia-list-dates input[type="date"],
.page-incidencias-list .incidencia-list-dates input[type="date"]:focus,
.page-mantenimiento .incidencia-list-dates input[type="date"]:focus {
	inline-size: 180px !important;
	min-inline-size: 180px !important;
	max-inline-size: 180px !important;
	width: 180px !important;
	min-width: 180px !important;
	max-width: 180px !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-incidencias-list .incidencia-list-dates input[type="date"]::-webkit-calendar-picker-indicator,
.page-mantenimiento .incidencia-list-dates input[type="date"]::-webkit-calendar-picker-indicator {
	margin-left: 4px;
}

.page-incidencias-list .incidencia-list-grid input[type="date"],
.page-incidencias-list .incidencia-list-grid select,
.page-mantenimiento .incidencia-list-grid input[type="date"],
.page-mantenimiento .incidencia-list-grid select {
	width: 100% !important;
	min-width: 0;
}

.page-incidencias-list .incidencia-list-grid input[type="date"],
.page-mantenimiento .incidencia-list-grid input[type="date"] {
	width: 180px !important;
	max-width: 180px !important;
	flex: 0 0 180px;
}

.page-incidencias-list .incidencia-list-grid label:has(input[type="date"]),
.page-mantenimiento .incidencia-list-grid label:has(input[type="date"]),
.page-incidencias-list .incidencia-date-field,
.page-mantenimiento .incidencia-date-field {
	width: 180px;
	max-width: 100%;
}

.page-incidencias-list .incidencia-list-grid input[type="date"]:focus,
.page-mantenimiento .incidencia-list-grid input[type="date"]:focus {
	width: 180px !important;
	max-width: 180px !important;
}

.page-incidencias-list .incidencia-list-submit,
.page-mantenimiento .incidencia-list-submit {
	display: flex;
	justify-content: center;
	padding-top: 4px;
}

.page-incidencias-list .incidencia-list-submit input[type="submit"],
.page-mantenimiento .incidencia-list-submit input[type="submit"] {
	min-width: 170px;
}

.page-mantenimiento .incidencia-list-back {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-align: center;
}

.page-mantenimiento .incidencia-list-table {
	table-layout: fixed;
}

.page-mantenimiento .incidencia-list-table td {
	font-size: 0.9rem;
}

.page-mantenimiento #cuerpo .incidencia-list-table tr:first-child > td {
	padding: 14px 12px !important;
	font-size: clamp(1rem, 1.45vw, 1.25rem) !important;
	line-height: 1.15;
}

.page-mantenimiento .incidencia-classification-form {
	width: min(1000px, 100%);
	margin: 0 auto 26px !important;
	padding: 0 !important;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 22px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.10);
	overflow: hidden;
}

.page-mantenimiento .incidencia-classification-form .incidencia-list-title {
	margin: 0;
}

.page-mantenimiento #cuerpo .incidencia-classification-table {
	margin: 0 !important;
	border-width: 0 !important;
	border-top: 1px solid var(--davinci-line) !important;
	border-radius: 0 !important;
	box-shadow: none;
}

.page-mantenimiento #cuerpo .incidencia-classification-table tr:first-child > td {
	font-size: clamp(1rem, 1.8vw, 1.35rem) !important;
	line-height: 1.25;
}

.page-mantenimiento .incidencia-resolution-form {
	width: min(1000px, 100%);
	margin: 28px auto 0;
	padding: 0 !important;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 20px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.10);
	overflow: hidden;
}

.page-mantenimiento .incidencia-resolution-title {
	display: block;
	width: 100%;
	margin: 0;
	padding: clamp(18px, 3vw, 26px);
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.10)),
		#ffffff;
	border-bottom: 1px solid var(--davinci-line);
	color: var(--davinci-ink);
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-weight: 850;
	line-height: 1.15;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.page-mantenimiento .incidencia-resolution-body {
	display: grid;
	gap: 18px;
	padding: clamp(20px, 3.2vw, 34px);
}

.page-mantenimiento .incidencia-field {
	display: grid;
	gap: 8px;
}

.page-mantenimiento .incidencia-field label,
.page-mantenimiento .incidencia-actions legend {
	color: var(--davinci-ink);
	font-size: 0.98rem;
	font-weight: 850;
	letter-spacing: 0.01em;
}

.page-mantenimiento .incidencia-field select,
.page-mantenimiento .incidencia-field textarea {
	width: 100%;
}

.page-mantenimiento .incidencia-resolution-text textarea {
	min-height: 150px;
	resize: vertical;
}

.page-mantenimiento .incidencia-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 16px;
	background: rgba(0, 138, 169, 0.04);
	border: 1px solid var(--davinci-line);
	border-radius: 16px;
}

.page-mantenimiento .incidencia-actions legend {
	width: 100%;
	margin-bottom: 2px;
}

.page-mantenimiento .incidencia-actions label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 10px 14px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 999px;
	color: var(--davinci-ink);
	font-weight: 800;
	line-height: 1.25;
	box-shadow: 0 8px 18px rgba(23, 32, 51, 0.06);
}

.page-mantenimiento .incidencia-actions input[type="radio"] {
	flex: 0 0 auto;
}

.page-mantenimiento .incidencia-resolution-submit {
	display: flex;
	justify-content: center;
	padding-top: 6px;
}

@media (max-width: 860px) {
	.page-mantenimiento #cuerpo,
	.page-mantenimiento #cuerpo_e {
		padding: 22px 18px;
	}

	.page-mantenimiento #cuerpo > form,
	.page-mantenimiento #cuerpo_e > form {
		padding: 18px;
		border-radius: 16px;
	}

	.page-mantenimiento .incidencia-list-grid-two {
		grid-template-columns: 1fr;
	}

	.page-mantenimiento .incidencia-list-grid input[type="date"] {
		max-width: 100% !important;
	}

	.page-mantenimiento .incidencia-list-grid input[type="date"]:focus {
		max-width: 100% !important;
	}
}

@media (max-width: 620px) {
	.page-mantenimiento #cuerpo,
	.page-mantenimiento #cuerpo_e {
		padding: 18px 14px;
	}

	.page-mantenimiento #cuerpo td:has(.Estilo1),
	.page-mantenimiento #cuerpo_e td:has(.Estilo1),
	.page-mantenimiento #cuerpo td > div[align="right"],
	.page-mantenimiento #cuerpo_e td > div[align="right"] {
		width: 100% !important;
		text-align: left;
		justify-content: flex-start;
	}
}

.rojo {
	display: inline-block;
	padding: 10px 12px;
	background: #dc3545;
	border-radius: 10px;
	color: #ffffff;
	font-family: inherit;
}

.rojo2 {
	color: #dc3545;
	font-family: inherit;
}

.login-card,
.login-message {
	width: min(560px, 100%);
	margin: 42px auto;
	padding: clamp(24px, 4vw, 38px);
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 22px;
	box-shadow: 0 18px 46px rgba(23, 32, 51, 0.12);
}

/* El acceso no necesita reservar espacio para un menú todavía inexistente. */
.login-page #navegador {
	display: none;
}

.login-page #cuerpo {
	min-height: 0;
	padding: 28px 32px 36px;
}

.login-page #lateral {
	min-height: 0;
}

.login-page .login-card,
.login-page .login-message {
	margin: 0 auto;
}

.login-brand {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	color: var(--davinci-muted);
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.login-brand img {
	width: 72px;
	height: 72px;
	object-fit: contain;
	padding: 8px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 16px;
	box-shadow: 0 10px 24px rgba(23, 32, 51, 0.08);
}

.login-card h1 {
	margin: 0;
	font-size: clamp(1.9rem, 4vw, 2.65rem);
	line-height: 1.05;
}

.login-intro {
	margin: 10px 0 28px;
	color: var(--davinci-muted);
	font-size: 1.02rem;
}

.login-grid {
	display: grid;
	gap: 18px;
	margin-bottom: 22px;
}

.login-grid label {
	display: grid;
	gap: 8px;
	margin: 0;
	color: var(--davinci-ink);
	font-weight: 800;
}

.login-submit {
	width: 100%;
	margin-top: 4px;
}

.login-help {
	display: block;
	width: fit-content;
	margin: 20px auto 0;
	color: var(--davinci-cyan);
	font-weight: 700;
}

.login-alert {
	margin: 0 0 18px;
	padding: 14px 16px;
	background: #fff4f6;
	border: 1px solid #ffd1d9;
	border-radius: 14px;
	color: #b42335;
	font-weight: 800;
	text-align: center;
}

@media (max-width: 620px) {
	.login-page #cuerpo {
		padding: 18px 14px 24px;
	}
}

.page-welcome #navegador {
	padding: 12px 16px;
	overflow: visible;
}

.page-welcome #nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	font-family: inherit;
}

.page-welcome #nav li.top {
	position: relative;
	float: none;
	display: block;
}

.page-welcome #nav li a.top_link,
.page-welcome #nav li a.top_link span,
.page-welcome #nav li a.top_link span.down,
.page-welcome #nav li:hover > a.top_link,
.page-welcome #nav li:hover > a.top_link span,
.page-welcome #nav li:hover > a.top_link span.down {
	float: none;
	display: inline-flex;
	align-items: center;
	width: auto;
	height: auto;
	min-height: 40px;
	padding: 0 14px;
	background: transparent;
	color: var(--davinci-ink);
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.2;
	border-radius: 999px;
}

.page-welcome #nav li a.top_link {
	background: #f4f7fb;
	border: 1px solid var(--davinci-line);
	box-shadow: none;
}

.page-welcome #nav li a.top_link:hover,
.page-welcome #nav li:hover > a.top_link {
	background: linear-gradient(135deg, var(--davinci-cyan), var(--davinci-pink));
	color: #ffffff !important;
	border-color: transparent;
	box-shadow: 0 12px 26px rgba(0, 138, 169, 0.18);
}

.page-welcome #nav li a.top_link:hover span,
.page-welcome #nav li a.top_link:hover span.down,
.page-welcome #nav li:hover > a.top_link span,
.page-welcome #nav li:hover > a.top_link span.down {
	color: #ffffff !important;
}

.page-welcome #nav li:hover ul.sub {
	left: 0;
	top: 100%;
	width: min(320px, calc(100vw - 32px));
	max-height: none;
	padding: 8px;
	overflow: visible;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.16);
	white-space: normal;
}

.page-welcome #nav li:has(> a#tutoria):hover ul.sub {
	left: auto;
	right: 0;
}

.page-welcome #nav a#tutoria + ul.sub {
	left: auto;
	right: 0;
}

.page-welcome #nav li:hover ul.sub li,
.page-welcome #nav li:hover ul.sub li a {
	float: none;
	display: block;
	width: 100%;
	height: auto;
	min-height: 34px;
	line-height: 1.25;
}

.page-welcome #nav li:hover ul.sub li {
	color: var(--davinci-muted);
	font-size: 0.78rem;
	font-weight: 800;
}

.page-welcome #nav li:hover ul.sub li a {
	padding: 9px 10px;
	color: var(--davinci-ink);
	text-indent: 0;
	border-radius: 10px;
}

.page-welcome #nav li ul.sub li a.fly,
.page-welcome #nav li:hover ul.sub li a.fly:hover,
.page-welcome #nav li:hover ul li:hover > a.fly {
	background-image: none;
}

.page-welcome #nav li:hover ul.sub li a:hover {
	background: #eef7f9;
	color: var(--davinci-cyan);
}

.page-welcome #nav li:hover ul li:hover ul,
.page-welcome #nav li:hover ul li:hover ul li:hover ul,
.page-welcome #nav li:hover ul li:hover ul li:hover ul li:hover ul,
.page-welcome #nav li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul {
	left: 100%;
	top: 0;
	width: 280px;
	padding: 8px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.16);
	white-space: normal;
}

/* Menu moderno global del SGC */
#navegador {
	padding: 12px 16px;
	overflow: visible;
}

#nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	font-family: inherit;
}

#nav li.top {
	position: relative;
	float: none;
	display: block;
}

#nav li a.top_link,
#nav li a.top_link span,
#nav li a.top_link span.down,
#nav li:hover > a.top_link,
#nav li:hover > a.top_link span,
#nav li:hover > a.top_link span.down {
	float: none;
	display: inline-flex;
	align-items: center;
	width: auto;
	height: auto;
	min-height: 40px;
	padding: 0 14px;
	background: transparent;
	color: var(--davinci-ink);
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.2;
	border-radius: 999px;
}

#nav li a.top_link {
	background: #f4f7fb;
	border: 1px solid var(--davinci-line);
	box-shadow: none;
}

#nav li a.top_link:hover,
#nav li:hover > a.top_link {
	background: linear-gradient(135deg, var(--davinci-cyan), var(--davinci-pink));
	color: #ffffff;
	border-color: transparent;
	box-shadow: 0 12px 26px rgba(0, 138, 169, 0.18);
}

#nav li:hover ul.sub {
	left: 0;
	top: 100%;
	width: min(320px, calc(100vw - 32px));
	max-height: none;
	padding: 8px;
	overflow: visible;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.16);
	white-space: normal;
}

#nav li:has(> a#tutoria):hover ul.sub,
#nav li:has(> a#profes):hover ul.sub,
#nav li:has(> a#indicadores):hover ul.sub,
#nav li:has(> a#empresas):hover ul.sub {
	left: auto;
	right: 0;
}

#nav a#tutoria + ul.sub,
#nav a#profes + ul.sub,
#nav a#indicadores + ul.sub,
#nav a#empresas + ul.sub {
	left: auto;
	right: 0;
}

#nav li:hover ul.sub li,
#nav li:hover ul.sub li a {
	float: none;
	display: block;
	width: 100%;
	height: auto;
	min-height: 34px;
	line-height: 1.25;
}

#nav li:hover ul.sub li {
	color: var(--davinci-muted);
	font-size: 0.78rem;
	font-weight: 800;
}

#nav li:hover ul.sub li.menu-section,
#nav li:hover ul li:hover ul li.menu-section,
.page-welcome #nav li:hover ul.sub li.menu-section,
.page-welcome #nav li:hover ul li:hover ul li.menu-section {
	display: block;
	width: 100%;
	min-height: 0;
	margin: 8px 0 6px;
	padding: 6px 8px;
	background: #f4f7fb;
	border-radius: 999px;
	color: var(--davinci-muted);
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	white-space: normal;
	overflow-wrap: anywhere;
}

#nav li:hover ul.sub li.menu-divider,
#nav li:hover ul li:hover ul li.menu-divider,
.page-welcome #nav li:hover ul.sub li.menu-divider,
.page-welcome #nav li:hover ul li:hover ul li.menu-divider {
	display: block;
	width: 100%;
	min-height: 0;
	height: 1px;
	margin: 8px 0;
	padding: 0;
	background: var(--davinci-line);
	overflow: hidden;
}

#nav li:hover ul.sub li a {
	padding: 9px 10px;
	color: var(--davinci-ink);
	text-indent: 0;
	border-radius: 10px;
}

#nav li ul.sub li a.fly,
#nav li:hover ul.sub li a.fly:hover,
#nav li:hover ul li:hover > a.fly {
	background-image: none;
}

#nav li:hover ul.sub li a:hover {
	background: #eef7f9;
	color: var(--davinci-cyan);
}

#nav li:hover ul li:hover ul,
#nav li:hover ul li:hover ul li:hover ul,
#nav li:hover ul li:hover ul li:hover ul li:hover ul,
#nav li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul {
	left: 100%;
	top: 0;
	width: 280px;
	padding: 8px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.16);
	white-space: normal;
}

.welcome-panel {
	margin-bottom: 24px;
	padding: clamp(24px, 4vw, 38px);
	background:
		linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.08)),
		#ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 22px;
	box-shadow: 0 18px 46px rgba(23, 32, 51, 0.10);
}

.welcome-eyebrow {
	width: fit-content;
	margin: 0 0 12px;
	padding: 6px 10px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 999px;
	color: var(--davinci-cyan);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.welcome-panel h1 {
	margin: 0;
	font-size: clamp(1.9rem, 4vw, 3rem);
	line-height: 1.05;
}

.welcome-copy {
	max-width: 680px;
	margin: 12px 0 0;
	color: var(--davinci-muted);
	font-size: 1.05rem;
}

.welcome-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 20px;
}

.welcome-card {
	display: flex;
	min-height: 170px;
	flex-direction: column;
	justify-content: space-between;
	padding: 20px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 18px;
	color: var(--davinci-ink);
	text-decoration: none;
	box-shadow: 0 12px 30px rgba(23, 32, 51, 0.07);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.welcome-card:hover,
.welcome-card:focus {
	color: var(--davinci-ink);
	transform: translateY(-3px);
	border-color: rgba(0, 138, 169, 0.35);
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.13);
}

.welcome-card-kicker {
	width: fit-content;
	padding: 5px 10px;
	background: rgba(0, 138, 169, 0.10);
	border-radius: 999px;
	color: var(--davinci-cyan);
	font-size: 0.76rem;
	font-weight: 900;
	text-transform: uppercase;
}

.welcome-card strong {
	margin-top: 18px;
	font-size: 1.12rem;
}

.welcome-card span:last-child {
	margin-top: 8px;
	color: var(--davinci-muted);
	font-size: 0.94rem;
}

.welcome-note {
	display: grid;
	gap: 6px;
	padding: 18px 20px;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-left: 5px solid var(--davinci-pink);
	border-radius: 16px;
	color: var(--davinci-muted);
}

.welcome-note strong {
	color: var(--davinci-ink);
}

.welcome-user {
	display: grid;
	justify-items: center;
	gap: 10px;
	margin-bottom: 22px;
	color: var(--davinci-ink);
	text-align: center;
}

.welcome-user img {
	width: 84px;
	height: 84px;
	object-fit: cover;
	border: 4px solid #ffffff;
	border-radius: 24px;
	box-shadow: 0 12px 28px rgba(23, 32, 51, 0.16);
}

ol,
ul {
	padding-left: 1.25rem;
}

img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 900px) {
	body {
		padding: 12px;
	}

	#borde,
	#contenedor {
		min-height: calc(100vh - 24px);
	}

	#contenedor {
		border-radius: 16px;
	}

	#foto {
		min-height: 96px;
		padding: 20px 20px 20px 116px;
	}

	#foto::before {
		left: 20px;
		width: 76px;
		height: 76px;
		border-radius: 14px;
	}

	#navegador {
		overflow-x: hidden;
	}

	#cuerpo,
	#cuerpo_e,
	#cuerpo_i,
	#cuerpo_d,
	#lateral,
	#lateral_ancho {
		flex: 1 1 100%;
		width: 100%;
		min-height: 0;
		padding: 22px 18px;
		border-left: 0;
		border-top: 1px solid var(--davinci-line);
	}

	#pie {
		padding: 16px 18px;
		text-align: center;
	}

	table[align="center"] {
		width: 100%;
	}
}

@media (max-width: 620px) {
	body {
		padding: 0;
		background: #f4f7fb;
		overflow-x: hidden;
	}

	#borde,
	#contenedor {
		width: 100%;
		min-height: 100vh;
		max-width: 100%;
		overflow-x: hidden;
	}

	#contenedor {
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	#foto {
		padding: 92px 18px 22px;
		text-align: center;
	}

	#foto::before {
		left: 50%;
		top: 18px;
		width: 64px;
		height: 64px;
		transform: translateX(-50%);
	}

	#foto::after {
		font-size: 1.45rem;
	}

	#cuerpo,
	#cuerpo_e,
	#cuerpo_i,
	#cuerpo_d,
	#lateral,
	#lateral_ancho {
		padding: 18px 14px;
	}

	h1[align="center"] {
		font-size: 1.45rem;
	}

	table,
	tbody,
	tr,
	td,
	th {
		display: block;
		width: 100% !important;
	}

	td,
	th {
		border-bottom: 1px solid var(--davinci-line) !important;
	}

	#nav {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	#nav li.top {
		width: 100%;
		max-width: 100%;
	}

	#nav li a.top_link {
		width: 100%;
		justify-content: center;
	}

	#nav li a.top_link span,
	#nav li a.top_link span.down {
		width: 100%;
		justify-content: center;
	}

	#nav li:hover ul.sub,
	#nav li:hover ul li:hover ul,
	#nav li:hover ul li:hover ul li:hover ul,
	#nav li:hover ul li:hover ul li:hover ul li:hover ul,
	#nav li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul {
		position: static;
		width: 100% !important;
		max-width: 100%;
		max-height: none;
		margin: 8px 0 0 0;
		box-shadow: none;
		overflow-x: hidden;
	}

	.page-welcome #nav {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	.page-welcome #nav li.top {
		width: 100%;
		max-width: 100%;
	}

	.page-welcome #nav li a.top_link {
		width: 100%;
		justify-content: center;
	}

	.page-welcome #nav li a.top_link span,
	.page-welcome #nav li a.top_link span.down {
		width: 100%;
		justify-content: center;
	}

	.page-welcome #nav li:hover ul.sub,
	.page-welcome #nav li:hover ul li:hover ul,
	.page-welcome #nav li:hover ul li:hover ul li:hover ul,
	.page-welcome #nav li:hover ul li:hover ul li:hover ul li:hover ul,
	.page-welcome #nav li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul {
		position: static;
		width: 100% !important;
		max-width: 100%;
		max-height: none;
		margin: 8px 0 0 0;
		box-shadow: none;
		overflow-x: hidden;
	}

	.welcome-grid {
		grid-template-columns: 1fr;
	}
}

/* Unificacion final de estados hover del menu */
#nav li a.top_link:hover,
#nav li:hover > a.top_link,
#nav li:hover ul.sub li a:hover,
#nav li:hover ul.sub li a.fly:hover,
#nav li:hover ul li:hover > a.fly,
#nav li:hover ul li:hover > a,
#nav li:hover ul li:hover ul li a:hover {
	background: linear-gradient(135deg, var(--davinci-cyan), var(--davinci-pink)) !important;
	color: #ffffff !important;
	border-color: transparent;
}

#nav li a.top_link:hover span,
#nav li a.top_link:hover span.down,
#nav li:hover > a.top_link span,
#nav li:hover > a.top_link span.down,
#nav li:hover ul.sub li a:hover span,
#nav li:hover ul.sub li a.fly:hover span,
#nav li:hover ul li:hover > a.fly span {
	color: #ffffff !important;
	background-image: none !important;
}

#nav li:hover ul.sub,
#nav li:hover ul li:hover ul,
#nav li:hover ul li:hover ul li:hover ul,
#nav li:hover ul li:hover ul li:hover ul li:hover ul,
#nav li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul {
	border-color: var(--davinci-line) !important;
	background: #ffffff !important;
}

#nav li:hover ul.sub li:hover > ul,
#nav li:hover ul li:hover ul li:hover > ul,
#nav li:hover ul li:hover ul li:hover ul li:hover > ul {
	position: absolute !important;
	left: calc(100% + 10px) !important;
	right: auto !important;
	top: -8px !important;
	width: min(320px, calc(100vw - 32px)) !important;
	padding: 8px !important;
	background: #ffffff !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 14px !important;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.16) !important;
	white-space: normal !important;
	z-index: 1500 !important;
}

#nav li:has(> a#act):hover ul.sub li:hover > ul {
	left: auto !important;
	right: calc(100% + 10px) !important;
}

#nav li:has(> a#act):hover ul.sub li:hover > ul::before {
	content: "";
	position: absolute;
	right: -12px;
	left: auto;
	top: 0;
	width: 12px;
	height: 100%;
}

#nav li:hover ul.sub li:hover > ul::before {
	content: "";
	position: absolute;
	left: -12px;
	top: 0;
	width: 12px;
	height: 100%;
}

#nav li.menu-section:hover,
#nav li.menu-divider:hover {
	color: var(--davinci-muted) !important;
	cursor: default;
}

.page-evaluacion-preparar #cuerpo {
	position: relative;
	display: flex;
	flex-direction: column;
}

.page-evaluacion-preparar #cuerpo > ul,
.page-evaluacion-preparar #cuerpo > li {
	display: none !important;
}

.page-evaluacion-preparar .preparar-evaluacion-note {
	order: 2;
	width: min(900px, calc(100% - 32px));
	box-sizing: border-box;
	margin: 34px auto 14px;
	padding: 18px 22px;
	color: var(--davinci-ink);
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.10));
	border: 1px solid var(--davinci-line);
	border-left: 6px solid var(--davinci-cyan);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(23, 32, 51, 0.08);
	font-size: 1rem;
	line-height: 1.45;
}

.page-evaluacion-preparar .preparar-evaluacion-form {
	order: 3;
	width: min(900px, calc(100% - 32px));
	margin: 0 auto 38px;
}

.page-evaluacion-preparar .preparar-evaluacion-result {
	order: 1;
	width: min(900px, calc(100% - 32px));
	box-sizing: border-box;
	margin: 34px auto 14px;
	padding: 18px 22px;
	color: var(--davinci-ink);
	background: linear-gradient(135deg, rgba(255, 244, 230, 0.95), rgba(255, 232, 242, 0.95));
	border: 1px solid rgba(209, 0, 103, 0.22);
	border-left: 6px solid var(--davinci-magenta);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(23, 32, 51, 0.08);
	font-weight: 850;
	line-height: 1.45;
}

.page-evaluacion-preparar .preparar-evaluacion-result.is-empty {
	display: none;
}

.page-evaluacion-preparar .preparar-evaluacion-result + .preparar-evaluacion-note {
	margin-top: 14px;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table {
	width: 100% !important;
	height: auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 18px;
	overflow: hidden;
	background: #ffffff !important;
	box-shadow: 0 24px 65px rgba(23, 32, 51, 0.10);
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:first-child > td {
	padding: 24px 28px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.12)) !important;
	border: 0 !important;
	text-align: center;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:first-child .Estilo5 {
	color: var(--davinci-ink) !important;
	font-size: clamp(1.45rem, 2.8vw, 2.25rem);
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(2) > td {
	padding: 22px 14px 10px !important;
	background: #ffffff !important;
	border: 0 !important;
	vertical-align: middle;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(2) strong,
.page-evaluacion-preparar .preparar-evaluacion-form table strong {
	color: var(--davinci-ink);
	font-weight: 900;
}

.page-evaluacion-preparar .preparar-evaluacion-form select,
.page-evaluacion-preparar .preparar-evaluacion-form input[type="text"] {
	width: 100% !important;
	max-width: 100%;
	height: 48px;
	box-sizing: border-box;
	padding: 9px 14px;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 12px;
	background: #ffffff;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 800;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(3) {
	font-size: 0;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(3) > td {
	padding: 18px 24px 8px !important;
	background: #ffffff !important;
	border: 0 !important;
	font-size: 1rem;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(3) table {
	width: 100% !important;
	height: auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate !important;
	border-spacing: 0;
	border-radius: 14px;
	overflow: hidden;
	background: #ffffff;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(3) table td {
	padding: 10px 12px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(198, 216, 235, 0.70) !important;
	background: #ffffff !important;
	vertical-align: middle;
	font-size: 0.98rem;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(3) table tr:first-child td {
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.10), rgba(209, 0, 103, 0.10)) !important;
	color: var(--davinci-ink);
	font-weight: 900;
	text-align: center;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-form > table > tbody > tr:nth-child(3) table tr:first-child td {
	background-color: #f3f7fb !important;
	background-image: none !important;
}

.page-evaluacion-preparar-1617 tr.preparar-evaluacion-column-head > td {
	background: #f3f7fb !important;
	background-color: #f3f7fb !important;
	background-image: none !important;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-note,
.page-evaluacion-preparar-1617 .preparar-evaluacion-form,
.page-evaluacion-preparar-1617 .preparar-evaluacion-result {
	width: min(820px, calc(100% - 32px));
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-note {
	margin-top: 22px;
	padding: 12px 16px;
	font-size: .9rem;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-form > table > tbody > tr:first-child > td {
	padding: 16px 20px !important;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-form > table > tbody > tr:first-child .Estilo5 {
	font-size: 1.55rem !important;
	line-height: 1.15;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-form > table > tbody > tr:nth-child(2) > td {
	padding: 14px 10px 8px !important;
	font-size: .92rem;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-form select,
.page-evaluacion-preparar-1617 .preparar-evaluacion-form input[type="text"] {
	height: 40px;
	min-height: 40px;
	padding: 7px 11px;
	font-size: .92rem;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-form > table > tbody > tr:nth-child(3) > td {
	padding: 12px 16px 6px !important;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-form > table > tbody > tr:nth-child(3) table td {
	padding: 7px 9px !important;
	font-size: .88rem;
	line-height: 1.2;
}

.page-evaluacion-preparar-1617 tr.preparar-evaluacion-column-head > td,
.page-evaluacion-preparar-1617 tr.preparar-evaluacion-column-head strong {
	font-size: .92rem !important;
	line-height: 1.2;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-form > table > tbody > tr:nth-child(3) p {
	margin-top: 8px;
	font-size: .82rem;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-form > table > tbody > tr:last-child > td {
	padding: 12px 18px 18px !important;
}

.page-evaluacion-preparar-1617 .preparar-evaluacion-form input[type="submit"] {
	min-width: 130px;
	padding: 11px 22px;
	font-size: .9rem;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(3) table tr:last-child td {
	border-bottom: 0 !important;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(3) p {
	margin: 14px 0 0;
	color: var(--davinci-muted);
	font-size: 0.92rem;
}

.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:last-child > td {
	padding: 18px 24px 28px !important;
	background: #ffffff !important;
	border: 0 !important;
}

.page-evaluacion-preparar .preparar-evaluacion-form input[type="submit"] {
	width: auto !important;
	min-width: 150px;
	border: 0 !important;
	border-radius: 999px;
	padding: 14px 28px;
	background: linear-gradient(135deg, var(--davinci-orange), var(--davinci-magenta));
	color: #ffffff;
	box-shadow: 0 18px 36px rgba(209, 0, 103, 0.22);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 900;
	cursor: pointer;
}

@media (max-width: 760px) {
	.page-evaluacion-preparar .preparar-evaluacion-form > table,
	.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody,
	.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr,
	.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr > td {
		display: block;
		width: 100% !important;
	}

	.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(2) > td {
		padding: 8px 22px !important;
		text-align: left;
	}

	.page-evaluacion-preparar .preparar-evaluacion-form > table > tbody > tr:nth-child(3) table {
		display: block;
		overflow-x: auto;
	}
}

@media (max-width: 620px) {
	#navegador,
	.app-nav {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden !important;
	}

	#nav,
	#nav li,
	#nav li.top,
	#nav li a.top_link,
	#nav li a.top_link span,
	#nav li a.top_link span.down,
	#nav ul,
	#nav ul.sub,
	#nav li:hover ul.sub,
	#nav li:hover ul li:hover ul,
	#nav li:hover ul li:hover ul li:hover ul,
	#nav li:hover ul li:hover ul li:hover ul li:hover ul,
	#nav li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul {
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
		overflow-x: hidden !important;
	}
}

/* Generar actas de evaluacion */
.page-evaluacion-generar-acta #cuerpo {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 40px 24px 56px;
}

.page-evaluacion-generar-acta .generar-acta-form {
	width: min(860px, 100%);
	margin: 0 auto;
}

.page-evaluacion-generar-acta .generar-acta-table {
	width: 100% !important;
	height: auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 18px;
	overflow: hidden;
	background: #ffffff !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	box-shadow: 0 24px 65px rgba(23, 32, 51, 0.12);
}

.page-evaluacion-generar-acta .generar-acta-table td {
	border: 0 !important;
	background: transparent !important;
	font-family: inherit;
	color: var(--davinci-ink);
}

.page-evaluacion-generar-acta .generar-acta-table tr:first-child td {
	height: auto !important;
	padding: 26px 28px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.13), rgba(209, 0, 103, 0.13)) !important;
}

.page-evaluacion-generar-acta .generar-acta-table tr:first-child div {
	color: var(--davinci-ink);
	font-size: clamp(1.8rem, 3vw, 2.35rem);
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) {
	display: grid;
	grid-template-columns: 120px minmax(220px, 1fr) 130px minmax(220px, 1fr);
	gap: 18px 14px;
	align-items: center;
	padding: 34px 42px 24px;
	background: #ffffff;
}

.page-evaluacion-generar-acta .generar-acta-table.generar-acta-date-only {
	max-width: 720px;
	margin: 0 auto;
}

.page-evaluacion-generar-acta .generar-acta-table.generar-acta-date-only tr:nth-child(2) {
	grid-template-columns: 120px minmax(260px, 380px);
	justify-content: center;
}

.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) td {
	width: auto !important;
	padding: 0 !important;
}

.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) td:nth-child(1),
.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) td:nth-child(3) {
	text-align: right;
	font-size: 1rem;
	font-weight: 900;
}

.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) td:nth-child(2),
.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) td:nth-child(4) {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.page-evaluacion-generar-acta .generar-acta-table input[type="text"] {
	width: 100% !important;
	min-width: 0;
	height: 54px;
	padding: 0 18px;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(23, 32, 51, 0.05) inset;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1.08rem;
	font-weight: 800;
	box-sizing: border-box;
}

.page-evaluacion-generar-acta .generar-acta-table #selector {
	width: 48px !important;
	height: 48px !important;
	flex: 0 0 48px;
	padding: 8px;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	background: rgba(0, 138, 169, 0.08);
	cursor: pointer;
	object-fit: contain;
	box-sizing: border-box;
}

.page-evaluacion-generar-acta .generar-acta-table tr:last-child td {
	padding: 10px 28px 34px !important;
	text-align: center;
	background: #ffffff !important;
}

.page-evaluacion-generar-acta .generar-acta-table .davinci-submit,
.page-evaluacion-generar-acta .generar-acta-table input.davinci-submit,
.page-evaluacion-generar-acta .generar-acta-table #aceptar.davinci-submit {
	appearance: none;
	-webkit-appearance: none;
	width: auto !important;
	min-width: 150px;
	border: 0 !important;
	border-radius: 999px;
	padding: 15px 30px;
	background: #d10067 !important;
	background: linear-gradient(135deg, #ef5200, #d10067) !important;
	color: #ffffff !important;
	box-shadow: 0 18px 36px rgba(209, 0, 103, 0.22);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
	cursor: pointer;
}

@media (max-width: 760px) {
	.page-evaluacion-generar-acta #cuerpo {
		padding: 24px 16px 42px;
	}

	.page-evaluacion-generar-acta .generar-acta-table,
	.page-evaluacion-generar-acta .generar-acta-table tbody,
	.page-evaluacion-generar-acta .generar-acta-table tr,
	.page-evaluacion-generar-acta .generar-acta-table td {
		display: block;
		width: 100% !important;
		box-sizing: border-box;
	}

	.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) {
		display: grid;
		grid-template-columns: 1fr;
		padding: 24px 22px 18px;
	}

	.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) td:nth-child(1),
	.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) td:nth-child(3) {
		text-align: left;
	}

	.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) td:nth-child(2),
	.page-evaluacion-generar-acta .generar-acta-table tr:nth-child(2) td:nth-child(4) {
		display: flex;
	}
}

.page-evaluacion-jefdpto .evaluacion-jefdpto-card > tbody > tr:has(.evaluacion-jefdpto-meeting-panel) > td {
	padding: 28px !important;
	border: 0 !important;
	background: #ffffff !important;
}

/* Evaluacion de materias pendientes - Jefatura de departamento */
.page-pendientes-eval-jefdpto #cuerpo {
	padding: 44px 30px 56px;
}

.page-pendientes-eval-jefdpto .pendientes-eval-form {
	width: min(980px, calc(100% - 32px));
	margin: 0 auto;
}

.page-pendientes-eval-jefdpto .pendientes-eval-card {
	width: 100% !important;
	height: auto !important;
	margin: 0 auto;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 18px;
	overflow: hidden;
	background: #ffffff !important;
	box-shadow: var(--davinci-shadow);
	color: var(--davinci-ink);
	font-family: inherit;
}

.page-pendientes-eval-jefdpto .pendientes-eval-card td {
	border: 0 !important;
	background: #ffffff !important;
	color: var(--davinci-ink);
	padding: 16px 18px !important;
	vertical-align: middle;
}

.page-pendientes-eval-jefdpto .pendientes-eval-card > tbody > tr:first-child > td {
	height: auto !important;
	padding: 28px 24px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.12)) !important;
	text-align: center;
}

.page-pendientes-eval-jefdpto .pendientes-eval-card .Estilo5 {
	display: inline-block;
	color: var(--davinci-ink) !important;
	font-family: inherit;
	font-size: clamp(1.7rem, 3vw, 2.6rem);
	font-weight: 900;
	letter-spacing: 0.04em;
	line-height: 1.18;
	text-transform: uppercase;
}

.page-pendientes-eval-jefdpto .pendientes-eval-filter-card > tbody > tr:nth-child(2) {
	display: grid;
	grid-template-columns: 190px minmax(240px, 1fr);
	align-items: center;
	gap: 12px;
	padding: 30px 34px 12px;
}

.page-pendientes-eval-jefdpto .pendientes-eval-filter-card > tbody > tr:nth-child(2) > td {
	display: flex;
	align-items: center;
	width: auto !important;
	padding: 0 !important;
}

.page-pendientes-eval-jefdpto .pendientes-eval-filter-card > tbody > tr:nth-child(2) > td:first-child {
	justify-content: flex-end;
}

.page-pendientes-eval-jefdpto .pendientes-eval-filter-card > tbody > tr:nth-child(2) > td:last-child {
	justify-content: stretch;
}

.page-pendientes-eval-jefdpto .pendientes-eval-filter-card p {
	margin: 0;
}

.page-pendientes-eval-jefdpto .pendientes-eval-filter-card strong {
	font-size: 1.05rem;
	color: var(--davinci-ink);
}

.page-pendientes-eval-jefdpto select,
.page-pendientes-eval-jefdpto input[type="text"] {
	width: 100% !important;
	max-width: 100%;
	min-height: 52px;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	padding: 10px 14px;
	background: #ffffff;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1.05rem;
	font-weight: 800;
	box-sizing: border-box;
}

.page-pendientes-eval-jefdpto .pendientes-eval-filter-card > tbody > tr:last-child > td,
.page-pendientes-eval-jefdpto .pendientes-eval-edit-table > tbody > tr:last-child > td {
	padding: 24px 24px 32px !important;
	text-align: center;
}

.page-pendientes-eval-jefdpto .davinci-submit {
	appearance: none;
	-webkit-appearance: none;
	width: auto !important;
	min-width: 150px;
	border: 0 !important;
	border-radius: 999px;
	padding: 15px 30px;
	background: linear-gradient(135deg, #ef5200, #d10067) !important;
	color: #ffffff !important;
	box-shadow: 0 18px 36px rgba(209, 0, 103, 0.22);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
	cursor: pointer;
}

.page-pendientes-eval-jefdpto .pendientes-eval-table {
	table-layout: fixed;
}

.page-pendientes-eval-jefdpto .pendientes-eval-table > tbody > tr:nth-child(2) > td {
	padding: 16px 18px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.09), rgba(209, 0, 103, 0.09)) !important;
	font-weight: 900;
	color: var(--davinci-ink);
	border-bottom: 1px solid var(--davinci-line) !important;
	font-size: 0.94rem;
	line-height: 1.3;
	text-transform: uppercase;
	overflow-wrap: normal;
	word-break: normal;
}

.page-pendientes-eval-jefdpto .pendientes-eval-table > tbody > tr:nth-child(n+3) > td {
	border-bottom: 1px solid rgba(207, 224, 242, 0.75) !important;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.page-pendientes-eval-jefdpto .pendientes-eval-table > tbody > tr:nth-child(n+3):hover > td {
	background: rgba(0, 138, 169, 0.05) !important;
}

.page-pendientes-eval-jefdpto .pendientes-eval-edit-table input[type="text"] {
	max-width: 120px;
	text-align: center;
}

.page-pendientes-eval-jefdpto .pendientes-eval-table:not(.pendientes-eval-edit-table) > tbody > tr > td:nth-child(1) {
	width: 10%;
}

.page-pendientes-eval-jefdpto .pendientes-eval-table:not(.pendientes-eval-edit-table) > tbody > tr > td:nth-child(2) {
	width: 24%;
}

.page-pendientes-eval-jefdpto .pendientes-eval-table:not(.pendientes-eval-edit-table) > tbody > tr > td:nth-child(3) {
	width: 18%;
}

.page-pendientes-eval-jefdpto .pendientes-eval-table:not(.pendientes-eval-edit-table) > tbody > tr > td:nth-child(n+4) {
	width: 12%;
}

.page-pendientes-eval-jefdpto .pendientes-eval-edit-table > tbody > tr > td:nth-child(1) {
	width: 14%;
}

.page-pendientes-eval-jefdpto .pendientes-eval-edit-table > tbody > tr > td:nth-child(2) {
	width: 34%;
}

.page-pendientes-eval-jefdpto .pendientes-eval-edit-table > tbody > tr > td:nth-child(3) {
	width: 24%;
}

.page-pendientes-eval-jefdpto .pendientes-eval-edit-table > tbody > tr > td:nth-child(4) {
	width: 28%;
}

@media (max-width: 760px) {
	.page-pendientes-eval-jefdpto #cuerpo {
		padding: 24px 16px 42px;
	}

	.page-pendientes-eval-jefdpto .pendientes-eval-form {
		width: 100%;
	}

	.page-pendientes-eval-jefdpto .pendientes-eval-filter-card > tbody > tr:nth-child(2) {
		grid-template-columns: 1fr;
		padding: 24px 20px 8px;
	}

	.page-pendientes-eval-jefdpto .pendientes-eval-table {
		display: block;
		overflow-x: auto;
	}
}

/* Evaluacion cualitativa - informacion de jefatura */
.page-evaluacion-info-jef #cuerpo {
	padding: 44px 30px 56px;
}

.page-evaluacion-info-jef .evaluacion-info-form {
	width: min(1100px, calc(100% - 32px));
	margin: 0 auto 28px;
}

.page-evaluacion-info-jef .evaluacion-info-card {
	width: 100% !important;
	height: auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 18px;
	overflow: hidden;
	background: #ffffff !important;
	box-shadow: var(--davinci-shadow);
	color: var(--davinci-ink);
	font-family: inherit;
}

.page-evaluacion-info-jef .evaluacion-info-card td {
	border: 0 !important;
	background: #ffffff !important;
	color: var(--davinci-ink);
	padding: 16px 18px !important;
	vertical-align: middle;
}

.page-evaluacion-info-jef .evaluacion-info-card > tbody > tr:first-child > td {
	padding: 32px 24px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.12)) !important;
	text-align: center;
}

.page-evaluacion-info-jef .evaluacion-info-card .Estilo5 {
	color: var(--davinci-ink) !important;
	font-family: inherit;
	font-size: clamp(1.8rem, 3.4vw, 3.2rem);
	font-weight: 900;
	letter-spacing: 0.05em;
	line-height: 1.16;
	text-transform: uppercase;
}

.page-evaluacion-info-jef .evaluacion-info-filter-card > tbody > tr:nth-child(2) {
	display: grid;
	grid-template-columns: repeat(3, minmax(180px, 1fr));
	gap: 18px;
	padding: 32px 34px 16px;
}

.page-evaluacion-info-jef .evaluacion-info-filter-card > tbody > tr:nth-child(2) > td {
	display: grid;
	grid-template-columns: max-content minmax(120px, 1fr);
	align-items: center;
	gap: 12px;
	width: auto !important;
	padding: 0 !important;
	font-weight: 900;
}

.page-evaluacion-info-jef .evaluacion-info-filter-card p {
	display: contents;
	margin: 0;
}

.page-evaluacion-info-jef select {
	width: 100% !important;
	min-height: 52px;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	padding: 10px 14px;
	background: #ffffff;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1.05rem;
	font-weight: 800;
	box-sizing: border-box;
}

.page-evaluacion-info-jef .evaluacion-info-filter-card > tbody > tr:last-child > td {
	padding: 24px 24px 34px !important;
	text-align: center;
}

.page-evaluacion-info-jef .davinci-submit {
	appearance: none;
	-webkit-appearance: none;
	width: auto !important;
	min-width: 150px;
	border: 0 !important;
	border-radius: 999px;
	padding: 15px 30px;
	background: linear-gradient(135deg, #ef5200, #d10067) !important;
	color: #ffffff !important;
	box-shadow: 0 18px 36px rgba(209, 0, 103, 0.22);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
	cursor: pointer;
}

.page-evaluacion-info-jef .evaluacion-info-result-card > tbody > tr:nth-child(2) > td {
	padding: 0 !important;
}

.page-evaluacion-info-jef .evaluacion-info-table {
	width: 100%;
	border: 0 !important;
	border-collapse: collapse;
	table-layout: fixed;
}

.page-evaluacion-info-jef .evaluacion-info-table tr > td:nth-child(1) {
	width: 18%;
}

.page-evaluacion-info-jef .evaluacion-info-table tr > td:nth-child(2) {
	width: 12%;
}

.page-evaluacion-info-jef .evaluacion-info-table tr > td:nth-child(3) {
	width: 18%;
}

.page-evaluacion-info-jef .evaluacion-info-table td {
	border: 0 !important;
	border-bottom: 1px solid rgba(207, 224, 242, 0.75) !important;
	padding: 14px 16px !important;
	background: #ffffff !important;
	color: var(--davinci-ink);
	line-height: 1.35;
	overflow-wrap: anywhere;
	vertical-align: top;
}

.page-evaluacion-info-jef .evaluacion-info-table tr:nth-child(-n+2) td {
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.09), rgba(209, 0, 103, 0.09)) !important;
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

.page-evaluacion-info-jef .evaluacion-info-table tr:hover td {
	background: rgba(0, 138, 169, 0.04) !important;
}

/* Evaluacion cualitativa - informes y consultas */
.page-evaluacion-info:not(.page-evaluacion-info-jef) #cuerpo {
	padding: 44px 30px 56px;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-form {
	width: min(1100px, calc(100% - 32px));
	margin: 0 auto 28px;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-card {
	width: 100% !important;
	height: auto !important;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 18px;
	overflow: hidden;
	background: #ffffff !important;
	box-shadow: var(--davinci-shadow);
	color: var(--davinci-ink);
	font-family: inherit;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-card td {
	border: 0 !important;
	background: #ffffff !important;
	color: var(--davinci-ink);
	padding: 16px 18px !important;
	vertical-align: middle;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-card > tbody > tr:first-child > td {
	padding: 30px 24px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.12)) !important;
	text-align: center;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-card .Estilo5 {
	color: var(--davinci-ink) !important;
	font-family: inherit;
	font-size: clamp(1.7rem, 3vw, 2.7rem);
	font-weight: 900;
	letter-spacing: 0.05em;
	line-height: 1.16;
	text-transform: uppercase;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-filter-card > tbody > tr:nth-child(2) {
	display: grid;
	grid-template-columns: repeat(2, minmax(220px, 1fr));
	gap: 18px;
	padding: 32px 34px 16px;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-filter-card > tbody > tr:nth-child(2) > td {
	display: grid;
	grid-template-columns: max-content minmax(160px, 1fr);
	align-items: center;
	gap: 12px;
	width: auto !important;
	padding: 0 !important;
	font-weight: 900;
}

.page-evaluacion-informes .evaluacion-informes-filter {
	width: min(1030px, 100%) !important;
	margin: 0 auto 28px;
	overflow: hidden;
}

.page-evaluacion-informes .evaluacion-info-card-title {
	padding: 36px 24px;
	background: linear-gradient(135deg, rgba(220, 244, 247, 0.92), rgba(251, 226, 240, 0.92));
	text-align: center;
}

.page-evaluacion-informes .evaluacion-informes-fields {
	display: grid;
	grid-template-columns: minmax(320px, 1.15fr) minmax(260px, 0.85fr);
	gap: 24px;
	align-items: center;
	padding: 38px 42px 18px;
}

.page-evaluacion-informes .evaluacion-field {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	margin: 0;
	color: var(--davinci-ink);
	font-weight: 900;
}

.page-evaluacion-informes .evaluacion-field span {
	white-space: nowrap;
}

.page-evaluacion-informes .evaluacion-info-actions {
	padding: 24px 24px 38px;
	text-align: center;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-filter-card p {
	display: contents;
	margin: 0;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) select,
.page-evaluacion-info:not(.page-evaluacion-info-jef) textarea {
	width: 100% !important;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	background: #ffffff;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1.02rem;
	font-weight: 800;
	box-sizing: border-box;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) select {
	min-height: 52px;
	padding: 10px 14px;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) textarea {
	min-height: 120px;
	padding: 14px 16px;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-filter-card > tbody > tr:last-child > td {
	padding: 24px 24px 34px !important;
	text-align: center;
}

.page-evaluacion-info:not(.page-evaluacion-info-jef) .davinci-submit {
	appearance: none;
	-webkit-appearance: none;
	width: auto !important;
	min-width: 150px;
	border: 0 !important;
	border-radius: 999px;
	padding: 15px 30px;
	background: linear-gradient(135deg, #ef5200, #d10067) !important;
	color: #ffffff !important;
	box-shadow: 0 18px 36px rgba(209, 0, 103, 0.22);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
	cursor: pointer;
}

.page-evaluacion-info .evaluacion-informe-detalle {
	margin-top: 20px;
}

.page-evaluacion-info .evaluacion-informe-detalle > tbody > tr:nth-child(2) > td {
	padding: 24px 28px !important;
}

.page-evaluacion-info .evaluacion-informe-detalle p {
	margin: 0 0 16px;
	line-height: 1.45;
}

.page-evaluacion-info .evaluacion-informe-detalle input[type="checkbox"] {
	margin-right: 10px;
	transform: translateY(2px);
}

.page-evaluacion-info .evaluacion-informe-detalle select[multiple] {
	width: min(100%, 620px) !important;
	min-height: 150px;
	margin: 12px auto 8px;
	display: block;
}

.page-evaluacion-info .evaluacion-info-result-card > tbody > tr:nth-child(2) > td {
	padding: 0 !important;
}

.page-evaluacion-info .evaluacion-info-table {
	width: 100%;
	border: 0 !important;
	border-collapse: collapse;
	table-layout: fixed;
}

.page-evaluacion-info .evaluacion-info-table td {
	border: 0 !important;
	border-bottom: 1px solid rgba(207, 224, 242, 0.75) !important;
	padding: 14px 16px !important;
	background: #ffffff !important;
	color: var(--davinci-ink);
	line-height: 1.35;
	overflow-wrap: anywhere;
	vertical-align: top;
}

.page-evaluacion-info .evaluacion-info-table tr:nth-child(-n+2) td {
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.09), rgba(209, 0, 103, 0.09)) !important;
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

.page-evaluacion-info .evaluacion-info-table tr:hover td {
	background: rgba(0, 138, 169, 0.04) !important;
}

.page-evaluacion-info-jefdpto .evaluacion-info-jefdpto-card {
	width: min(1100px, calc(100% - 32px)) !important;
	margin: 0 auto 28px;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-table {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	margin: 12px 0 0;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 14px;
	overflow: hidden;
	background: #f8fbfd !important;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-fields {
	display: grid;
	box-sizing: border-box;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	width: 100%;
	padding: 18px;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-fields .evaluacion-info-meeting-field {
	display: grid;
	grid-template-rows: auto 48px;
	gap: 8px;
	min-width: 0;
	font-weight: 800;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-note {
	box-sizing: border-box;
	width: 100%;
	padding: 16px 18px 18px;
	border-top: 1px solid var(--davinci-line);
	color: var(--davinci-muted);
	font-size: .9rem;
	font-weight: 650;
	line-height: 1.45;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-table > tbody {
	display: block;
	width: 100%;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-table td {
	padding: 18px !important;
	background: #f8fbfd !important;
	font-weight: 800;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-table > tbody > tr:first-child {
	display: grid;
	box-sizing: border-box;
	width: 100%;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-table > tbody > tr:first-child > td {
	display: grid;
	width: auto !important;
	grid-template-rows: auto 48px;
	gap: 8px;
	align-items: stretch;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-field label {
	display: block;
	margin: 0;
}

.page-evaluacion-info-jefdpto .evaluacion-info-date-control {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 48px;
	gap: 10px;
	align-items: center;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-table input[type="text"] {
	box-sizing: border-box;
	width: 100% !important;
	min-height: 48px;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--davinci-line);
	border-radius: 12px;
	background: #fff;
	color: var(--davinci-ink);
	font: inherit;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-table #selector {
	width: 38px;
	height: 38px;
	margin: 0 auto;
	vertical-align: middle;
	cursor: pointer;
}

.page-evaluacion-info-jefdpto .evaluacion-info-meeting-table tr:last-child td {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	border-top: 1px solid var(--davinci-line);
	color: var(--davinci-muted);
	font-size: .9rem;
	font-weight: 650;
	line-height: 1.45;
}

@media (max-width: 760px) {
	.page-evaluacion-info-jefdpto .evaluacion-info-meeting-fields {
		grid-template-columns: 1fr;
	}

	.page-evaluacion-info-jefdpto .evaluacion-info-meeting-table > tbody > tr:first-child {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.page-evaluacion-info:not(.page-evaluacion-info-jef) #cuerpo {
		padding: 28px 14px 42px;
	}

	.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-form {
		width: 100%;
	}

	.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-filter-card > tbody > tr:nth-child(2),
	.page-evaluacion-informes .evaluacion-info-filter-card > tbody > tr:nth-child(2) {
		grid-template-columns: 1fr;
		padding: 24px 18px 10px;
	}

	.page-evaluacion-info:not(.page-evaluacion-info-jef) .evaluacion-info-filter-card > tbody > tr:nth-child(2) > td {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.page-evaluacion-informes .evaluacion-informes-fields {
		grid-template-columns: 1fr;
		padding: 28px 20px 12px;
	}

	.page-evaluacion-informes .evaluacion-field {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.page-evaluacion-info .evaluacion-info-table {
		display: block;
		overflow-x: auto;
	}
}

/* Evaluacion de materias pendientes - Jefatura de estudios */
.page-pendientes-eval-je #cuerpo {
	padding: 44px 30px 56px;
}

.page-pendientes-eval-je .pendientes-eval-form {
	width: min(1060px, calc(100% - 32px));
	margin: 0 auto 28px;
}

.page-pendientes-eval-je .pendientes-eval-card {
	width: 100% !important;
	height: auto !important;
	margin: 0 auto;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 18px;
	overflow: hidden;
	background: #ffffff !important;
	box-shadow: var(--davinci-shadow);
	color: var(--davinci-ink);
	font-family: inherit;
}

.page-pendientes-eval-je .pendientes-eval-card td {
	border: 0 !important;
	background: #ffffff !important;
	color: var(--davinci-ink);
	padding: 16px 18px !important;
	vertical-align: middle;
}

.page-pendientes-eval-je .pendientes-eval-card > tbody > tr:first-child > td {
	padding: 26px 24px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.12), rgba(209, 0, 103, 0.12)) !important;
	text-align: center;
}

.page-pendientes-eval-je .pendientes-eval-card .Estilo5 {
	display: inline-block;
	color: var(--davinci-ink) !important;
	font-family: inherit;
	font-size: clamp(1.45rem, 2.6vw, 2.2rem);
	font-weight: 900;
	letter-spacing: 0.035em;
	line-height: 1.15;
	text-transform: uppercase;
}

.page-pendientes-eval-je .pendientes-eval-filter-card > tbody > tr:nth-child(2) {
	display: grid;
	grid-template-columns: max-content minmax(240px, 1fr);
	align-items: center;
	gap: 12px;
	padding: 34px 42px 18px;
}

.page-pendientes-eval-je .pendientes-eval-filter-card > tbody > tr:nth-child(2) > td {
	display: flex;
	align-items: center;
	width: auto !important;
	padding: 0 !important;
}

.page-pendientes-eval-je .pendientes-eval-filter-card > tbody > tr:nth-child(2) > td:first-child {
	justify-content: flex-end;
}

.page-pendientes-eval-je .pendientes-eval-filter-card p {
	margin: 0;
}

.page-pendientes-eval-je select,
.page-pendientes-eval-je input[type="text"] {
	width: 100% !important;
	max-width: 100%;
	min-height: 52px;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	padding: 10px 14px;
	background: #ffffff;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1.05rem;
	font-weight: 800;
	box-sizing: border-box;
}

.page-pendientes-eval-je .pendientes-eval-filter-card > tbody > tr:last-child > td,
.page-pendientes-eval-je .pendientes-eval-table > tbody > tr:last-child > td {
	padding: 24px 24px 34px !important;
	text-align: center;
}

.page-pendientes-eval-je .davinci-submit {
	appearance: none;
	-webkit-appearance: none;
	width: auto !important;
	min-width: 150px;
	margin: 8px 6px;
	border: 0 !important;
	border-radius: 999px;
	padding: 15px 30px;
	background: linear-gradient(135deg, #ef5200, #d10067) !important;
	color: #ffffff !important;
	box-shadow: 0 18px 36px rgba(209, 0, 103, 0.22);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
	cursor: pointer;
}

.page-pendientes-eval-je .pendientes-eval-table {
	table-layout: fixed;
}

.page-pendientes-eval-je .pendientes-eval-table > tbody > tr:nth-child(2) > td {
	padding: 14px 12px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, 0.09), rgba(209, 0, 103, 0.09)) !important;
	font-size: 0.82rem;
	font-weight: 900;
	line-height: 1.25;
	text-transform: uppercase;
	overflow-wrap: normal;
	word-break: normal;
}

.page-pendientes-eval-je .pendientes-eval-table > tbody > tr:nth-child(n+3) > td {
	border-bottom: 1px solid rgba(207, 224, 242, 0.75) !important;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.page-pendientes-eval-je .pendientes-eval-table > tbody > tr:nth-child(n+3):hover > td {
	background: rgba(0, 138, 169, 0.05) !important;
}

.page-pendientes-eval-je .pendientes-eval-je-table > tbody > tr > td:nth-child(1) {
	width: 10%;
}

.page-pendientes-eval-je .pendientes-eval-je-table > tbody > tr > td:nth-child(2) {
	width: 28%;
}

.page-pendientes-eval-je .pendientes-eval-je-table > tbody > tr > td:nth-child(3) {
	width: 18%;
}

.page-pendientes-eval-je .pendientes-eval-je-table > tbody > tr > td:nth-child(n+4) {
	width: 11%;
	text-align: center;
}

.page-pendientes-eval-je .pendientes-eval-je-table input[type="text"] {
	width: 74px !important;
	min-height: 42px;
	padding: 8px 10px;
	text-align: center;
}

@media (max-width: 760px) {
	.page-evaluacion-info-jef #cuerpo,
	.page-pendientes-eval-je #cuerpo {
		padding: 24px 16px 42px;
	}

	.page-evaluacion-info-jef .evaluacion-info-form,
	.page-pendientes-eval-je .pendientes-eval-form {
		width: 100%;
	}

	.page-evaluacion-info-jef .evaluacion-info-filter-card > tbody > tr:nth-child(2),
	.page-pendientes-eval-je .pendientes-eval-filter-card > tbody > tr:nth-child(2) {
		grid-template-columns: 1fr;
		padding: 24px 20px 8px;
	}

	.page-evaluacion-info-jef .evaluacion-info-filter-card > tbody > tr:nth-child(2) > td,
	.page-pendientes-eval-je .pendientes-eval-filter-card > tbody > tr:nth-child(2) > td {
		grid-template-columns: 1fr;
		justify-content: stretch;
	}

	.page-evaluacion-info-jef .evaluacion-info-table,
	.page-pendientes-eval-je .pendientes-eval-table {
		display: block;
		overflow-x: auto;
	}
}

/* Amonestaciones y expulsiones */
.page-amonestaciones #cuerpo {
	padding: 42px 28px 56px;
	background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
	overflow-x: hidden;
}

.page-amonestaciones #capaVentana {
	position: fixed !important;
	left: 50% !important;
	top: 50% !important;
	z-index: 2000;
	transform: translate(-50%, -50%);
	max-width: min(520px, calc(100vw - 32px));
	padding: 22px 28px;
	border: 1px solid var(--davinci-line);
	border-left: 6px solid var(--davinci-cyan);
	border-radius: 18px;
	background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
	box-shadow: var(--davinci-shadow);
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1.1rem !important;
	font-weight: 900;
}

.page-amonestaciones .amonestaciones-form {
	width: min(1180px, 100%);
	margin: 0 auto;
}

.page-amonestaciones .amonestaciones-card {
	width: 100% !important;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 20px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #fff !important;
	box-shadow: var(--davinci-shadow);
	color: var(--davinci-ink);
	font-family: inherit;
}

.page-amonestaciones .amonestaciones-card td {
	border-color: var(--davinci-line) !important;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:first-child > td {
	padding: 28px 22px !important;
	border: 0 !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, .12), rgba(209, 0, 103, .12)) !important;
	text-align: center;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:first-child .Estilo5 {
	color: var(--davinci-ink) !important;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) > td,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(5) > td,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(6) > td {
	padding: 24px !important;
	border: 0 !important;
	background: #fff !important;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) table {
	width: 100% !important;
	border: 0 !important;
	background: transparent !important;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) table td {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--davinci-ink);
	font-weight: 900;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) p {
	display: grid;
	grid-template-columns: max-content minmax(260px, 520px);
	align-items: center;
	gap: 14px;
	margin: 18px 0 0;
	color: var(--davinci-ink);
	font-weight: 900;
}

.page-amonestaciones select,
.page-amonestaciones input[type="text"],
.page-amonestaciones textarea {
	width: 100% !important;
	max-width: 100%;
	min-height: 50px;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	padding: 10px 14px;
	background: #fff;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 800;
	box-sizing: border-box;
}

.page-amonestaciones textarea {
	min-height: 115px;
	resize: vertical;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	padding: 0 24px 24px;
	background: #fff;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) > td {
	display: block;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) table,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(4) table {
	width: 100% !important;
	min-width: 0;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) table tr:first-child td,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(4) table tr:first-child td {
	padding: 14px 16px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, .12), rgba(209, 0, 103, .12)) !important;
	color: var(--davinci-ink) !important;
	font-size: 1rem;
	font-weight: 900;
	text-transform: uppercase;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) table tr:nth-child(2) td,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(4) table tr:nth-child(2) td {
	padding: 10px 12px !important;
	background: rgba(244, 247, 251, .85) !important;
	color: var(--davinci-ink) !important;
	font-size: .82rem;
	font-weight: 900;
	line-height: 1.25;
	text-transform: uppercase;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) table tr:nth-child(n+3) td,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(4) table tr:nth-child(n+3) td {
	padding: 12px !important;
	border-top: 1px solid rgba(217, 226, 238, .8) !important;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(4) > td {
	padding: 0 24px 24px !important;
	border: 0 !important;
	background: #fff !important;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(5) > td > p:first-child strong {
	display: inline-flex;
	width: auto;
	margin-bottom: 18px;
	border-radius: 999px;
	padding: 10px 16px;
	background: rgba(0, 138, 169, .1);
	color: var(--davinci-cyan);
	letter-spacing: .06em;
	text-transform: uppercase;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(5) div[style] {
	display: grid;
	grid-template-columns: max-content minmax(180px, 260px) 48px;
	align-items: center;
	gap: 14px;
	position: static !important;
	margin: 0 0 18px;
	color: var(--davinci-ink);
	font-weight: 900;
}

.page-amonestaciones #selector {
	width: 46px !important;
	height: 46px !important;
	padding: 8px;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	background: rgba(223, 243, 247, .72);
	cursor: pointer;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(5) p {
	display: grid;
	grid-template-columns: max-content minmax(260px, 1fr);
	align-items: center;
	gap: 14px;
	margin: 0 0 18px;
	color: var(--davinci-ink);
	font-weight: 900;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(5) p:has(textarea) {
	display: block;
}

.page-amonestaciones .amonestaciones-card .boton,
.page-amonestaciones .amonestaciones-card .pulsos,
.page-amonestaciones .amonestaciones-card input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
	min-width: 150px;
	border: 0 !important;
	border-radius: 999px;
	padding: 15px 32px;
	background: linear-gradient(135deg, #ef5200, #d10067) !important;
	color: #fff !important;
	box-shadow: 0 18px 36px rgba(209, 0, 103, .24);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 900;
	cursor: pointer;
}

@media (max-width: 900px) {
	.page-amonestaciones #cuerpo {
		padding: 24px 14px 42px;
	}

	.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) {
		grid-template-columns: 1fr;
		padding: 0 16px 18px;
	}

	.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) p,
	.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(5) p,
	.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(5) div[style] {
		grid-template-columns: 1fr;
	}

	.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) table,
	.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(4) table {
		display: block;
		overflow-x: auto;
	}
}

/* Fine tuning for disciplinary forms. Keep the legacy PHP flow intact. */
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) > td {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(260px, 1fr));
	align-items: end;
	gap: 22px 30px;
	padding: 28px 36px 38px !important;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) > td > table,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) > td > table > tbody,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) > td > table tr,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) > td > table td {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) table td,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) > td > p {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--davinci-ink);
	font-size: 1.08rem;
	font-weight: 900;
	line-height: 1.25;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) select {
	display: block;
	width: 100% !important;
	margin-top: 10px;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) {
	grid-template-columns: 1fr !important;
	gap: 20px;
	padding: 0 36px 28px !important;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) > td {
	width: 100% !important;
	min-width: 0;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) table {
	table-layout: auto;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) table tr:first-child td,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(4) table tr:first-child td {
	white-space: normal;
}

.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) table tr:nth-child(2) td,
.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(4) table tr:nth-child(2) td {
	font-size: .78rem;
	white-space: normal;
	overflow-wrap: anywhere;
}

@media (max-width: 900px) {
	.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(2) > td {
		grid-template-columns: 1fr;
		padding: 22px 18px 30px !important;
	}

	.page-amonestaciones .amonestaciones-card > tbody > tr:nth-child(3) {
		padding: 0 18px 22px !important;
	}
}

/* Stable class-based layout for amonestaciones and expulsiones. */
.page-amonestaciones .amonestaciones-form {
	width: min(1180px, calc(100% - 28px));
	margin: 38px auto 56px;
}

.page-amonestaciones .amonestaciones-card--disciplina,
.page-amonestaciones .amonestaciones-card--disciplina > tbody,
.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr,
.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr > td {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	border: 0 !important;
	background: transparent !important;
}

.page-amonestaciones .amonestaciones-card--disciplina {
	overflow: hidden;
	border: 1px solid var(--davinci-line) !important;
	border-radius: 18px;
	background: transparent !important;
	box-shadow: 0 22px 56px rgba(15, 35, 63, .1);
}

.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:first-child > td {
	padding: 16px 24px !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, .13), rgba(209, 0, 103, .12)) !important;
	text-align: center;
}

.page-amonestaciones .amonestaciones-card-title {
	padding: 0 !important;
	border: 0 !important;
	background: linear-gradient(135deg, rgba(0, 138, 169, .13), rgba(209, 0, 103, .12)) !important;
	background-color: transparent !important;
}

.page-amonestaciones .amonestaciones-card-title div {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin: 0 !important;
	padding: 10px 22px !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	text-align: center !important;
}

.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:first-child .Estilo5 {
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	color: var(--davinci-ink) !important;
	font-size: clamp(1.45rem, 2vw, 2rem);
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: .055em;
	text-align: center !important;
	text-transform: uppercase;
}

.page-amonestaciones .amonestaciones-picker-cell {
	display: grid !important;
	grid-template-columns: minmax(250px, 1fr) minmax(280px, 1fr);
	align-items: center;
	gap: 22px 34px;
	padding: 32px 36px 30px !important;
	background: #fff !important;
	background-color: #fff !important;
	box-shadow: none !important;
}

.page-amonestaciones .amonestaciones-picker-row,
.page-amonestaciones .amonestaciones-picker-row > td,
.page-amonestaciones .amonestaciones-picker-row > td::before,
.page-amonestaciones .amonestaciones-picker-row > td::after {
	background: #fff !important;
	background-color: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
}

.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:nth-child(2),
.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:nth-child(2) > td {
	background: #fff !important;
	background-color: #fff !important;
	box-shadow: none !important;
	border: 0 !important;
}

.page-amonestaciones .amonestaciones-picker-cell > *,
.page-amonestaciones .amonestaciones-picker-cell p,
.page-amonestaciones .amonestaciones-picker-cell div,
.page-amonestaciones .amonestaciones-picker-cell label {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	border-radius: 0 !important;
}

.page-amonestaciones .amonestaciones-picker-table,
.page-amonestaciones .amonestaciones-picker-table tbody,
.page-amonestaciones .amonestaciones-picker-table tr,
.page-amonestaciones .amonestaciones-picker-table td {
	display: block !important;
	width: 100% !important;
	border: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

.page-amonestaciones .amonestaciones-picker-field,
.page-amonestaciones .amonestaciones-alumnos-picker {
	display: grid !important;
	grid-template-columns: max-content minmax(260px, 1fr);
	align-items: center;
	gap: 16px;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--davinci-ink) !important;
	font-size: 1.08rem;
	font-weight: 900;
	line-height: 1.25;
}

.page-amonestaciones .amonestaciones-picker-field {
	width: min(560px, 100%) !important;
}

.page-amonestaciones .amonestaciones-picker-field,
.page-amonestaciones .amonestaciones-picker-field label,
.page-amonestaciones .amonestaciones-picker-field span,
.page-amonestaciones .amonestaciones-picker-field div,
.page-amonestaciones .amonestaciones-alumnos-picker,
.page-amonestaciones .amonestaciones-alumnos-picker label,
.page-amonestaciones .amonestaciones-alumnos-picker span,
.page-amonestaciones .amonestaciones-alumnos-picker div {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	border: 0 !important;
}

.page-amonestaciones .amonestaciones-picker-field label,
.page-amonestaciones .amonestaciones-alumnos-picker label {
	display: flex;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--davinci-ink) !important;
	font-weight: 900;
	text-align: left;
	white-space: nowrap;
}

.page-amonestaciones .amonestaciones-picker-field select,
.page-amonestaciones .amonestaciones-alumnos-picker select {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	color: var(--davinci-ink) !important;
	background: #fff !important;
	background-color: #fff !important;
	box-shadow: 0 12px 30px rgba(15, 35, 63, .08) !important;
}

.page-amonestaciones .amonestaciones-picker-field select option,
.page-amonestaciones .amonestaciones-alumnos-picker select option {
	color: var(--davinci-ink);
	background-color: #fff;
}

.page-amonestaciones .amonestaciones-history-cell {
	padding: 0 36px 24px !important;
	background: #fff !important;
	background-color: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
}

.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:nth-child(3),
.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:nth-child(3) > td {
	background: #fff !important;
	background-color: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
}

.page-amonestaciones .amonestaciones-history-cell > p {
	display: none !important;
}

.page-amonestaciones .amonestaciones-history-table {
	display: table !important;
	width: 100% !important;
	table-layout: fixed;
	border: 1px solid var(--davinci-line) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	margin: 0 0 22px !important;
	border-radius: 16px;
	background: #fff;
}

.page-amonestaciones .amonestaciones-history-table tbody {
	display: table-row-group !important;
	width: auto !important;
}

.page-amonestaciones .amonestaciones-history-table tr {
	display: table-row !important;
	width: auto !important;
}

.page-amonestaciones .amonestaciones-history-table td {
	display: table-cell !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(217, 226, 238, .9) !important;
	padding: 12px 14px !important;
	color: var(--davinci-ink) !important;
	font-size: .9rem;
	line-height: 1.35;
	vertical-align: top;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
}

.page-amonestaciones .amonestaciones-history-table tr:first-child td {
	background: linear-gradient(135deg, rgba(0, 138, 169, .12), rgba(209, 0, 103, .12)) !important;
	font-size: 1.18rem;
	font-weight: 900;
	letter-spacing: .02em;
	text-transform: uppercase;
	vertical-align: middle;
}

.page-amonestaciones .amonestaciones-history-table tr:nth-child(2) td {
	background: #f5f8fc !important;
	font-size: .76rem;
	font-weight: 900;
	text-transform: uppercase;
	vertical-align: middle;
}

.page-amonestaciones .amonestaciones-history-table tr:last-child td {
	border-bottom: 0 !important;
}

.page-amonestaciones .amonestaciones-history-table td.amonestaciones-empty-row {
	width: auto !important;
	padding: 42px 18px !important;
	background: #fff !important;
	text-align: center;
}

.page-amonestaciones .amonestaciones-empty-state {
	display: grid;
	gap: 10px;
	justify-items: center;
	color: var(--davinci-muted);
}

.page-amonestaciones .amonestaciones-empty-state span {
	display: grid;
	width: 58px;
	height: 58px;
	place-items: center;
	border-radius: 50%;
	background: var(--davinci-cyan);
	color: #fff;
	font-size: 1.35rem;
	font-weight: 900;
	font-style: normal;
}

.page-amonestaciones .amonestaciones-empty-state strong {
	color: var(--davinci-ink) !important;
	font-size: 1rem;
	font-weight: 850;
}

.page-amonestaciones .amonestaciones-empty-state p {
	margin: 0 !important;
	color: var(--davinci-muted) !important;
	font-size: .95rem;
	font-weight: 500;
}

.page-amonestaciones .amonestaciones-history-table--proxima td {
	width: 33.333% !important;
}

.page-amonestaciones .amonestaciones-history-table--proxima tr:not(:first-child) td {
	width: 33.333% !important;
}

.page-amonestaciones .amonestaciones-history-table--proxima tr:first-child td {
	width: auto !important;
}

.page-amonestaciones .amonestaciones-history-table--amon td:nth-child(1),
.page-amonestaciones .amonestaciones-history-table--exp td:nth-child(1) {
	width: 11%;
}

.page-amonestaciones .amonestaciones-history-table--amon td:nth-child(2),
.page-amonestaciones .amonestaciones-history-table--exp td:nth-child(2) {
	width: 12%;
}

.page-amonestaciones .amonestaciones-history-table--amon td:nth-child(3),
.page-amonestaciones .amonestaciones-history-table--exp td:nth-child(3) {
	width: 17%;
}

.page-amonestaciones .amonestaciones-history-table--amon td:nth-child(4),
.page-amonestaciones .amonestaciones-history-table--exp td:nth-child(4) {
	width: 34%;
}

.page-amonestaciones .amonestaciones-history-table--amon td:nth-child(5),
.page-amonestaciones .amonestaciones-history-table--exp td:nth-child(5) {
	width: 10%;
}

.page-amonestaciones .amonestaciones-history-table--amon td:nth-child(6),
.page-amonestaciones .amonestaciones-history-table--exp td:nth-child(6) {
	width: 16%;
}

.page-amonestaciones .amonestaciones-history-table tr td.amonestaciones-empty-row {
	width: 100% !important;
}

.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:nth-child(4) > td:not(.amonestaciones-new-cell) {
	padding: 0 36px 24px !important;
}

.page-amonestaciones .amonestaciones-new-cell {
	padding: 10px 36px 28px !important;
}

.page-amonestaciones .amonestaciones-section-title {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 24px !important;
	padding: 16px 22px !important;
	min-height: 74px;
	border-radius: 28px;
	background: linear-gradient(135deg, rgba(0, 138, 169, .11), rgba(209, 0, 103, .08)) !important;
	color: var(--davinci-cyan) !important;
	font-size: 1.16rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
}

.page-amonestaciones .amonestaciones-new-cell > .amonestaciones-section-title {
	float: none !important;
	clear: both;
}

.page-amonestaciones .amonestaciones-section-title strong,
.page-amonestaciones .amonestaciones-section-title span {
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	color: inherit !important;
	text-align: center !important;
}

.page-amonestaciones .amonestaciones-new-title {
	display: inline-flex !important;
	justify-content: flex-start !important;
	width: auto !important;
	max-width: 100% !important;
	min-height: 0;
	margin: 0 0 26px !important;
	padding: 13px 24px !important;
	border-radius: 999px;
	text-align: left !important;
}

.page-amonestaciones .amonestaciones-new-title strong {
	width: auto !important;
	text-align: left !important;
}

.page-amonestaciones .amonestaciones-new-cell div[style],
.page-amonestaciones .amonestaciones-new-cell > p:not(.amonestaciones-section-title):not(.amonestaciones-textarea-row) {
	display: grid !important;
	grid-template-columns: 180px minmax(220px, 1fr) auto;
	align-items: center;
	gap: 14px;
	margin: 16px 0 !important;
	position: static !important;
	color: var(--davinci-ink);
	font-weight: 900;
}

.page-amonestaciones .amonestaciones-new-cell > p:not(.amonestaciones-section-title):not(.amonestaciones-textarea-row) label {
	display: none;
}

.page-amonestaciones .amonestaciones-new-cell input[type="text"],
.page-amonestaciones .amonestaciones-new-cell select,
.page-amonestaciones .amonestaciones-new-cell textarea {
	width: 100% !important;
	max-width: 100%;
	min-width: 0 !important;
}

.page-amonestaciones .amonestaciones-new-cell #selector {
	width: 48px !important;
	height: 48px !important;
	padding: 8px;
	border: 1px solid var(--davinci-line);
	border-radius: 14px;
	background: rgba(223, 243, 247, .72);
	object-fit: contain;
}

.page-amonestaciones .amonestaciones-textarea-row {
	display: block !important;
	margin-top: 20px !important;
}

.page-amonestaciones .amonestaciones-textarea-row textarea {
	min-height: 140px;
}

.page-amonestaciones .amonestaciones-new-cell > .amonestaciones-field-label {
	display: block !important;
	margin: 22px 0 8px !important;
	color: var(--davinci-ink);
	font-weight: 900;
}

.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:last-child > td {
	text-align: center;
}

@media (max-width: 900px) {
	.page-amonestaciones .amonestaciones-form {
		width: min(100% - 24px, 1180px);
		margin-top: 26px;
	}

	.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:first-child > td {
		padding: 16px 18px !important;
	}

	.page-amonestaciones .amonestaciones-picker-cell,
	.page-amonestaciones .amonestaciones-history-cell,
	.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:nth-child(4) > td:not(.amonestaciones-new-cell),
	.page-amonestaciones .amonestaciones-new-cell,
	.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:last-child > td {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.page-amonestaciones .amonestaciones-picker-cell,
	.page-amonestaciones .amonestaciones-picker-field,
	.page-amonestaciones .amonestaciones-alumnos-picker,
	.page-amonestaciones .amonestaciones-new-cell div[style],
	.page-amonestaciones .amonestaciones-new-cell > p:not(.amonestaciones-section-title):not(.amonestaciones-textarea-row) {
		grid-template-columns: 1fr;
	}

	.page-amonestaciones .amonestaciones-history-table {
		display: block;
		overflow-x: auto;
	}

	.page-amonestaciones .amonestaciones-history-table tbody {
		display: table;
		width: 100%;
		min-width: 720px;
	}
}

/* Ajustes compactos para amonestaciones y expulsiones */
body .page-disciplina .disciplina-card-header {
    min-height: 0 !important;
    padding: clamp(34px, 4vw, 58px) clamp(22px, 5vw, 56px) !important;
}

body .page-disciplina .disciplina-card-title {
    font-size: clamp(2.35rem, 3.5vw, 3.75rem) !important;
    line-height: 1.08 !important;
    letter-spacing: .075em !important;
}

body .page-disciplina .disciplina-filter-grid {
    align-items: center !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child),
body .page-disciplina .disciplina-filter-grid--single {
    justify-content: start !important;
    justify-items: start !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field,
body .page-disciplina .disciplina-filter-grid--single > .disciplina-field {
    display: grid !important;
    grid-template-columns: max-content minmax(260px, 360px) !important;
    align-items: center !important;
    justify-self: start !important;
    gap: 20px !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
}

body .page-disciplina .disciplina-filter-grid .disciplina-field > label,
body .page-disciplina .disciplina-filter-grid--single .disciplina-field > label {
    align-self: center !important;
    margin: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field select,
body .page-disciplina .disciplina-filter-grid--single > .disciplina-field select {
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 900px) {
    body .page-disciplina .disciplina-card-header {
        padding: 30px 20px !important;
    }

    body .page-disciplina .disciplina-card-title {
        font-size: clamp(1.95rem, 7vw, 3rem) !important;
        letter-spacing: .045em !important;
    }

    body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field,
    body .page-disciplina .disciplina-filter-grid--single > .disciplina-field {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }
}

/* Ajuste final de amonestaciones y expulsiones: titulos compactos y filtro alineado */
body .page-disciplina .disciplina-card-header {
    min-height: 0 !important;
    padding: clamp(32px, 4vw, 54px) clamp(22px, 5vw, 54px) !important;
}

body .page-disciplina .disciplina-card-title {
    font-size: clamp(2.15rem, 3.1vw, 3.35rem) !important;
    line-height: 1.08 !important;
    letter-spacing: .055em !important;
}

body .page-disciplina .disciplina-filter-grid,
body .page-disciplina .disciplina-filter-grid--single {
    align-items: center !important;
    justify-items: start !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child),
body .page-disciplina .disciplina-filter-grid--single {
    justify-content: start !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field,
body .page-disciplina .disciplina-filter-grid--single > .disciplina-field {
    display: grid !important;
    grid-template-columns: max-content minmax(260px, 360px) !important;
    align-items: center !important;
    gap: 18px !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field > label,
body .page-disciplina .disciplina-filter-grid--single > .disciplina-field > label {
    margin: 0 !important;
    align-self: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field select,
body .page-disciplina .disciplina-filter-grid--single > .disciplina-field select {
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 900px) {
    body .page-disciplina .disciplina-card-header {
        padding: 28px 18px !important;
    }

    body .page-disciplina .disciplina-card-title {
        font-size: clamp(1.9rem, 7vw, 2.8rem) !important;
        letter-spacing: .035em !important;
    }

    body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field,
    body .page-disciplina .disciplina-filter-grid--single > .disciplina-field {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }
}

/* Ajustes disciplina: cabeceras mas contenidas y filtro de grupo alineado */
body .page-disciplina .disciplina-card-header {
    min-height: 0 !important;
    padding: clamp(24px, 3vw, 38px) clamp(20px, 4vw, 42px) !important;
}

body .page-disciplina .disciplina-card-title {
    font-size: clamp(2rem, 2.6vw, 3rem) !important;
    line-height: 1.08 !important;
    letter-spacing: .045em !important;
}

body .page-disciplina .disciplina-filter-grid,
body .page-disciplina .disciplina-filter-grid--single {
    align-items: center !important;
    justify-items: start !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child),
body .page-disciplina .disciplina-filter-grid--single {
    justify-content: start !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field,
body .page-disciplina .disciplina-filter-grid--single > .disciplina-field {
    display: grid !important;
    grid-template-columns: max-content minmax(260px, 360px) !important;
    align-items: center !important;
    gap: 18px !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field > label,
body .page-disciplina .disciplina-filter-grid--single > .disciplina-field > label {
    margin: 0 !important;
    align-self: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field select,
body .page-disciplina .disciplina-filter-grid--single > .disciplina-field select {
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 900px) {
    body .page-disciplina .disciplina-card-header {
        padding: 22px 18px !important;
    }

    body .page-disciplina .disciplina-card-title {
        font-size: clamp(1.75rem, 7vw, 2.55rem) !important;
        letter-spacing: .035em !important;
    }

    body .page-disciplina .disciplina-filter-grid:has(> .disciplina-field:only-child) > .disciplina-field,
    body .page-disciplina .disciplina-filter-grid--single > .disciplina-field {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }
}
/* Ajuste final disciplina: titulos y filtro de grupo */
body .page-disciplina .disciplina-card-header {
    min-height: 0 !important;
    padding: clamp(22px, 2.4vw, 34px) clamp(18px, 4vw, 40px) !important;
}

body .page-disciplina .disciplina-card-title,
body .page-disciplina .disciplina-title,
body .page-disciplina .disciplina-card-header h1 {
    font-size: clamp(2rem, 3vw, 3.25rem) !important;
    line-height: 1.12 !important;
    letter-spacing: .04em !important;
    word-spacing: .08em !important;
}

body .page-disciplina .disciplina-card-body {
    padding-top: clamp(24px, 3vw, 38px) !important;
}

body .page-disciplina .disciplina-filter-grid,
body .page-disciplina .disciplina-filter-grid--single {
    display: grid !important;
    align-items: center !important;
    justify-items: stretch !important;
}

body .page-disciplina .disciplina-filter-grid--single {
    grid-template-columns: minmax(0, 1fr) !important;
}

body .page-disciplina .disciplina-filter-grid--single .disciplina-field,
body .page-disciplina .disciplina-filter-grid .disciplina-field:only-child {
    display: grid !important;
    grid-template-columns: max-content minmax(280px, 420px) !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
}

body .page-disciplina .disciplina-filter-grid--single .disciplina-field label,
body .page-disciplina .disciplina-filter-grid .disciplina-field:only-child label {
    margin: 0 !important;
    align-self: center !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

body .page-disciplina .disciplina-filter-grid--single .disciplina-field select,
body .page-disciplina .disciplina-filter-grid .disciplina-field:only-child select {
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 900px) {
    body .page-disciplina .disciplina-card-title,
    body .page-disciplina .disciplina-title,
    body .page-disciplina .disciplina-card-header h1 {
        font-size: clamp(1.75rem, 8vw, 2.45rem) !important;
    }

    body .page-disciplina .disciplina-filter-grid--single .disciplina-field,
    body .page-disciplina .disciplina-filter-grid .disciplina-field:only-child {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}
/* Ajuste disciplina: títulos más contenidos y filtro de grupo alineado */
html body .page-disciplina .disciplina-card-header {
    min-height: 0 !important;
    padding: clamp(22px, 2.8vw, 40px) clamp(18px, 4vw, 42px) !important;
}

html body .page-disciplina .disciplina-card-title,
html body .page-disciplina .disciplina-title,
html body .page-disciplina .disciplina-card-header h1 {
    font-size: clamp(2rem, 3.15vw, 3.25rem) !important;
    line-height: 1.12 !important;
    letter-spacing: .035em !important;
    word-spacing: .04em !important;
}

html body .page-disciplina .disciplina-filter-grid--single .disciplina-field,
html body .page-disciplina .disciplina-filter-grid .disciplina-field:only-child {
    display: grid !important;
    grid-template-columns: max-content minmax(280px, 360px) !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
}

/* Tutores: alumnos pendientes de realizar la encuesta */
.page-tutores-encuestas #cuerpo {
    box-sizing: border-box;
    padding: clamp(24px, 4vw, 52px);
}

.page-tutores-encuestas .tutores-encuestas-card {
    --sgc-primary: #008aa9;
    --sgc-primary-dark: #00687e;
    --sgc-accent: #d10067;
    --sgc-ink: #18313a;
    --sgc-line: #d7e6e9;
    width: min(1040px, 100%);
    margin: 0 auto 36px;
    overflow: hidden;
    color: var(--sgc-ink);
    text-align: left;
    background: #fff;
    border: 1px solid rgba(0, 138, 169, .16);
    border-radius: 26px;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-tutores-encuestas .tutores-encuestas-header {
    padding: clamp(18px, 2.2vw, 26px) 24px;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96));
    border-bottom: 1px solid #d7e3ee;
}

.page-tutores-encuestas .tutores-encuestas-header h1 {
    margin: 0;
    color: #0c2445;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    font-weight: 900;
    letter-spacing: .055em;
    line-height: 1.1;
    text-transform: uppercase;
}

.page-tutores-encuestas .tutores-encuestas-group {
    display: inline-block;
    margin: 12px 0 0;
    color: #00687e;
    font-size: .9rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.page-tutores-encuestas .tutores-encuestas-content {
    padding: 26px 32px 32px;
}

.page-tutores-encuestas .tutores-encuestas-summary {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 16px;
    color: #66788a;
}

.page-tutores-encuestas .tutores-encuestas-summary strong {
    color: var(--sgc-primary-dark);
    font-size: 1.55rem;
}

.page-tutores-encuestas .tutores-encuestas-table-wrap {
    overflow: hidden;
    border: 1px solid var(--sgc-line);
    border-radius: 0;
}

.page-tutores-encuestas .tutores-encuestas-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: #fff;
}

.page-tutores-encuestas .tutores-encuestas-table th {
    padding: 14px 16px;
    color: #0c2445;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
    background: #f5f8fc;
    border: 0;
    border-bottom: 1px solid var(--sgc-line);
}

.page-tutores-encuestas .tutores-encuestas-table td {
    padding: 14px 16px;
    color: var(--sgc-ink);
    font-size: 1rem;
    border: 0;
    border-bottom: 1px solid var(--sgc-line);
    background: #fff;
}

.page-tutores-encuestas .tutores-encuestas-table tbody tr:hover td {
    background: #eef8fa;
}

.page-tutores-encuestas .tutores-encuestas-table tbody tr:last-child td {
    border-bottom: 0;
}

.page-tutores-encuestas .tutores-encuestas-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: clamp(30px, 6vw, 56px) 20px;
    color: #66788a;
    text-align: center;
    background: #f7fbf8;
    border: 1px solid #d9eadf;
    border-radius: 12px;
}

.page-tutores-encuestas .tutores-encuestas-empty-icon {
    display: grid;
    width: 54px;
    height: 54px;
    margin-bottom: 17px;
    place-items: center;
    color: #fff;
    font-size: 1.75rem;
    font-weight: 700;
    background: #43a66b;
    border-radius: 50%;
    box-shadow: 0 7px 16px rgba(67, 166, 107, .25);
}

.page-tutores-encuestas .tutores-encuestas-empty strong {
    margin-bottom: 7px;
    color: #257346;
    font-size: 1.1rem;
}

@media (max-width: 700px) {
    .page-tutores-encuestas #cuerpo {
        padding: 16px;
    }

    .page-tutores-encuestas .tutores-encuestas-header,
    .page-tutores-encuestas .tutores-encuestas-content {
        padding: 22px 18px;
    }
}

html body .page-disciplina .disciplina-filter-grid--single .disciplina-field label,
html body .page-disciplina .disciplina-filter-grid .disciplina-field:only-child label {
    margin: 0 !important;
    align-self: center !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

@media (max-width: 900px) {
    html body .page-disciplina .disciplina-card-title,
    html body .page-disciplina .disciplina-title,
    html body .page-disciplina .disciplina-card-header h1 {
        font-size: clamp(1.8rem, 8vw, 2.45rem) !important;
    }

    html body .page-disciplina .disciplina-filter-grid--single .disciplina-field,
html body .page-disciplina .disciplina-filter-grid .disciplina-field:only-child {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}

/* Profesorado: listados de correo */
.page-profesores-email #cuerpo {
    box-sizing: border-box;
    padding: clamp(24px, 4vw, 52px);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
    overflow-x: hidden;
}

.page-profesores-email .profesores-email-card {
    width: min(1120px, 100%);
    margin: 0 auto 34px;
    overflow: hidden;
    color: #18313a;
    background: #fff;
    border: 1px solid rgba(0, 138, 169, .16);
    border-radius: 26px;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-profesores-email .profesores-email-header {
    padding: clamp(20px, 2.6vw, 30px);
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96));
    border-bottom: 1px solid #d7e3ee;
}

.page-profesores-email .profesores-email-header > span {
    display: inline-block;
    margin-bottom: 8px;
    color: #008aa9;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.page-profesores-email .profesores-email-header h1 {
    margin: 0;
    color: #0c2445;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    font-size: clamp(1.35rem, 2.3vw, 1.9rem);
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.2;
    text-transform: uppercase;
}

.page-profesores-email .profesores-email-content {
    padding: 0;
}

.page-profesores-email .profesores-email-table-wrap {
    overflow-x: auto;
    border: 0;
    border-radius: 0;
}

.page-profesores-email .profesores-email-table {
    width: 100%;
    min-width: 680px;
    margin: 0;
    color: #18313a;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}

.page-profesores-email .profesores-email-table th,
.page-profesores-email .profesores-email-table td {
    box-sizing: border-box;
    padding: 14px 18px;
    text-align: left;
    vertical-align: middle;
    border: 0;
    border-bottom: 1px solid #e2e9f1;
    background: #fff;
}

.page-profesores-email .profesores-email-table thead th {
    color: #0c2445;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    background: #eef7f9;
}

.page-profesores-email .profesores-email-table th:first-child,
.page-profesores-email .profesores-email-table td:first-child {
    width: 16%;
}

.page-profesores-email .profesores-email-table th:nth-child(2),
.page-profesores-email .profesores-email-table td:nth-child(2) {
    width: 42%;
}

.page-profesores-listado .profesores-email-table--sin-email {
    min-width: 520px;
}

.page-profesores-listado .profesores-email-table--sin-email th:first-child,
.page-profesores-listado .profesores-email-table--sin-email td:first-child {
    width: 20%;
}

.page-profesores-listado .profesores-email-table--sin-email th:nth-child(2),
.page-profesores-listado .profesores-email-table--sin-email td:nth-child(2) {
    width: 80%;
}

.page-profesores-email .profesores-email-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding: 14px 18px;
    color: #38545e;
    background: #eef8fa;
    border: 1px solid #d4e7eb;
    border-radius: 14px;
}

.page-profesores-email .profesores-email-summary strong {
    color: #00687e;
    font-size: .88rem;
}

.page-profesores-email .profesores-email-summary span,
.page-profesores-email .profesores-email-empty {
    color: #6b7d84;
    font-size: .78rem;
    font-weight: 650;
}

.page-profesores-email .profesores-email-table tbody tr:not(.profesores-email-department):hover td {
    background: #f4fafb;
}

.page-profesores-email .profesores-email-table tbody tr:last-child td {
    border-bottom: 0;
}

.page-profesores-email .profesores-email-table td strong {
    color: #18313a;
    font-weight: 750;
}

.page-profesores-email .profesores-email-code {
    display: inline-flex;
    min-width: 52px;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding: 4px 9px;
    color: #00687e;
    font-size: .78rem;
    font-weight: 900;
    background: #e9f6f8;
    border-radius: 999px;
}

.page-profesores-email .profesores-email-table a {
    color: #00687e;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.page-profesores-email .profesores-email-table a:hover {
    color: #d10067;
    text-decoration: underline;
}

.page-profesores-email .profesores-email-department th {
    padding: 16px 18px;
    background: linear-gradient(110deg, rgba(223, 243, 247, .72), rgba(252, 231, 241, .72));
    border-top: 12px solid #fff;
    border-bottom: 1px solid #d7e3ee;
}

.page-profesores-email .profesores-email-department:first-child th {
    border-top: 0;
}

.page-profesores-email .profesores-email-department span,
.page-profesores-email .profesores-email-department small {
    display: block;
}

.page-profesores-email .profesores-email-department span {
    color: #0c2445;
    font-size: .9rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.page-profesores-email .profesores-email-department small {
    margin-top: 3px;
    color: #61747b;
    font-size: .72rem;
    font-weight: 700;
}

.page-profesores-email .profesores-email-actions {
    padding: 22px 26px 26px;
    text-align: center;
    background: #f8fbfd;
    border-top: 1px solid #d7e3ee;
}

.page-profesores-email .profesores-email-actions .boton {
    min-width: 190px;
    min-height: 48px;
    padding: 12px 26px;
    color: #fff !important;
    font-family: inherit;
    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%) !important;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}

@media (max-width: 700px) {
    .page-profesores-email #cuerpo {
        padding: 16px;
    }

    .page-profesores-email .profesores-email-content {
        padding: 0;
    }

    .page-profesores-email .profesores-email-actions .boton {
        width: 100%;
    }

    .page-profesores-email .profesores-email-summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Error 404 del sitio */
.error-page {
	display: grid;
	min-height: 100vh;
	margin: 0;
	padding: 24px;
	place-items: start center;
	background: linear-gradient(135deg, #f8fbff 0%, #eef4f8 100%);
	color: var(--davinci-ink);
}

.error-page .error-shell {
	width: min(1180px, 100%);
}

.error-page #foto.error-brand {
	cursor: default;
}

.error-page .error-card {
	display: grid;
	grid-template-columns: minmax(210px, .75fr) minmax(0, 1.55fr);
	min-height: 420px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--davinci-line);
	border-top: 0;
	border-radius: 0;
	box-shadow: var(--davinci-shadow);
}

.error-page .error-card-code {
	display: grid;
	place-items: center;
	color: rgba(0, 104, 126, .16);
	font-size: clamp(6rem, 15vw, 11rem);
	font-weight: 950;
	letter-spacing: -.08em;
	background: linear-gradient(145deg, #e4f5f8, #faeaf2);
}

.error-page .error-card-content {
	display: flex;
	justify-content: center;
	padding: clamp(34px, 6vw, 72px);
	flex-direction: column;
	text-align: left;
}

.error-page .error-card-kicker {
	margin: 0 0 10px;
	color: var(--davinci-cyan);
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.error-page .error-card h1 {
	margin: 0;
	color: var(--davinci-ink);
	font-size: clamp(2rem, 4.5vw, 3.6rem);
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 1.05;
}

.error-page .error-card-content > p:not(.error-card-kicker) {
	max-width: 610px;
	margin: 20px 0 0;
	color: var(--davinci-muted);
	font-size: 1rem;
	line-height: 1.65;
}

.error-page .error-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.error-page .error-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	font: inherit;
	font-size: .85rem;
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
	border-radius: 999px;
}

.error-page .error-button--primary {
	color: #fff;
	background: linear-gradient(135deg, var(--davinci-orange), var(--davinci-pink));
	border: 0;
	box-shadow: 0 12px 28px rgba(209, 0, 103, .20);
}

.error-page .error-button--secondary {
	color: #0c2445 !important;
	background: #ffffff !important;
	border: 2px solid #b8cedd !important;
	box-shadow: 0 8px 20px rgba(12, 36, 69, .08);
	opacity: 1 !important;
}

.error-page .error-button--secondary:hover {
	color: var(--davinci-cyan);
	background: #eef8fa;
}

@media (max-width: 720px) {
	.error-page {
		padding: 0;
	}

	.error-page .error-card {
		grid-template-columns: 1fr;
		border-radius: 0;
	}

	.error-page .error-card-code {
		min-height: 150px;
		font-size: 6rem;
	}

	.error-page .error-card-content {
		padding: 30px 22px 40px;
		text-align: center;
	}

	.error-page .error-actions {
		justify-content: center;
	}
}

/* Plantilla reutilizable para páginas nuevas */
.page-base #cuerpo {
	box-sizing: border-box;
	padding: clamp(28px, 4vw, 54px);
}

.page-base .base-page-card {
	width: min(1080px, 100%);
	margin: 0 auto;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--davinci-line);
	border-radius: 26px;
	box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-base .base-page-header {
	padding: clamp(24px, 3vw, 34px) 28px;
	background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96));
	border-bottom: 1px solid var(--davinci-line);
	text-align: center;
}

.page-base .base-page-header h1 {
	margin: 0;
	color: var(--davinci-ink);
	font-family: inherit;
	font-size: clamp(1.45rem, 2.4vw, 2.1rem);
	font-weight: 900;
	letter-spacing: .055em;
	line-height: 1.15;
	text-transform: uppercase;
}

.page-base .base-page-content {
	padding: clamp(26px, 4vw, 46px);
}

.page-base .base-page-placeholder {
	margin: 0;
	padding: 22px 24px;
	color: var(--davinci-muted);
	background: #f4f9fb;
	border: 1px dashed #bfd5df;
	border-radius: 15px;
	font-size: .95rem;
	line-height: 1.55;
	text-align: center;
}

@media (max-width: 760px) {
	.page-base #cuerpo {
		padding: 20px 12px;
	}

	.page-base .base-page-card {
		border-radius: 20px;
	}

	.page-base .base-page-content {
		padding: 22px 18px;
	}
}

/* FCTS: solicitudes y comisiones de servicio */
.page-fcts #cuerpo {
    box-sizing: border-box;
    padding: clamp(24px, 4vw, 52px);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-fcts #cuerpo > p:first-of-type,
.page-fcts .fcts-card > p {
    display: none;
}

.page-fcts .fcts-card {
    display: block;
    width: min(1120px, 100%);
    height: auto !important;
    margin: 0 auto 34px;
    overflow: hidden;
    color: #18313a;
    background: #fff;
    border: 1px solid rgba(0, 138, 169, .16);
    border-radius: 26px;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-fcts .fcts-form-table,
.page-fcts .fcts-list-layout {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent !important;
}

.page-fcts .fcts-form-table > tbody > tr > td,
.page-fcts .fcts-list-layout > tbody > tr > td {
    box-sizing: border-box;
    height: auto !important;
    padding: 22px 28px !important;
    color: #18313a !important;
    vertical-align: middle;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e6e9 !important;
}

.page-fcts .fcts-form-table > tbody > tr:first-child > td,
.page-fcts .fcts-list-layout > tbody > tr:first-child > td {
    padding: clamp(18px, 2.2vw, 26px) 24px !important;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
    border-bottom: 1px solid #d7e3ee !important;
}

.page-fcts .fcts-form-table .Estilo5,
.page-fcts .fcts-list-layout .Estilo5 {
    display: block;
    color: #0c2445 !important;
    font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
    font-weight: 900;
    letter-spacing: .055em;
    line-height: 1.1;
    text-transform: uppercase;
}

.page-fcts .fcts-form-table strong,
.page-fcts .fcts-form-table label {
    color: #0c2445;
    font-size: .84rem;
    font-weight: 900;
}

.page-fcts .fcts-form-table input[type="text"],
.page-fcts .fcts-form-table select,
.page-fcts .fcts-form-table textarea,
.page-fcts .fcts-list-layout input[type="text"],
.page-fcts .fcts-list-layout textarea {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 46px;
    margin: 6px;
    padding: 11px 14px;
    color: #18313a;
    font: inherit;
    background: #fff;
    border: 1px solid #c7d8e6;
    border-radius: 12px;
    transition: border-color .2s, box-shadow .2s;
}

.page-fcts .fcts-form-table input[readonly],
.page-fcts .fcts-list-layout input[readonly] {
    font-weight: 700;
    background: #f5f8fc;
}

.page-fcts .fcts-form-table textarea,
.page-fcts .fcts-list-layout textarea {
    width: min(100%, 760px);
    min-height: 96px;
    resize: vertical;
}

.page-fcts .fcts-form-table #observaciones,
.page-fcts .fcts-list-layout #observaciones {
    min-height: 135px;
}

.page-fcts .fcts-form-table input:focus,
.page-fcts .fcts-form-table select:focus,
.page-fcts .fcts-form-table textarea:focus,
.page-fcts .fcts-list-layout input:focus,
.page-fcts .fcts-list-layout textarea:focus {
    border-color: #008aa9;
    box-shadow: 0 0 0 4px rgba(0, 138, 169, .13);
    outline: 0;
}

.page-fcts .fcts-form-table img[id="selector"],
.page-fcts .fcts-list-layout img[id="selector"] {
    box-sizing: border-box;
    width: 46px;
    height: 46px;
    padding: 8px;
    vertical-align: middle;
    cursor: pointer;
    background: #eef8fa;
    border: 1px solid #d4e5e9;
    border-radius: 12px;
}

.page-fcts .fcts-form-table input[type="submit"],
.page-fcts .fcts-list-layout .boton {
    min-width: 124px;
    min-height: 46px;
    margin: 8px;
    padding: 12px 22px !important;
    color: #fff !important;
    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%) !important;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}

.page-fcts .fcts-list-layout #borrar {
    background: #a9233e !important;
}

.page-fcts .fcts-data-table {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    color: #18313a;
    border: 0 !important;
    border-collapse: collapse;
    table-layout: auto;
    background: #fff !important;
}

.page-fcts .fcts-request-table {
    table-layout: fixed;
}

.page-fcts .fcts-request-table col.fcts-col-company { width: 22%; }
.page-fcts .fcts-request-table col.fcts-col-date { width: 10%; }
.page-fcts .fcts-request-table col.fcts-col-tasks { width: 20%; }
.page-fcts .fcts-request-table col.fcts-col-schedule { width: 15%; }
.page-fcts .fcts-request-table col.fcts-col-other { width: 23%; }
.page-fcts .fcts-request-table col.fcts-col-students { width: 10%; }

.page-fcts .fcts-commission-table {
    table-layout: auto;
}

.page-fcts .fcts-data-table.fcts-commission-table td {
    overflow-wrap: normal;
    word-break: normal;
}

.page-fcts .fcts-commission-table .fcts-commission-head td {
    padding: 15px 12px !important;
    color: #0c2445 !important;
    font-size: .72rem !important;
    font-weight: 900;
    letter-spacing: .035em;
    line-height: 1.3;
    text-transform: uppercase;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all;
}

.page-fcts .fcts-data-table.fcts-commission-table td:first-child {
    width: 9%;
    min-width: 72px;
}

.page-fcts .fcts-data-table.fcts-commission-table td:nth-child(2) {
    width: 35%;
}

.page-fcts .fcts-data-table.fcts-commission-table td:nth-child(3),
.page-fcts .fcts-data-table.fcts-commission-table td:nth-child(4),
.page-fcts .fcts-data-table.fcts-commission-table td:nth-child(5) {
    width: 13%;
    white-space: nowrap !important;
}

.page-fcts .fcts-data-table.fcts-commission-table td:nth-child(6) {
    width: 17%;
}

.page-fcts .fcts-data-table td,
.page-fcts .fcts-data-table th {
    box-sizing: border-box;
    height: auto !important;
    padding: 16px 18px !important;
    color: #18313a !important;
    line-height: 1.55;
    vertical-align: middle;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e6e9 !important;
    overflow-wrap: anywhere;
    white-space: normal !important;
}

.page-fcts .fcts-col-company { width: 30%; }
.page-fcts .fcts-col-date { width: 9%; }
.page-fcts .fcts-col-tasks { width: 19%; }
.page-fcts .fcts-col-schedule { width: 13%; }
.page-fcts .fcts-col-other { width: 19%; }
.page-fcts .fcts-col-students { width: 10%; }

.page-fcts .fcts-data-head td {
    padding: 15px 12px !important;
    color: #0c2445 !important;
    font-size: .72rem !important;
    font-weight: 900;
    letter-spacing: .035em;
    line-height: 1.3;
    text-transform: uppercase;
    overflow-wrap: normal !important;
    word-break: keep-all;
    hyphens: none;
    white-space: normal !important;
}

.page-fcts .fcts-data-head td:last-child {
    text-align: center;
}

.page-fcts .fcts-request-row td {
    padding: 18px 14px !important;
    font-size: .86rem;
    line-height: 1.55;
    vertical-align: top;
}

.page-fcts .fcts-company-summary {
    display: grid;
    gap: 6px;
}

.page-fcts .fcts-company-summary strong {
    color: #0c2445;
    font-size: .95rem;
    font-weight: 900;
    line-height: 1.35;
    overflow-wrap: break-word;
    word-break: normal;
}

.page-fcts .fcts-company-summary span {
    color: #61747b;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.page-fcts .fcts-company-details-row > td {
    padding: 14px 18px 18px !important;
    background: #f8fbfd !important;
}

.page-fcts .fcts-company-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 22px;
    margin: 0;
}

.page-fcts .fcts-company-details > div {
    min-width: 0;
}

.page-fcts .fcts-company-details dt,
.page-fcts .fcts-company-details dd {
    margin: 0;
}

.page-fcts .fcts-company-details dt {
    margin-bottom: 3px;
    color: #61747b;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.page-fcts .fcts-company-details dd {
    color: #18313a;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: break-word;
    word-break: normal;
}

.page-fcts .fcts-company-data {
    display: grid;
    gap: 7px;
    margin: 0;
}

.page-fcts .fcts-company-data > div {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 7px;
    align-items: baseline;
}

.page-fcts .fcts-company-data dt,
.page-fcts .fcts-company-data dd {
    margin: 0;
}

.page-fcts .fcts-company-data dt {
    color: #61747b;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.page-fcts .fcts-company-data dd {
    color: #18313a;
    font-weight: 700;
}

.page-fcts .fcts-student-count {
    color: #00687e !important;
    font-size: 1.2rem !important;
    font-weight: 900;
    text-align: center;
}

.page-fcts .fcts-report-title td {
    overflow-wrap: normal;
    word-break: normal;
}

.page-fcts .fcts-data-table tr:first-child td,
.page-fcts .fcts-data-table tr:nth-child(2) td:has(> b) {
    color: #0c2445 !important;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
    background: #f5f8fc !important;
}

.page-fcts .fcts-data-table a {
    color: #00687e;
    font-weight: 900;
    text-decoration: none;
}

.page-fcts .fcts-data-table a:hover {
    color: #d10067;
    text-decoration: underline;
}

.page-fcts .fcts-access-message {
    display: flex;
    align-items: center;
    gap: 16px;
    box-sizing: border-box;
    width: min(720px, 100%);
    margin: 20px auto;
    padding: 22px 24px;
    color: #354f66;
    background: #f8fbfd;
    border: 1px solid #d7e3ee;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(38, 63, 88, .08);
}

.page-fcts .fcts-access-icon {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    color: #fff;
    font-size: 1.15rem;
    font-weight: 900;
    place-items: center;
    background: #318dc1;
    border-radius: 50%;
}

.page-fcts .fcts-access-message strong,
.page-fcts .fcts-access-message div > span {
    display: block;
}

.page-fcts .fcts-access-message strong {
    margin-bottom: 4px;
    color: #0c2445;
    font-size: 1rem;
}

.page-fcts .fcts-status {
    display: flex;
    align-items: center;
    gap: 14px;
    box-sizing: border-box;
    width: min(1120px, 100%);
    margin: 0 auto 18px;
    padding: 15px 18px;
    text-align: left;
    border-radius: 14px;
}

.page-fcts .fcts-status--success {
    color: #245b39;
    background: #f0faf4;
    border: 1px solid #cce8d6;
}

.page-fcts .fcts-status--error {
    display: block;
    color: #842b3c;
    background: #fff4f5;
    border: 1px solid #efccd3;
}

.page-fcts .fcts-status-icon {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    color: #fff;
    font-weight: 900;
    place-items: center;
    background: #43a66b;
    border-radius: 50%;
}

.page-fcts .fcts-status strong,
.page-fcts .fcts-status div > span,
.page-fcts .fcts-status--error > span {
    display: block;
}

.page-fcts .fcts-status strong {
    margin-bottom: 3px;
    font-size: .95rem;
}

.page-fcts .fcts-empty {
    padding: 34px 20px;
    color: #61747b;
    text-align: center;
}

.page-fcts .fcts-empty strong,
.page-fcts .fcts-empty span {
    display: block;
}

.page-fcts .fcts-empty strong {
    margin-bottom: 6px;
    color: #0c2445;
    font-size: 1rem;
}

.page-fcts .fcts-empty-icon {
    display: grid !important;
    width: 48px;
    height: 48px;
    margin: 0 auto 14px;
    color: #00687e;
    font-size: 1.45rem;
    place-items: center;
    background: #e8f5f7;
    border-radius: 50%;
}

.page-fcts .fcts-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    padding: 30px 32px;
}

.page-fcts .fcts-filter-grid select,
.page-fcts .fcts-filter-grid input {
    width: 100%;
}

.page-fcts .fcts-filter-grid select {
    box-sizing: border-box;
    min-height: 50px;
    margin: 0;
    padding: 11px 14px;
    color: #18313a;
    font: inherit;
    font-weight: 700;
    background: #fff;
    border: 1px solid #c7d8e6;
    border-radius: 12px;
}

.page-fcts .fcts-filter-grid select:focus {
    border-color: #008aa9;
    box-shadow: 0 0 0 4px rgba(0, 138, 169, .13);
    outline: 0;
}

.page-fcts .fcts-admin-request-table {
    min-width: 0;
    table-layout: fixed;
}

.page-fcts .fcts-list-card:has(.fcts-admin-request-table) {
    overflow-x: auto;
}

.page-fcts .fcts-admin-request-table:has(.fcts-data-head) {
    min-width: 1180px;
}

.page-fcts .fcts-admin-request-table .fcts-data-head td,
.page-fcts .fcts-admin-request-table .fcts-request-row td {
    padding-right: 8px !important;
    padding-left: 8px !important;
    text-align: center;
}

.page-fcts .fcts-admin-request-table .fcts-data-head td:nth-child(2),
.page-fcts .fcts-admin-request-table .fcts-request-row td:nth-child(2),
.page-fcts .fcts-admin-request-table .fcts-data-head td:nth-child(4),
.page-fcts .fcts-admin-request-table .fcts-request-row td:nth-child(4) {
    text-align: left;
}

.page-fcts .fcts-admin-request-table .fcts-data-head td:nth-child(2) { width: 18%; }
.page-fcts .fcts-admin-request-table .fcts-data-head td:nth-child(4) { width: 16%; }

.page-fcts .fcts-admin-actions td {
    padding: 22px !important;
    text-align: center;
    background: #f8fbfd !important;
}

.page-fcts .fcts-admin-actions td > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.page-fcts .fcts-admin-actions .boton {
    flex: 1 1 280px;
    max-width: 380px;
    min-height: 46px;
    margin: 0;
    padding: 12px 22px;
    color: #fff !important;
    font-family: inherit;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .025em;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%) !important;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}

@media (max-width: 620px) {
    .page-fcts .fcts-admin-actions .boton {
        flex-basis: 100%;
        width: 100%;
        max-width: none;
        white-space: normal;
    }
}

.page-fcts .fcts-report-school td {
    padding: 16px 20px !important;
    color: #00687e !important;
    font-size: .76rem !important;
    letter-spacing: .1em !important;
    text-align: center;
    text-transform: uppercase;
    background: #eef8fa !important;
}

.page-fcts .fcts-report-title td {
    padding: 22px 20px !important;
    color: #0c2445 !important;
    font-size: clamp(1rem, 1.8vw, 1.3rem) !important;
    letter-spacing: .035em !important;
    line-height: 1.35;
    text-align: center;
    text-transform: uppercase;
    background: linear-gradient(110deg, rgba(223, 243, 247, .7), rgba(252, 231, 241, .7)) !important;
}

.page-fcts .fcts-commission-form {
    max-width: 980px;
}

.page-fcts .fcts-commission-header {
    padding: clamp(18px, 2.2vw, 26px) 24px;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96));
    border-bottom: 1px solid #d7e3ee;
}

.page-fcts .fcts-edit-row > td {
    padding: 0 !important;
    background: #f4f7fb !important;
}

.page-fcts #detalle-comision {
    scroll-margin-top: 18px;
}

.page-fcts .fcts-edit-panel {
    overflow: hidden;
    background: #fff;
}

.page-fcts .fcts-edit-header {
    padding: 20px 24px;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .72), rgba(252, 231, 241, .72));
    border-bottom: 1px solid #d7e3ee;
}

.page-fcts .fcts-edit-header h2 {
    margin: 0;
    color: #0c2445;
    font-family: inherit;
    font-size: clamp(1.2rem, 1.8vw, 1.65rem);
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.page-fcts .fcts-edit-panel .fcts-field--codigo {
    grid-column: 1 / -1;
    width: min(180px, 100%);
}

.page-fcts .fcts-commission-header h1 {
    margin: 0;
    color: #0c2445;
    font-family: inherit;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    font-weight: 900;
    letter-spacing: .055em;
    line-height: 1.1;
    text-transform: uppercase;
}

.page-fcts .fcts-commission-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 24px;
    padding: 28px 32px 30px;
}

.page-fcts .fcts-field {
    display: flex;
    flex-direction: column;
    min-width: 0;
    color: #0c2445;
    font-family: inherit;
    font-size: .84rem;
    font-weight: 900;
}

.page-fcts .fcts-field > span,
.page-fcts .fcts-field > label {
    margin: 0 0 8px;
}

.page-fcts .fcts-field input,
.page-fcts .fcts-field textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 11px 14px;
    color: #18313a;
    font-family: inherit;
    font-size: .95rem;
    font-weight: 400;
    background: #fff;
    border: 1px solid #c7d8e6;
    border-radius: 12px;
}

.page-fcts .fcts-field input[readonly] {
    font-weight: 700;
    background: #f5f8fc;
}

.page-fcts .fcts-field textarea {
    min-height: 96px;
    resize: vertical;
}

.page-fcts .fcts-field #observaciones {
    min-height: 135px;
}

.page-fcts .fcts-field--full {
    grid-column: 1 / -1;
}

.page-fcts .fcts-field--profesor {
    grid-column: span 2;
}

.page-fcts #fcts-fecha-field {
    grid-column: auto;
}

.page-fcts .fcts-date-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 46px;
    align-items: center;
    gap: 10px;
}

.page-fcts .fcts-date-control img {
    box-sizing: border-box;
    width: 46px;
    height: 46px;
    padding: 8px;
    cursor: pointer;
    background: #eef8fa;
    border: 1px solid #d4e5e9;
    border-radius: 12px;
}

.page-fcts .fcts-commission-actions {
    padding: 20px 24px 24px;
    text-align: center;
    border-top: 1px solid #d7e6e9;
}

.page-fcts .fcts-commission-actions .boton {
    min-width: 124px;
    min-height: 46px;
    padding: 12px 22px;
    color: #fff;
    font-family: inherit;
    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}

@media (max-width: 760px) {
    .page-fcts #cuerpo {
        padding: 16px;
    }

    .page-fcts .fcts-form-table > tbody > tr > td,
    .page-fcts .fcts-list-layout > tbody > tr > td {
        padding: 18px !important;
    }

    .page-fcts .fcts-data-table {
        min-width: 760px;
    }

    .page-fcts .fcts-list-card {
        overflow-x: auto;
    }

    .page-fcts .fcts-commission-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 22px 18px;
    }

    .page-fcts .fcts-field,
    .page-fcts #fcts-fecha-field,
    .page-fcts .fcts-field--full {
        grid-column: 1;
    }

    .page-fcts .fcts-filter-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 22px 18px;
    }
}

/* Listados: legislacion y horas de atencion a familias */
.page-listados-calidad #cuerpo {
    box-sizing: border-box;
    padding: clamp(18px, 2.5vw, 34px);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-listados-calidad .listado-card {
    width: min(1120px, 100%);
    margin: 0 auto 28px;
    overflow: hidden;
    color: #18313a;
    background: #fff;
    border: 1px solid rgba(0, 138, 169, .16);
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-listados-calidad .listado-header {
    padding: clamp(20px, 2.6vw, 30px);
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96));
    border-bottom: 1px solid #d7e3ee;
}

.page-listados-calidad .listado-header h1 {
    margin: 0;
    color: #0c2445;
    font-family: inherit;
    font-size: clamp(1.35rem, 2.3vw, 1.9rem);
    font-weight: 900;
    letter-spacing: .035em;
    line-height: 1.2;
    text-transform: uppercase;
}

.page-listados-calidad .listado-table-wrap { overflow-x: auto; }
.page-listados-calidad .listado-table {
    width: 100%;
    min-width: 700px;
    margin: 0;
    color: #18313a;
    font: inherit;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.page-listados-calidad .listado-table th,
.page-listados-calidad .listado-table td {
    box-sizing: border-box;
    height: auto;
    padding: 14px 16px;
    color: #18313a;
    line-height: 1.45;
    text-align: left;
    vertical-align: middle;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #e1e8f0;
    overflow-wrap: anywhere;
}

.page-listados-calidad .listado-table thead th {
    color: #0c2445;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
    background: #f5f8fc;
}

.page-listados-calidad .listado-table tbody tr:not(.listado-group):hover td { background: #f8fbfd; }
.page-listados-calidad .listado-group th {
    padding: 10px 16px;
    color: #00687e;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .065em;
    text-transform: uppercase;
    background: #eaf6f8;
    border-bottom-color: #d4e8ec;
}

.page-listados-calidad .listado-table--legislacion th:nth-child(1) { width: 7%; }
.page-listados-calidad .listado-table--legislacion th:nth-child(2) { width: 12%; }
.page-listados-calidad .listado-table--legislacion th:nth-child(3) { width: 14%; }
.page-listados-calidad .listado-table--legislacion th:nth-child(4) { width: 23%; }
.page-listados-calidad .listado-table--legislacion th:nth-child(5) { width: 34%; }
.page-listados-calidad .listado-table--legislacion th:nth-child(6) { width: 10%; }
.page-listados-calidad .listado-table--horarios th:first-child,
.page-listados-calidad .listado-table--horarios-tutoria th:first-child { width: 11%; }
.page-listados-calidad .listado-table--horarios th:nth-child(2) { width: 43%; }
.page-listados-calidad .listado-table--horarios-tutoria th:nth-child(2) { width: 31%; }

.page-listados-calidad .listado-empty {
    padding: 38px 20px;
    color: #61747b;
    text-align: center;
}
.page-listados-calidad .listado-empty span,
.page-listados-calidad .listado-empty strong { display: block; }
.page-listados-calidad .listado-empty strong { margin-bottom: 6px; color: #0c2445; font-size: 1rem; }
.page-listados-calidad .listado-empty-icon {
    display: grid !important;
    width: 48px;
    height: 48px;
    margin: 0 auto 14px;
    color: #fff;
    font-size: 1.15rem;
    font-weight: 900;
    place-items: center;
    background: #008aa9;
    border-radius: 50%;
}

.page-listados-calidad .listado-actions {
    padding: 20px 24px 24px;
    text-align: center;
    background: #f8fbfd;
}
.page-listados-calidad .listado-button {
    min-width: 210px;
    min-height: 46px;
    padding: 12px 24px;
    color: #fff;
    font: inherit;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}
.page-listados-calidad .listado-button:hover { transform: translateY(-1px); box-shadow: 0 15px 30px rgba(228, 0, 103, .26); }
.page-listados-calidad .listado-button:focus { outline: 3px solid rgba(0, 138, 169, .25); outline-offset: 3px; }

@media (max-width: 760px) {
    .page-listados-calidad #cuerpo { padding: 14px; }
    .page-listados-calidad .listado-card { border-radius: 18px; }
    .page-listados-calidad .listado-table { min-width: 660px; }
    .page-listados-calidad .listado-table th,
    .page-listados-calidad .listado-table td { padding: 12px; }
}

/* Configuracion: clave de acceso y pie de firma */
.page-configuracion #cuerpo {
    box-sizing: border-box;
    padding: clamp(18px, 2.5vw, 32px);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef4fa 100%);
}

.page-configuracion .config-legacy-card,
.page-configuracion .config-signature-card {
    width: min(820px, 100%) !important;
    height: auto !important;
    margin: 0 auto 36px;
    overflow: hidden;
    color: #18313a;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    border: 1px solid rgba(0, 138, 169, .16) !important;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 26px;
    background: #fff !important;
    box-shadow: 0 20px 50px rgba(20, 67, 78, .10);
}

.page-configuracion .config-legacy-card > tbody > tr > td,
.page-configuracion .config-signature-card > tbody > tr > td {
    box-sizing: border-box;
    height: auto !important;
    padding: 22px 28px !important;
    color: #18313a !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e6e9 !important;
}

.page-configuracion .config-legacy-card > tbody > tr:first-child > td,
.page-configuracion .config-signature-card > tbody > tr:first-child > td {
    padding: clamp(20px, 2.6vw, 30px) !important;
    text-align: center;
    background: linear-gradient(110deg, rgba(223, 243, 247, .96), rgba(252, 231, 241, .96)) !important;
}

.page-configuracion .config-legacy-card > tbody > tr:first-child p,
.page-configuracion .config-signature-card .Estilo5 {
    display: block;
    margin: 0;
    color: #0c2445 !important;
    font-size: clamp(1.35rem, 2.3vw, 1.9rem) !important;
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.2;
    text-transform: uppercase;
}

.page-configuracion .config-card-heading h1 {
    margin: 0;
    color: #0c2445;
    font-size: clamp(1.2rem, 1.9vw, 1.65rem);
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.page-configuracion .config-warning {
    display: flex;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    width: min(820px, 100%);
    margin: 0 auto 14px;
    padding: 11px 14px;
    color: #76520a !important;
    font-size: .85rem !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
    text-align: left;
    text-transform: none;
    background: #fff8df;
    border: 1px solid #ead48b;
    border-radius: 12px;
}

.page-configuracion .config-warning > span {
    display: grid;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    color: #fff;
    font-size: .82rem;
    font-weight: 900;
    place-items: center;
    background: #d79a16;
    border-radius: 50%;
}

.page-configuracion .config-warning--error {
    color: #842b3c !important;
    background: #fff4f5;
    border-color: #efccd3;
}

.page-configuracion .config-warning--error > span { background: #c23c55; }

.page-configuracion .config-legacy-card--error > tbody > tr:first-child p {
    color: #842b3c !important;
}

.page-configuracion .config-legacy-form > div > table {
    width: min(610px, 100%);
    margin: 0 auto;
    border: 0;
    border-collapse: separate;
    border-spacing: 0 14px;
    background: transparent !important;
}

.page-configuracion .config-legacy-form td {
    padding: 5px 10px;
    color: #0c2445 !important;
    font-weight: 800;
    background: transparent !important;
    border: 0 !important;
}

.page-configuracion .config-legacy-form p { margin: 0; color: #0c2445 !important; }

.page-configuracion input[type="text"],
.page-configuracion input[type="password"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    padding: 12px 15px;
    color: #18313a;
    font: .96rem "Inter", "Segoe UI", Arial, sans-serif;
    background: #fff;
    border: 1px solid #c7d8e6;
    border-radius: 12px;
    transition: border-color .2s, box-shadow .2s;
}

.page-configuracion input[type="text"]:focus,
.page-configuracion input[type="password"]:focus {
    border-color: #008aa9;
    box-shadow: 0 0 0 4px rgba(0, 138, 169, .13);
    outline: 0;
}

.page-configuracion input[type="submit"] {
    min-width: 180px;
    min-height: 48px;
    padding: 13px 24px;
    color: #fff !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, #f23b0b 0%, #e40067 100%);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(228, 0, 103, .20);
}

.page-configuracion .config-signature-form { width: 100%; }
.page-configuracion .config-signature-card > tbody > tr:not(:first-child) > td:first-child {
    width: 31%;
    color: #0c2445 !important;
    font-size: .84rem;
    line-height: 1.55;
    text-align: right;
    background: #f8fafc !important;
}
.page-configuracion .config-signature-card > tbody > tr:last-child > td { text-align: center; }
.page-configuracion .config-signature-email { color: #00687e !important; font-weight: 800; }
.page-configuracion .config-signature-card > tbody > tr:nth-child(n+2):not(:last-child) > td {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
}
.page-configuracion .config-signature-card input[type="text"] {
    min-height: 44px;
    padding-top: 9px;
    padding-bottom: 9px;
}
.page-configuracion .config-email-inline {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
}
.page-configuracion .config-email-inline input,
.page-configuracion .config-email-inline input:focus {
    width: 100%;
    min-width: 0;
    margin: 0;
}
.page-configuracion .config-email-inline span {
    color: #0c2445;
    font-size: .88rem;
    font-weight: 800;
    white-space: nowrap;
}
.page-configuracion #cuerpo > p { display: none; }

@media (max-width: 700px) {
    .page-configuracion #cuerpo { padding: 16px; }
    .page-configuracion .config-legacy-card > tbody > tr > td,
    .page-configuracion .config-signature-card > tbody > tr > td { padding: 18px !important; }
    .page-configuracion .config-legacy-form tr { display: block; margin-bottom: 12px; }
    .page-configuracion .config-legacy-form td { display: block; width: 100%; text-align: left; }
    .page-configuracion .config-signature-card > tbody > tr { display: block; }
    .page-configuracion .config-signature-card > tbody > tr > td { display: block; width: 100% !important; text-align: left !important; }
    .page-configuracion .config-email-inline { grid-template-columns: 1fr; gap: 7px; }
    .page-configuracion .config-email-inline span { white-space: normal; }
}
/* Amonestaciones: alta colectiva y pendientes de firma */
.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:first-child > td.amonestaciones-card-title {
  padding: 0 !important;
  border: 0 !important;
  background: linear-gradient(105deg, #dff4f7 0%, #f9e5f0 100%) !important;
}

.page-amonestaciones .amonestaciones-card--disciplina > tbody > tr:first-child > td.amonestaciones-card-title > div {
  width: 100% !important;
  min-height: 88px;
  margin: 0 !important;
  padding: 22px 28px !important;
  background: transparent !important;
}

.page-amonestaciones-alta2 .amonestaciones-picker-cell {
  padding: 26px 36px !important;
}

.page-amonestaciones-firma .amonestaciones-firma-form {
  width: min(1180px, calc(100% - 48px));
  margin: 46px auto 60px;
}

.page-amonestaciones-firma .amonestaciones-firma-card {
  width: 100% !important;
  height: auto !important;
  border: 1px solid #d4e3ee !important;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 28px;
  overflow: hidden;
  background: #fff !important;
  box-shadow: 0 22px 46px rgba(21, 61, 88, .12);
}

.page-amonestaciones-firma .amonestaciones-firma-card > tbody > tr:first-child > td {
  padding: 28px 24px;
  border: 0 !important;
  background: linear-gradient(105deg, #e1f5f7 0%, #fce8f2 100%) !important;
  color: #062c57;
  font-size: clamp(1.45rem, 2.1vw, 2.15rem);
  font-weight: 900;
  letter-spacing: .045em;
}

.page-amonestaciones-firma .amonestaciones-firma-list-row > td:first-child { display: none; }
.page-amonestaciones-firma .amonestaciones-firma-list-row,
.page-amonestaciones-firma .amonestaciones-firma-list-row > td {
  padding: 24px;
  border: 0 !important;
  background: #fff !important;
  background-color: #fff !important;
}
.page-amonestaciones-firma .amonestaciones-firma-list { border: 0 !important; border-collapse: collapse; font-size: 1rem; }
.page-amonestaciones-firma .amonestaciones-firma-list tr,
.page-amonestaciones-firma .amonestaciones-firma-list td {
  padding: 14px 12px;
  border: 0 !important;
  border-bottom: 1px solid #d9e5ee !important;
  background: #fff !important;
  background-color: #fff !important;
}
.page-amonestaciones-firma .amonestaciones-firma-list tr:first-child td {
  background: linear-gradient(105deg, #e7f6f8 0%, #f8edf4 100%) !important;
  color: #062c57;
  font-weight: 900;
}
.page-amonestaciones-firma .amonestaciones-firma-list a { display: inline-block; padding: 7px 12px; border-radius: 999px; background: #e3f6f8; color: #007c98; font-weight: 900; text-decoration: none; }

.page-amonestaciones-firma .amonestaciones-firma-list .firma-empty {
  padding: 34px 24px;
  color: #5d6f82;
  text-align: center;
}

.page-amonestaciones-firma .amonestaciones-firma-list .firma-empty span,
.page-amonestaciones-firma .amonestaciones-firma-list .firma-empty strong {
  display: block;
}

.page-amonestaciones-firma .amonestaciones-firma-list .firma-empty strong {
  margin: 8px 0 5px;
  color: #0c2445;
  font-size: 1.05rem;
}

.page-amonestaciones-firma .amonestaciones-firma-list .firma-empty-icon {
  width: 34px;
  height: 34px;
  margin: 0 auto;
  border-radius: 50%;
  background: #e2f5f8;
  color: #008aa9;
  font-weight: 900;
  line-height: 34px;
}

.page-amonestaciones-firma .amonestaciones-firma-detail { padding: 28px 34px !important; border: 0 !important; background: #f9fbfd !important; }
.page-amonestaciones-firma #firma-amonestacion,
.page-amonestaciones-firma #firma-disciplina { scroll-margin-top: 24px; }
.page-amonestaciones-firma .amonestaciones-firma-detail p { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; font-weight: 800; }
.page-amonestaciones-firma .amonestaciones-firma-detail input,
.page-amonestaciones-firma .amonestaciones-firma-detail textarea { flex: 1; min-width: 0; padding: 13px 16px; border: 1px solid #c9dce9; border-radius: 14px; background: #fff; font: inherit; font-weight: 500; }
.page-amonestaciones-firma .amonestaciones-firma-detail textarea { min-height: 110px; resize: vertical; }
.page-amonestaciones-firma .amonestaciones-firma-actions { padding: 24px !important; border: 0 !important; background: #fff !important; }

@media (max-width: 780px) {
  .page-amonestaciones-firma .amonestaciones-firma-form { width: calc(100% - 24px); margin-top: 24px; }
  .page-amonestaciones-firma .amonestaciones-firma-list-row > td { padding: 12px; overflow-x: auto; }
  .page-amonestaciones-firma .amonestaciones-firma-list { min-width: 760px; }
  .page-amonestaciones-firma .amonestaciones-firma-detail p { align-items: stretch; flex-direction: column; }
}

/* Historial disciplinario */
.page-historial-disciplina .historial-form {
  width: min(1180px, calc(100% - 48px));
  margin: 42px auto 58px;
}

.page-historial-disciplina .historial-card {
  width: 100% !important;
  border: 1px solid var(--davinci-line) !important;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 26px;
  overflow: hidden;
  background: #fff !important;
  box-shadow: 0 22px 50px rgba(15, 35, 63, .11);
}

.page-historial-disciplina .historial-card > tbody > tr > td {
  border: 0 !important;
}

.page-historial-disciplina .historial-title {
  padding: 0 !important;
  background: linear-gradient(105deg, #dff4f7 0%, #f9e5f0 100%) !important;
}

.page-historial-disciplina .historial-title > div {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  padding: 22px 28px;
  background: transparent !important;
}

.page-historial-disciplina .historial-title .Estilo5 {
  color: var(--davinci-ink) !important;
  font-size: clamp(1.45rem, 2.5vw, 2.25rem);
  font-weight: 900;
  letter-spacing: .045em;
  text-align: center;
  text-transform: uppercase;
}

.page-historial-disciplina .historial-filters {
  display: grid;
  grid-template-columns: minmax(250px, .8fr) minmax(0, 1.55fr);
  gap: 20px 22px;
  padding: 28px 34px !important;
  background: #fff !important;
}

.page-historial-disciplina .historial-filter-group,
.page-historial-disciplina .historial-filter-group tbody,
.page-historial-disciplina .historial-filter-group tr,
.page-historial-disciplina .historial-filter-group td {
  display: block;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
}

.page-historial-disciplina .historial-filter-field,
.page-historial-disciplina .historial-filter-more {
  display: grid !important;
  grid-template-columns: max-content minmax(180px, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0 !important;
  color: var(--davinci-ink) !important;
  font-size: 1rem;
  font-weight: 900;
}

.page-historial-disciplina .historial-filter-more {
  width: 100%;
  min-width: 0;
  grid-template-columns: max-content minmax(180px, 1fr) max-content 126px;
}

.page-historial-disciplina .historial-filter-more label { display: none; }
.page-historial-disciplina .historial-filter-field select,
.page-historial-disciplina .historial-filter-more select {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.page-historial-disciplina .historial-filter-more #curso {
  width: 126px !important;
}

.page-historial-disciplina .historial-section {
  padding: 18px 30px !important;
  background: #fff !important;
}

.page-historial-disciplina .historial-table {
  width: 100% !important;
  border: 1px solid var(--davinci-line) !important;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 18px;
  overflow: hidden;
  background: #fff !important;
}

.page-historial-disciplina .historial-table td {
  padding: 13px 12px;
  border: 0 !important;
  border-bottom: 1px solid var(--davinci-line) !important;
  background: #fff !important;
  color: var(--davinci-ink) !important;
  font-size: .92rem;
  vertical-align: top;
}

.page-historial-disciplina .historial-table tr:first-child td {
  padding: 18px 16px;
  background: linear-gradient(105deg, #e4f5f7 0%, #f8eaf2 100%) !important;
  font-size: 1.08rem;
  font-weight: 900;
  text-transform: uppercase;
}

.page-historial-disciplina .historial-table tr:nth-child(2) td {
  background: #f4f8fb !important;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.page-historial-disciplina .historial-table tr:last-child td { border-bottom: 0 !important; }

.page-historial-disciplina .historial-empty {
  padding: 24px 18px;
  color: #617386;
  text-align: center;
}

.page-historial-disciplina .historial-empty strong,
.page-historial-disciplina .historial-empty span { display: block; }
.page-historial-disciplina .historial-empty strong { margin-bottom: 5px; color: #0c2445; font-size: 1rem; }

@media (max-width: 850px) {
  .page-historial-disciplina .historial-form { width: calc(100% - 24px); margin-top: 24px; }
  .page-historial-disciplina .historial-filters { grid-template-columns: 1fr; padding: 22px 18px !important; }
  .page-historial-disciplina .historial-filter-more { grid-template-columns: 1fr; }
  .page-historial-disciplina .historial-section { padding: 12px !important; overflow-x: auto; }
  .page-historial-disciplina .historial-table { min-width: 760px; }
}

@media (min-width: 851px) and (max-width: 1180px) {
  .page-historial-disciplina .historial-filters { grid-template-columns: 1fr; }
  .page-historial-disciplina .historial-filter-more { grid-template-columns: max-content minmax(200px, 1fr) max-content 126px; }
}
/* FCT interno: evaluacion de empresas y comisiones de servicio */
.page-fcts #cuerpo {
  padding: 36px 3%;
  box-sizing: border-box;
}

.page-fcts .fcts-eval-form,
.page-fcts .fcts-comisiones-form {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  font-family: inherit;
}

.page-fcts .fcts-eval-card,
.page-fcts .fcts-comisiones-card {
  width: 100%;
  border: 1px solid #d5e3ee;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 26px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 20px 45px rgba(12, 55, 91, .1);
}

.page-fcts .fcts-eval-title,
.page-fcts .fcts-comisiones-title {
  padding: 30px 24px;
  text-align: center;
  color: #062d5d;
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 900;
  letter-spacing: 2px;
  line-height: 1.15;
  background: linear-gradient(105deg, #dff5f7 0%, #fce7f1 100%);
}

.page-fcts-evaluacion-empresas .fcts-eval-card > tbody > tr:not(.fcts-eval-title-row) > td {
  padding: 15px 18px;
  border: 0;
  border-bottom: 1px solid #d7e3ed;
  background: #fff;
  color: #082a51;
  vertical-align: middle;
  font-size: 17px;
}

.page-fcts-evaluacion-empresas .fcts-eval-card input[type="text"],
.page-fcts-evaluacion-empresas .fcts-eval-card select,
.page-fcts-evaluacion-empresas .fcts-eval-card textarea {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #c9ddeb;
  border-radius: 13px;
  background: #fff;
  color: #082a51;
  font: inherit;
}

.page-fcts-evaluacion-empresas .fcts-eval-card input[readonly] {
  background: #eff5f8;
}

.page-fcts-evaluacion-empresas .fcts-eval-card select#empresas {
  width: min(100%, 650px);
}

.page-fcts-evaluacion-empresas .fcts-eval-section-title {
  padding: 22px !important;
  text-align: center;
  color: #062d5d !important;
  font-size: 25px !important;
  font-weight: 900;
  letter-spacing: 1px;
  background: linear-gradient(105deg, #e1f5f6 0%, #f9e7f1 100%) !important;
}

.page-fcts-evaluacion-empresas .fcts-eval-answer-head td {
  color: #006c85 !important;
  font-size: 14px !important;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: #eef8fa !important;
}

.page-fcts-evaluacion-empresas .fcts-eval-question td:first-child {
  font-weight: 700;
  line-height: 1.45;
}

.page-fcts-evaluacion-empresas .fcts-eval-question td:last-child {
  text-align: center;
}

.page-fcts-evaluacion-empresas .fcts-score-input {
  width: 64px !important;
  text-align: center;
  font-weight: 900 !important;
  font-size: 20px !important;
}

.page-fcts-evaluacion-empresas .fcts-eval-card textarea {
  width: 100%;
  resize: vertical;
}

.page-fcts-evaluacion-empresas .fcts-eval-actions td {
  padding: 25px !important;
  text-align: center;
  border-bottom: 0 !important;
}

.page-fcts-evaluacion-empresas .fcts-eval-actions p:last-of-type {
  margin: 14px 0 0;
  color: #62758a;
  font-size: 14px;
  text-align: center !important;
}

.page-fcts-comisiones .fcts-comisiones-list {
  padding: 24px;
}

.page-fcts .fcts-table-scroll {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #d7e3ed;
  border-radius: 18px;
}

.page-fcts .fcts-comisiones-table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  background: #fff;
}

.page-fcts .fcts-comisiones-table th {
  padding: 17px 15px;
  color: #062d5d;
  background: #edf8fa;
  text-align: left;
  font-size: 14px;
  letter-spacing: .5px;
}

.page-fcts .fcts-comisiones-table td {
  padding: 16px 15px;
  border-top: 1px solid #d7e3ed;
  color: #153553;
  vertical-align: top;
  line-height: 1.4;
}

.page-fcts .fcts-code-link {
  display: inline-flex;
  min-width: 50px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  color: #00738c;
  background: #e2f6f8;
  font-weight: 900;
  text-decoration: none;
}

.page-fcts .fcts-empty {
  display: flex;
  min-height: 120px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #60758a;
  text-align: center;
}

.page-fcts .fcts-empty strong {
  color: #062d5d;
  font-size: 19px;
}

.page-fcts-comisiones .fcts-comision-detail-title td {
  padding: 24px 28px 14px;
  color: #006d84;
  font-size: 20px;
}

.page-fcts-comisiones .fcts-comision-detail-row td {
  padding: 12px 28px;
  border: 0;
  background: #fff;
}

.page-fcts-comisiones .fcts-comision-detail-row input,
.page-fcts-comisiones .fcts-comision-detail-row textarea {
  box-sizing: border-box;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #c9ddeb;
  border-radius: 13px;
  background: #fff;
  font: inherit;
}

.page-fcts-comisiones .fcts-comision-detail-row textarea {
  width: min(100%, 850px);
}

.page-fcts-comisiones .fcts-comision-actions td {
  padding: 24px;
  text-align: center;
  background: #fff;
}

.page-fcts-comisiones .fcts-comision-actions .boton {
  margin: 6px;
}

.page-fcts-comisiones .fcts-danger-button {
  background: linear-gradient(90deg, #bb3650, #dc174c) !important;
}

/* Ajuste completo del listado y la edicion de comisiones */
.page-fcts-comisiones .fcts-comisiones-card,
.page-fcts-comisiones .fcts-comisiones-card > tbody,
.page-fcts-comisiones .fcts-comisiones-card > tbody > tr,
.page-fcts-comisiones .fcts-comisiones-list {
  background: #fff !important;
}

.page-fcts-comisiones .fcts-comisiones-list {
  padding: 26px 28px !important;
}

.page-fcts-comisiones .fcts-table-scroll {
  overflow-x: visible;
}

.page-fcts-comisiones .fcts-comisiones-table {
  min-width: 0;
  table-layout: fixed;
}

.page-fcts-comisiones .fcts-comisiones-table th:nth-child(1),
.page-fcts-comisiones .fcts-comisiones-table td:nth-child(1) { width: 9%; }
.page-fcts-comisiones .fcts-comisiones-table th:nth-child(2),
.page-fcts-comisiones .fcts-comisiones-table td:nth-child(2) { width: 34%; }
.page-fcts-comisiones .fcts-comisiones-table th:nth-child(3),
.page-fcts-comisiones .fcts-comisiones-table td:nth-child(3) { width: 12%; }
.page-fcts-comisiones .fcts-comisiones-table th:nth-child(4),
.page-fcts-comisiones .fcts-comisiones-table td:nth-child(4),
.page-fcts-comisiones .fcts-comisiones-table th:nth-child(5),
.page-fcts-comisiones .fcts-comisiones-table td:nth-child(5) { width: 10%; }
.page-fcts-comisiones .fcts-comisiones-table th:nth-child(6),
.page-fcts-comisiones .fcts-comisiones-table td:nth-child(6) { width: 25%; }

.page-fcts-comisiones .fcts-comisiones-table th,
.page-fcts-comisiones .fcts-comisiones-table td {
  overflow-wrap: anywhere;
  word-break: normal;
}

.page-fcts-comisiones .fcts-comision-edit-row > td {
  padding: 28px !important;
  border: 0 !important;
  background: #fff !important;
}

.page-fcts-comisiones .fcts-comision-edit-card {
  overflow: hidden;
  border: 1px solid #d5e3ee;
  border-radius: 22px;
  background: #fff;
}

.page-fcts-comisiones .fcts-comision-edit-title {
  padding: 22px 28px;
  color: #062d5d;
  background: linear-gradient(105deg, #dff5f7 0%, #fce7f1 100%);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 1px;
}

.page-fcts-comisiones .fcts-comision-edit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  padding: 28px;
}

.page-fcts-comisiones .fcts-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 9px;
  color: #082a51;
  font-size: 17px;
  font-weight: 800;
}

.page-fcts-comisiones .fcts-field-code,
.page-fcts-comisiones .fcts-field-wide {
  grid-column: 1 / -1;
}

.page-fcts-comisiones .fcts-field input,
.page-fcts-comisiones .fcts-field textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 56px;
  padding: 13px 16px;
  border: 1px solid #c9ddeb;
  border-radius: 14px;
  background: #fff;
  color: #082a51;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
}

.page-fcts-comisiones .fcts-field input[readonly] {
  background: #f1f6f9;
}

.page-fcts-comisiones .fcts-field textarea {
  min-height: 125px;
  resize: vertical;
}

.page-fcts-comisiones .fcts-date-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px;
  gap: 10px;
}

.page-fcts-comisiones .fcts-calendar-button {
  display: grid;
  width: 56px;
  height: 56px;
  padding: 7px;
  place-items: center;
  border: 1px solid #c9ddeb;
  border-radius: 14px;
  background: #eaf7f9;
  cursor: pointer;
}

.page-fcts-comisiones .fcts-calendar-button img {
  width: 38px;
  height: 38px;
  object-fit: contain;
}

.page-fcts-comisiones .fcts-comision-edit-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  padding: 0 28px 28px;
}

@media (max-width: 1000px) {
  .page-fcts-comisiones .fcts-comisiones-list { padding: 18px !important; }
  .page-fcts-comisiones .fcts-comisiones-table { font-size: 14px; }
  .page-fcts-comisiones .fcts-comisiones-table th,
  .page-fcts-comisiones .fcts-comisiones-table td { padding: 12px 9px; }
  .page-fcts-comisiones .fcts-comision-edit-grid { grid-template-columns: 1fr 1fr; }
  .page-fcts-comisiones .fcts-field-code { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .page-fcts-comisiones .fcts-table-scroll { overflow-x: auto; }
  .page-fcts-comisiones .fcts-comisiones-table { min-width: 720px; }
  .page-fcts-comisiones .fcts-comision-edit-row > td { padding: 15px !important; }
  .page-fcts-comisiones .fcts-comision-edit-grid { grid-template-columns: 1fr; padding: 20px; }
  .page-fcts-comisiones .fcts-field { grid-column: 1; }
  .page-fcts-comisiones .fcts-comision-edit-actions { flex-direction: column; padding: 0 20px 20px; }
}

@media (max-width: 820px) {
  .page-fcts #cuerpo { padding: 22px 14px; }
  .page-fcts .fcts-eval-title,
  .page-fcts .fcts-comisiones-title { padding: 23px 15px; }
  .page-fcts-evaluacion-empresas .fcts-eval-card > tbody > tr > td { padding: 12px !important; }
}

/* Documentacion: experiencia movil unificada */
@media (max-width: 620px) {
  .page-documentacion #cuerpo,
  .page-listados-calidad #cuerpo,
  .page-profesores-email #cuerpo,
  .page-configuracion #cuerpo {
    padding: 18px 12px 34px !important;
  }

  .page-documentacion #cuerpo > #titulo,
  .page-documentacion #cuerpo > .titlat,
  .page-documentacion #cuerpo > h1.titlat,
  .page-documentacion #cuerpo > h2,
  .page-documentacion #cuerpo > h3,
  .page-listados-calidad .listado-header,
  .page-profesores-email .profesores-email-header {
    padding: 20px 16px !important;
  }

  .page-documentacion #titulo,
  .page-documentacion #cuerpo > .titlat,
  .page-documentacion #cuerpo h1.titlat,
  .page-documentacion #cuerpo h2,
  .page-documentacion #cuerpo h3,
  .page-listados-calidad .listado-header h1,
  .page-profesores-email .profesores-email-header h1 {
    font-size: clamp(1.22rem, 6.2vw, 1.55rem) !important;
    line-height: 1.2;
    overflow-wrap: normal;
    word-break: normal;
  }

  /* Listados clasicos de documentos: una tarjeta completa por registro. */
  .page-documentacion #cuerpo .documentacion-data-table,
  .page-documentacion #cuerpo .documentacion-data-table tbody {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 0 18px 18px;
    box-shadow: none;
  }

  .page-documentacion #cuerpo .documentacion-data-head {
    display: none !important;
  }

  .page-documentacion #cuerpo .documentacion-data-row {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #d7e3ee;
    border-radius: 15px;
    box-shadow: 0 8px 22px rgba(23, 32, 51, .07);
  }

  .page-documentacion #cuerpo .documentacion-data-row td {
    display: grid !important;
    grid-template-columns: minmax(82px, 31%) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    width: 100% !important;
    padding: 13px 15px !important;
    text-align: left !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #e2e9f1 !important;
  }

  .page-documentacion #cuerpo .documentacion-data-row td:last-child {
    border-bottom: 0 !important;
  }

  .page-documentacion #cuerpo .documentacion-data-row td::before {
    content: attr(data-label);
    color: #61747b;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.45;
    text-transform: uppercase;
  }

  .page-documentacion #cuerpo .documentacion-data-row a {
    overflow-wrap: anywhere;
  }

  .page-documentacion #cuerpo .documentacion-export-row,
  .page-documentacion #cuerpo .documentacion-export-row td {
    display: block !important;
    width: 100% !important;
  }

  .page-documentacion #cuerpo .documentacion-export-row td {
    margin-top: 16px;
    padding: 18px !important;
    border: 1px solid #d7e3ee !important;
    border-radius: 14px;
    background: #eef8fa !important;
  }

  /* Formularios de documentacion: campos apilados y controles tactiles. */
  .page-documentacion #cuerpo > form {
    width: 100% !important;
    padding: 16px !important;
  }

  .page-documentacion #cuerpo form table,
  .page-documentacion #cuerpo form tbody,
  .page-documentacion #cuerpo form tr,
  .page-documentacion #cuerpo form td {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .page-documentacion #cuerpo form table {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 14px;
    box-shadow: none;
  }

  .page-documentacion #cuerpo form td {
    padding: 14px !important;
    text-align: left !important;
  }

  .page-documentacion #cuerpo form .documentacion-field-head {
    display: none !important;
  }

  .page-documentacion #cuerpo form td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 8px;
    color: #0c2445;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
  }

  .page-documentacion #cuerpo form select,
  .page-documentacion #cuerpo form textarea,
  .page-documentacion #cuerpo form input[type="text"],
  .page-documentacion #cuerpo form input[type="date"],
  .page-documentacion #cuerpo form input[type="file"] {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    margin: 6px 0 0 !important;
  }

  .page-documentacion #cuerpo form p {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 9px;
    margin: 0 0 14px;
    text-align: left;
  }

  .page-documentacion #cuerpo form input[type="submit"],
  .page-documentacion #cuerpo form input[type="reset"],
  .page-documentacion #cuerpo form input[type="button"] {
    width: 100%;
    min-height: 48px;
    margin: 6px 0 !important;
    white-space: normal;
  }

  /* Legislacion y horarios: sin scroll lateral, tambien como tarjetas. */
  .page-listados-calidad .listado-card,
  .page-profesores-email .profesores-email-card {
    border-radius: 18px;
  }

  .page-listados-calidad .listado-table-wrap,
  .page-profesores-email .profesores-email-table-wrap {
    overflow: visible;
  }

  .page-listados-calidad .listado-table,
  .page-listados-calidad .listado-table tbody,
  .page-profesores-email .profesores-email-table,
  .page-profesores-email .profesores-email-table tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .page-listados-calidad .listado-table thead,
  .page-profesores-email .profesores-email-table thead {
    display: none !important;
  }

  .page-listados-calidad .listado-table tbody tr:not(.listado-group),
  .page-profesores-email .profesores-email-table tbody tr:not(.profesores-email-department) {
    display: block !important;
    width: auto !important;
    margin: 12px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #d7e3ee;
    border-radius: 14px;
    box-shadow: 0 7px 18px rgba(23, 32, 51, .06);
  }

  .page-listados-calidad .listado-table tbody tr:not(.listado-group) td,
  .page-profesores-email .profesores-email-table tbody tr:not(.profesores-email-department) td {
    display: grid !important;
    grid-template-columns: minmax(78px, 29%) minmax(0, 1fr);
    gap: 10px;
    width: 100% !important;
    padding: 12px 14px !important;
    text-align: left !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #e2e9f1 !important;
    overflow-wrap: anywhere;
  }

  .page-listados-calidad .listado-table tbody tr:not(.listado-group) td:last-child,
  .page-profesores-email .profesores-email-table tbody tr:not(.profesores-email-department) td:last-child {
    border-bottom: 0 !important;
  }

  .page-listados-calidad .listado-table .listado-empty-row td {
    display: block !important;
    padding: 0 !important;
  }

  .page-listados-calidad .listado-table .listado-empty-row td::before {
    content: none;
  }

  .page-listados-calidad .listado-table td::before,
  .page-profesores-email .profesores-email-table td::before {
    content: attr(data-label);
    color: #61747b;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .page-listados-calidad .listado-group,
  .page-listados-calidad .listado-group th,
  .page-profesores-email .profesores-email-department,
  .page-profesores-email .profesores-email-department th {
    display: block !important;
    width: 100% !important;
  }

  .page-listados-calidad .listado-group th,
  .page-profesores-email .profesores-email-department th {
    padding: 11px 14px !important;
  }

  .page-listados-calidad .listado-actions,
  .page-profesores-email .profesores-email-actions {
    padding: 16px 12px 20px;
  }

  .page-listados-calidad .listado-button,
  .page-profesores-email .profesores-email-actions .boton {
    width: 100%;
    min-width: 0;
  }

  /* Pie de firma: cada etiqueta permanece unida a su control. */
  .page-configuracion .config-signature-card,
  .page-configuracion .config-signature-card > tbody {
    display: block !important;
    width: 100% !important;
  }

  .page-configuracion .config-signature-card > tbody > tr {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100% !important;
  }

  .page-configuracion .config-signature-card > tbody > tr > td {
    display: block !important;
    width: 100% !important;
    padding: 13px 16px !important;
    text-align: left !important;
  }

  .page-configuracion .config-signature-card > tbody > tr:not(:first-child) > td:first-child {
    padding-bottom: 6px !important;
    background: #f8fafc !important;
    border-bottom: 0 !important;
  }

  .page-configuracion .config-signature-card input[type="submit"] {
    width: 100%;
  }
}
