/* --- Contenedor general --- */
#calendar {
    width: 900px;
    margin: 0 auto;
    background: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

/* --- Header y botones --- */
#calendar .header-bar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 5px;
}

.formulario_legend_ae36 {
  border: 1px solid ;
  margin-left: 2px;
  margin-right: 2px;
  padding-left: 9px;
  padding-right: 7px; }

#calendar #newAppointmentBtn {
    padding: 6px 12px;
    background: #3498db;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

#calendar #newAppointmentBtn:disabled {
    background: #ccc;
    cursor: not-allowed;
}

/* --- Navegación y selectores --- */
#calendar .nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #34495e;
    color: white;
    padding: 10px 20px;
    font-weight: bold;
}

#calendar .nav-container .selectors select {
    margin: 0 5px;
    padding: 3px;
    border-radius: 4px;
    border: none;
    font-size: 14px;
}

/* --- Fecha actual --- */
#calendar .current-date {
    text-align: center;
    background: #ecf0f1;
    font-weight: bold;
    padding: 8px 0;
    color: #2c3e50;
}

/* --- Vista diaria --- */
#calendar .day-view {
    display: flex;
    height: 600px;
    overflow-y: auto;
}

/* --- Columna de horas --- */
#calendar .hours-column {
    width: 80px;
    background: #f3f6f8;
    text-align: right;
    padding-right: 10px;
    border-right: 2px solid #ccd2d6;
}

#calendar .hours-column div {
    height: 60px; /* altura por hora */
    line-height: 60px;
    border-bottom: 1px solid #d0d7de;
    color: #555;
    font-size: 13px;
}

/* --- Columna de eventos --- */
#calendar .events-column {
    flex-grow: 1;
    position: relative;
    background: #fafafa;
    background-image: linear-gradient(to bottom,#e0e0e0 1px,transparent 1px);
    background-size: 100% 60px; /* coincide con la altura por hora */
    min-height: 800px;
    overflow-y: auto;
}

/* --- Eventos --- */
#calendar .events-column .event {
    position: absolute;
    left: 5%;      /* margen lateral */
    width: 90%;    /* ocupa casi todo el ancho */
    border-radius: 6px;
    padding: 5px 8px;
    box-sizing: border-box;
    font-size: 13px;
    white-space: normal; /* permite salto de línea */
    overflow: visible;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    cursor: pointer;
}

/* Colores según tipo */
#calendar .events-column .evento-reunion { background: #e74c3c; }
#calendar .events-column .evento-informe { background: #27ae60; }

/* Hover */
#calendar .events-column .event:hover { 
    background-color: #bf3f3f; 
}

/* --- Modal nueva cita --- */
#calendar #newAppointmentModal {
    display: none;
    position: fixed;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    width: 300px;
    z-index: 1000;
}

#calendar #newAppointmentModal input {
    width: 100%;
    padding: 5px;
    margin: 5px 0;
    box-sizing: border-box;
}

#calendar #newAppointmentModal button {
    margin-top: 10px;
    padding: 5px 10px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

#calendar #newAppointmentModal button[type="button"] {
    background: #e74c3c;
    color: white;
}

#calendar #newAppointmentModal button#saveAppointmentBtn {
    background: #27ae60;
    color: white;
}


/*
=============================================================================================================
=============================================================================================================
=============================================================================================================
=============================================================================================================
========================================== NTTDATA ==========================================================
=============================================================================================================
=============================================================================================================
=============================================================================================================
=============================================================================================================
*/





.row.align-items-start {
  align-items: flex-start; 
}

.section-title {
  white-space: normal;        
  word-break: break-word;    
  margin-bottom: 0;          
  line-height: 1.25;          
}


.fixed-table {
  table-layout: fixed;
  width: 100%;

}


.fixed-table thead th {
  width: 20%;
  vertical-align: top; 
  padding: 0.5rem;
}


.fixed-table thead th .checkbox-wrapper {
  display: flex;
  justify-content: center;    
  align-items: flex-start;    
  height: 100%;
  padding-top: 0.15rem;     
}


.fixed-table thead th .checkbox-material {
  display: flex;
  align-items: center;        
  justify-content: center;
}

.fixed-table thead th,
.fixed-table tbody td {
  white-space: normal;       
}


.fixed-table thead th .checkbox-material label {
  display: inline-block;
  width: auto;
  height: auto;
  margin-bottom: 30px;
}

.row.align-items-start .col,
.row.align-items-start .col-auto {
  align-self: flex-start;
}



/* Estilos personalizados de la aplicaci�n */
html, .r01gContainer {
  font-size: 12px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Open Sans", sans-serif; }
 
html{
	 position: relative; 
     min-height: 100%;
}
body{
	 margin: 0 0 18rem !important;
}

body, .r01gContainer {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Open Sans", sans-serif;
  font-size: 1.1rem;
  margin: 0;
  color: #666666;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.r01gContainer {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

*,
::after,
::before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

header {
  background-color: #ffffff;
  height: 0px;
  overflow: hidden;
  position: relative;
  z-index: 99; }

header div.cabecera > a {
  padding-top: 1.3em;
  padding-right: 1em; }


footer {
	width: 100%;
    bottom: 0;
    position: absolute;
  clear: both;
  vertical-align: baseline;
  background: #1472a4;
  color: #ffffff;
  /*height: 2em;*/
  margin-top: 1em;
  padding-top: 0.2em; }


footer .footer-informacion-legal {
  float: left; }

footer .footer-ejgv {
  float: right; }

footer .footer-row-1 {
  clear: both;
  background: #1472a4;
  padding: 0rem 2rem;
  line-height: 3rem;
  height: 3rem; }

footer .footer-row-2 {
  background: url("../images/web01-2014_oina_logo_atzekoa.gif") no-repeat left bottom #1f1f1f;
  clear: both;
  text-align: center;
  height: 12rem;
  padding-top: 2rem; 
  background-size: cover;
}

#ad74aTeleasistenciaWar_migas .row {
	margin-top: 0;
    padding-left: 0px;
}

.content {
    margin: 1rem;
    clear: both;
    background: #ffffff;
    display: block;
    padding: 2rem;}



.hidden {
	display: none;
}

.ejlogo {
    width: 75%;
    float: left;
}
.ejlogo img {
    float: left;
    height: 100%;
}

.subray{
	text-decoration: underline
}

.ejlogo span {
    margin-top: 50px;
    font-size: 2.2em;
    font-weight: 500;
    vertical-align:middle;
    line-height: 1.3;
    letter-spacing: -0.06em!important;
    padding-top: 5px;
    height: 100px;
    letter-spacing: normal;
} 

.rup-navbar, .rup-navbar .navbar-brand {
	background: #336289;
}

.rup-navbar .navbar-brand {
	font-size: 2rem;
}
 
.rup-navbar .navbar-brand:hover, 
.rup-navbar .navbar-brand:active,
.rup-navbar .navbar-brand:focus {
	color: #1472a4;
}
 
 
.rup-navbar .navbar-nav > .nav-item {
    height: 4rem;
    line-height: 3rem;
    padding-left: 0;
    background: #1472a4;
    border-right: 1px solid #336289;
}

.rup-navbar .navbar-nav > .nav-item:hover,
.rup-navbar .navbar-nav > .nav-item.open, 
.rup-navbar .navbar-nav > .nav-item.open a.nav-link,
.rup-navbar .navbar-nav > .nav-item .nav-link:hover, 
.rup-navbar .navbar-nav > .nav-item .nav-link:focus {
    background: #336289;
}

.rup-navbar .navbar-nav > .nav-item > .dropdown-menu .dropdown-item:hover {
    background: #1472a4;
    color: #fffcfb;
}

/*PESTA�AS*/
.rup-tabs_container ul .ui-state-default,.rup-tabs_container ul  .ui-widget-content .ui-state-default,.rup-tabs_container ul .ui-widget-header .ui-state-default {
    border: 1px solid #FFFFFF; 
    font-weight: normal !important; 
    color: #FFFFFF !important; 
    background: #e6e6e6 50% 50% repeat-x !important; 
}


.rup-tabs_container ul .ui-state-active,.rup-tabs_container ul .ui-widget-content ul .ui-state-active,.rup-tabs_container ul .ui-widget-header .ui-state-active {
    border: 1px solid #91928c;
    background: #ffffff 50% 50% repeat-x !important; 
    font-weight: bold !important;
    color: #6e6f6f !important; 
}

.rup-tabs_container ul .ui-tabs .ui-tabs-nav li.ui-tabs-selected a,.rup-tabs_container ul .ui-tabs .ui-tabs-nav li.ui-state-disabled a,.rup-tabs_container ul .ui-tabs .ui-tabs-nav li.ui-state-processing a {
    cursor: text;
    color: #6e6f6f !important;
}

.rup-tabs_container ul .ui-state-default a,.rup-tabs_container ul .ui-state-default a:link,.rup-tabs_container ul .ui-state-default a:visited {
    color: #6e6f6f !important;
    text-decoration: none;
    outline-width: 0;
}

.rup-tabs_container {
    border: 0px !important;
}

.rup-tabs_container > .ui-tabs-nav {
    background: none !important;
    border: 0px !important;
    /* padding-left: 2em !important; */
}

.ui-tabs {
    position: relative !important;
    /* padding: .2em; */
    zoom: 1 !important;
}

.ui-tabs .ui-widget-content {
    border: 1px solid #91928c !important;
}

.ui-tabs .ui-tabs-nav li {
  
    border-bottom-width: 0 !important;
}


.ui-tabs-anchor {
	padding-left: 1.4em !important;
	padding-right: 0.3em !important;
}

.ui-tabs .ui-widget-content {
    border: 1px solid #c5c5c5 !important;
}

.ui-tabs  .innerTabs{
    border: none !important;
}

.rup-tabs_container ul .ui-state-active, .rup-tabs_container ul .ui-widget-content ul .ui-state-active, .rup-tabs_container ul .ui-widget-header .ui-state-active{
	border: 1px solid #c5c5c5;
}

.rup-tabs_container ul .ui-state-active{
	outline: none;
}

#contenido .tab{
    padding: 1em 1.4em;
}

/* /PESTA�AS*/

/*RESUMEN*/
.detalle_cabecera { 
    margin-bottom: 15px !important;
    border: 1px solid #c5c5c5;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 3px;
    margin-bottom: 5px;
    padding: 2px;
}

.detalle_cabecera .seccion {
	background: white;
    /*border: 2px solid #dbe4ef;*/
    border: 0;
}

.detalle_cabecera .seccion {
	background: white;
    border: 0;
}

.detalle_datos_generales { 
	padding: 0.6em;
}

.datosResumen {
/*font-weight: bold;*/
   padding-left: 0.5em;
   display: block;
}

div.resumen{
	font-weight:bold;
	font-size: 1.3em;
    color: #577e9a !important;
    float:left;
    margin: 0 0;
    padding: 0;
}

.icon-stack {
    vertical-align: top;
    margin-right:.5em;
    color:#69a3d6;
}

.ui-dialog-content .detalle_cabecera{
	margin-top: 15px;
}

/* /RESUMEN*/

/*LAYOUT*/
.row{
	margin-top: 10px;
	color: #666666;
	font-size: 1em;
	padding-left: 0em;
	padding-bottom: .20em;
	padding-top: .15em;
}

#filaGeneral{
    margin-top: 0px;
}


.clsSubCabecera, .clsCabecera {
    display: block;
    color: #577e9a;
    font-weight: bold;
    font-size: 1.0em;
    /*margin: 1em 0 1em 0;*/
    margin: 1.2em 0;
    /*border-bottom: 1px solid #c5c5c5;*/
    border-bottom: 2px solid #577e9a77;
    box-sizing: border-box;
}

.clsSubCabecera{
    margin: 1em 0;
    color: #666666;
    font-size: 1em;
    border-bottom: 1px solid #c5c5c5;
}

.tituloCabecera{
    font-weight: bold;
    /*font-size: 1.3em;*/
    color: #577e9a !important;
    /*float: left;*/
    margin: 0 0 15px 0;
    padding: 0;
}

.clsCabecera.collapsable:hover, .clsSubCabecera.collapsable:hover{
    cursor: pointer;
    box-shadow: 0 4px 4px -4px rgba(0,0,0,.2);
}

.clsCabecera.collapsable span, .clsSubCabecera.collapsable span{
    display: block;
    float: right;
    font-size: 1.7em;
    margin-top: -5px;
    font-weight: bold;
}


.clsSubCabecera.plegable, .clsCabecera.plegable {
	cursor: pointer;
}

.clsCabecera.plegable i, .clsSubCabecera.plegable i{
    font-size: 1.3em;
    bottom: 4px;
    float: left;
    position: relative;
}

.clsCabecera.plegable + div, .clsSubCabecera.plegable + div {
    max-height: 5000px;
    opacity: 1;
    transition: all 0.25s ease-in;
}

.clsCabecera.plegable + div.plegado, .clsSubCabecera.plegable + div.plegado{    
    max-height: 0;
    opacity: 0;
    transition: all 0.15s ease-out;
    overflow: hidden;
}

.clsContenido {
    max-height: 5000px;
    opacity: 1;
    transition: all 0.25s ease-in;
}

.clsContenido.collapsed{    
    max-height: 0;
    opacity: 0;
    transition: all 0.15s ease-out;
    overflow: hidden;
}

/* /LAYOUT*/

/* COMPONENTES*/

.obligatorio:after{
    content: ' *'; 
    color: red; 
    font-weight: bold;
}

fieldset.inputGroup > legend.obligatorio:after{/*para cuando esta en un grupo de radios*/
    content: ' *'; 
    color: red; 
    font-weight: bold;
    position:absolute;
    right:0;
}


/*.loading {
    font-size: 30px;
    color: #1472a4;
    cursor: wait;
    display: block;
}*/

span.loading, .dataTables_processing.card .sProcessingText{
    text-align: center;
    color: #1472a4;
    cursor: wait;
    font-size: 20px;
}

fieldset.borde{
    border: 1px solid #c5c5c5;
    margin-top: 25px;
    padding-bottom: 10px;
}

fieldset.borderOnly{
    border: 1px solid #c5c5c5;
}

fieldset.borderOnly-filter{
    border: 1px solid #c5c5c5;
    border-top-left-radius: 0px !important;
    border-top-right-radius: 0px !important;
    border-bottom-left-radius: 3px !important;
    border-bottom-right-radius: 3px !important;
    margin-top: -16.7px !important;
    margin-right: -0.1px !important;
    margin-left: -0.1px !important;
}


fieldset.inputGroup{
    margin-top: 0px;
    padding: 20px;
    padding: 0px 0 15px 0;
}

fieldset.inputGroup legend{
    /*top: -10px;*/
    font-size: 1rem;
    color: #1472a4;
    background-color: #FFFFFF;
    background-image: none;
    margin: 0rem 1rem 0rem 3px;
    position: relative;
    border-bottom: 1px solid #c5c5c5;
    top: -9px;
    /*margin-left: 3px;*/
}

fieldset.inputGroup div.form-row{
    margin-top: 7px;
}

fieldset.inputGroup.inline{
    padding-bottom: 0;
    top: -9px;
    position: relative;
    border: none;
}

fieldset.inputGroup.inline legend{
	white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.2;
    background: none !important;
    left: 8px !important;
    font-size: 1rem !important;
    /* top: -18px !important; */
    width: 100%;
    
}

fieldset.inputGroup.inline div.form-row{
	height: auto;
    margin-top: 0;
    position: relative;
    top: -9px;
}


.radio-material, .checkbox-material{
    margin: 0;
}

.radio-material input[type="radio"]:disabled{
    display: none;
}

.checkbox-material label ,.radio-material label{
    cursor: pointer !important;
    display: inline-block important;
    /* height: 18px; */
    height: auto important;
    margin-bottom: 0 important;
    padding-left: 28px !important;
    position: relative !important;
    vertical-align: bottom !important;
    width: auto !important;
    margin-right: 12px !important;
}

.checkbox-material input{
    height: 0px;
}

/*table.table-material > thead tr > th {
    padding: 0;
}*/

table.dataTable {
    font-size: 1em;
}

a.page-link, a.page-link span {
    text-decoration: none;
}

a img,:link img,:visited img,form,fieldset {
    border:none
}



label.lbl-sm{
    width: 7em;
}

label.lbl-md{
    width: 15em;
}

label.lbl-lg{
    width: 19em;
}
label.lbl-auto{
    width: auto;
    margin-right: 5px;
}
label.lbl-wrap{
	white-space: normal !important;
}
legend.lgnd-wrap{
	white-space: normal !important;
}
#detalleCriterio{
    overflow-x: hidden;
}
/* /COMPONENTES*/



.paginationContainer .dataTables_length label {
    float: none;
    width: auto;
}

.rup-table-filter-toggle-label, [id$="_filter_toggle_label"] {
    color: #1472a4 !important;
    font-weight: bold;
}

div.formulario_legend{
    height: 30px;
    padding: 5px;
    background-color: #e9e9e9;
}

.datepicker{
    width: auto;
    max-width: 200px;
}

select.rup_combo + span {
    display: inline-flex;
}

.form-groupMaterial select.rup_combo + span{
    display: inline;
}


table.bandejaMando thead tr > th {
	pointer-events: none;
}

table.bandejaMando thead tr.secondary > th{
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;

}

table.bandejaMando thead tr > th, table.bandejaMando tfoot tr > th, table.bandejaMando tbody tr > td.center{
    text-align: center;    
}

table.bandejaMando tfoot tr.total > th{
    text-align: left;
    padding: 10px 8px;
    background-color: rgba(0, 0, 0, 0.1);
    border-top: 1px solid #dee2e6;
}

table.bandejaMando tfoot tr.total > th:not(:first-child) {
    text-align: center;
}

/*CUSTOM TABLE*/
table.customTable thead tr > th:not(:first-child) {
    border-left: 1px solid #dee2e6;
    border-collapse: collapse;
}


table.customTable thead tr.secondary > th{
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;

}
table.customTable tbody tr > td{
    text-align: left;
}

table.customTable thead tr > th, table.customTable tfoot tr > th, 
table.customTable tbody tr > td.center,  tfoot.totales tfoot tr > th{
    text-align: center;
}

table.customTable tbody tr > td:not(:first-child) {
    /*text-align: right;*/
    border-left: 1px solid #dee2e6;
    border-collapse: collapse;
}

table.customTable.tfoot tfoot, tfoot.totales {
    display: table-footer-group !important;
}

table.customTable tfoot tr.total > th, tfoot.totales tr.total > th{
    text-align: left;
    padding-left: 10px;
    background-color: rgba(0, 0, 0, 0.1);
    border-top: 1px solid #dee2e6;
    padding: 8px 10px;
}

table.customTable tfoot tr.total > th, tfoot.totales tr.total > th {
    text-align: left;
}

table.customTable tfoot tr.total > th:not(:first-child), tfoot.totales tr.total > th:not(:first-child) {
    text-align: right;
    border-left: 1px solid #dee2e6;
    border-collapse: collapse;
}


.right {
    text-align: right;
}


h1.titulo{
    color: #577e9a;
    font-weight: bold;
    border-bottom: 1px solid #577e9a77;
    border-bottom-width: 2px;
    margin-bottom: 15px;
    font-size: 1.8rem;
}

h2.subtitulo {
	color: #666666;
    font-weight: bold;
    border-bottom: 1px solid #c5c5c5;
    border-bottom-width: 2px;
    margin: 15px 0;
    font-size: 1.8rem;
}

/*a, .ui-widget-content a {*/
.dataTable a, a span.datosResumen{
    color: #1472a4;
}

.dataTable .select-material a {
	color: #333333;
}

table.dataTable.no-footer {
    border-bottom: 1px solid #ccc;
}


table.bandejaMando tbody tr a{
    text-decoration: none;
}

.clsMuyMinimo	{width:20px;}
.clsMinimo		{width:40px;}
.clsMasPequeno	{width:50px;}
.clsPequeno		{width:80px;}
.clsMenosPeque	{width:100px !important;}
.clsMenosMediano	{width:110px !important;}
.clsMediano		{width:150px;}
.clsMasMediano		{width:178px;}
.clsMenosGrande	{width:200px;}
.clsGrande		{width:220px;}
.clsMasGrande	{width:300px;}
.clsMuyGrande	{width:420px;}
.clsEnorme		{width:520px;}
.clsGigante		{width:750px;}


.ui-slider-handle:focus{
    background-color: #1472a4;
}

.ui-slider-handle:focus-visible{
    outline-color: #c5c5c5;
}


.resumen-pie-tabla{
    margin-top:5px;
    /*background-color: #72b5d833;*/
    background-color: #577e9a33;

}

/* Input deshabilitado */
input.disabled { 
	/*background-color: #D3D3D3;*/
	background-color: #E9ECEF; 
	opacity: 1 !important;
}

input:disabled, select:disabled, textarea:disabled {
    /*background-color: #D3D3D3  !important;*/
    background-color: #E9ECEF !important;
    opacity: 1 !important;
    color: black !important;
}

input[readonly], input[readonly="readonly"] {
    /*background-color: #D3D3D3  !important;*/
    background-color: #E9ECEF !important;
    opacity: 1 !important;
    color: black !important;
}
textarea[readonly], textarea[readonly="readonly"] {
	/*background-color: #D3D3D3  !important;*/
	background-color: #E9ECEF !important;
    opacity: 1 !important;
    color: black !important;
}

input:read-only{ 
	/*background-color: #D3D3D3;*/
	background-color: #E9ECEF;
}

div.customButtonSet{
    border-top: 1px solid #e9e9e9;
    padding: 0.75rem;
    margin: 1.5rem 0.75rem;
    /*border-radius: 5px;*/
}

div[id$="_filter_buttonSet"] {
    border-top: 1px solid #e9e9e9;
    padding: 0.75rem;
    margin: 1.5rem 0.75rem 0 0.75rem;
}


/*Ocultar el seeker de las tablas*/
.dataTables_wrapper form[id$="_search_searchForm"] {
    margin-bottom: 0;
}

.dataTables_wrapper form[id$="_search_searchForm"] tfoot{
    display: none !important;
}

/*�RBOL*/
.jstree-leaf a{
    white-space: normal !important;
}

.ui-multiselect.ui-state-active, .ui-selectmenu-dropdown.ui-state-active{
    background: #1472a478;
    border-color: #1472a4;
}

.rules_list {
	padding-left: 0 !important;
}

/* Versi�n de TS */
.root_node{
    /*border-bottom: 1px solid #577e9a77;*/
    background-color: #577e9a77 !important;
    font-weight: bold;
    text-transform: uppercase;
}

/* Versi�n de Teleasistencia */
.root_node{
    /*border-bottom: 1px solid #577e9a77;*/
    background-color: #294c643b !important;
    font-weight: bold;
    text-transform: uppercase;
}

.root_node:hover {
    font-weight: bold !important;
}

.empty_node{
    display: none;
}

.dataTable span.mdi.mdi-download {
    font-size: 1.5em;
    color: #54a467;
}

.dataTable span.mdi.mdi-file-word {
    font-size: 1.5em;
    color: #337ab7;
}

.ui-datepicker-trigger {
	box-shadow: inset rgb(0 0 0 / 8%) -1px -20px 0px 13px !important;
    border-color: rgb(204, 204, 204)  !important; 
    position: absolute !important;
    right: 12px;
    top: 12px;
    transform: translateY(-50%);
    cursor: pointer;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    height: 45px; 
    width: 45px;
    padding: 0;
    z-index: 10;
     
}

.rup-date-input-group-material .ui-datepicker-trigger{
    box-shadow: none;
    /*border-color: rgb(117, 117, 117) !important;*/    
    color: #1472a4;
    
}

.rup-date-input-group-material .ui-datepicker-trigger img{
    filter: invert(34%) sepia(37%) saturate(1601%) hue-rotate(164deg) brightness(98%) contrast(89%);
}

.rup-date-input-group-material.rup-validate-field-error .ui-datepicker-trigger img{
    filter: invert(34%) sepia(37%) saturate(1601%) hue-rotate(320deg) brightness(98%) contrast(89%);
}


.rup-date-input-group-material .ui-datepicker-trigger:hover{
    box-shadow: none;
    /*border-color: rgb(117, 117, 117) !important;*/    
    background-color: #1472a444;
}

.rup-validate-field-error .ui-datepicker-trigger {
	border-color: #d9534f !important;
}

.dt-button-collection{
    display: block;
    width: auto !important;
}

.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]), 
a.select-material.ui-selectmenu, 
.form-groupMaterial textarea,
.form-groupMaterial .rup-combobox input:not([type="checkbox"]):not([type="radio"]) + a {
    border-color: #CCCCCC;
}

.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]).error, a.select-material.ui-selectmenu.error, .form-groupMaterial textarea.error{
    border-color: #d9534f !important;
}

.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]).green, a.select-material.ui-selectmenu.green, .form-groupMaterial textarea.green{
    border-color: #74a369 !important;
    background-color: #c7e6c7;
}

.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]):hover:disabled,
.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]):focus:disabled,
.form-groupMaterial textarea:hover:disabled,
.form-groupMaterial textarea:focus:disabled,
.form-groupMaterial .rup-combobox input:not([type="checkbox"]):not([type="radio"]):hover:disabled + a,
.form-groupMaterial .rup-combobox input:not([type="checkbox"]):not([type="radio"]):focus:disabled + a {
    outline: none;
    border-color: #1472a4;
    caret-color: #1472a4;
    border-width: 1px;
    box-shadow: none;
}

.form-groupMaterial .rup-date-input-group-material input:not([type="checkbox"]):not([type="radio"]):hover:enabled + button{
    outline: none;
    border-color: #1472a4;
    caret-color: #1472a4;
    border-width: 1px;
    box-shadow: none;
}

.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]):hover:enabled.error, .form-groupMaterial textarea:hover:enabled.error{
	border-color: #d9534f;
}

.rup-validate-field-error .rup-date-input-group-material label {
    color: #d9534f !important;
}

.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]) ~ label, 
.form-groupMaterial textarea ~ label,
.form-groupMaterial label.select-material,
.rup-date-input-group-material ~ label{
    top: -10px;
    font-size: .9rem;
    color: #1472a4;
    margin-top: -3px !important;
    background-color: #FFFFFF;
    background-image: none;
    /*Provisional*/
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
    /*/Provisional*/
    background: none !important;
    
    font-size: 1rem !important;
    top: -18px !important;
    width: 100%;
}

/*.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]):hover:enabled ~ label, 
.form-groupMaterial textarea:hover:enabled ~ label{
    white-space: clip;
    overflow-x: visible;
}*/

.multiselect-material {
    border-color: #CCCCCC !important;
}


.paginationContainer .searchPaginator input, 
select.custom-select.form-control{
    border-color: #CCCCCC !important;
}

.paginationContainer .searchPaginator input:hover:enabled,
select.custom-select.form-control:hover:enabled {
    border-color: #1472a4 !important;
    border-width: 1px;
}

.paginationContainer .searchPaginator input:focus:enabled,
select.custom-select.form-control:focus:enabled {
    border-color: #1472a4 !important;
    border-width: 2px;
}

a.select-material.ui-selectmenu:hover {
    border-color: #1472a4;
    border-width: 1px;
    box-shadow: none;
    outline: none;
    /*padding-left: 17px;*/
    background-position: calc(100% - 13.5px) calc(0.71em), calc(100% - 8.5px) calc(0.71em);
}

.hasDatepicker:hover:enabled + .ui-datepicker-trigger, .hasDatepicker:focus:enabled + .ui-datepicker-trigger{
    border-color:#1472a4 !important;
}

.hasDatepicker.error:hover:enabled + .ui-datepicker-trigger, .hasDatepicker.error:focus:enabled + .ui-datepicker-trigger{
    border-color:#d43f3a !important;
}

.form-groupMaterial select:required ~ label::after,
.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]):required ~ label:after,
.form-groupMaterial textarea:required ~ label::after {
    /*content: " *";*/
    content: ' *'; 
    color: red; 
    font-weight: bold;
}

.rup-date-input-group-material label {
    top: -10px;
    font-size: .9rem;
    color: #1472a4;
    padding: 0 5px;
    background-color: #FFFFFF;
    background-image: none;
}

.form-groupMaterial input:disabled, .form-groupMaterial select:disabled, .form-groupMaterial textarea:disabled,
.ui-selectmenu-disabled {
    /*background-color: rgba(127, 127, 127, 0.07) !important;*/
    background-color: #E9ECEF !important;
    opacity: 1 !important;
}

.form-groupMaterial input[readonly], .form-groupMaterial input[readonly="readonly"],
.form-groupMaterial textarea[readonly], .form-groupMaterial textarea[readonly="readonly"] {
    /*background-color: rgba(127, 127, 127, 0.07) !important;*/
    background-color: rgb(255, 255, 255) !important;
}

.form-groupMaterial button.ui-multiselect{
    width: 100% !important;
    border: #CCCCCC;
}

.form-groupMaterial button.ui-multiselect:hover:enabled {
    border-color: #1472a4 !important;
    border-width: 1px;
}

.form-groupMaterial button.ui-multiselect:focus:enabled {
    border-color: #1472a4 !important;
    border-width: 2px;
}

.form-groupMaterial .checkbox-material label, .form-groupMaterial .radio-material label{
    pointer-events: all;
    margin-top: 5px;
    color: #000000;
  
}

.inputGroup .form-groupMaterial{
    margin:0;
}

table.table-material > tbody tr:hover > td, table.table-material > thead th:hover{     
    background: #c5cfd6 !important;
}

table.dataTable tbody tr.selected.odd, table.dataTable tbody tr.selected.even {
    background-color: #fffa90;
}

table.table-material > tbody tr.selected:hover > td{     
    background: #faf36d !important;
}

table.dataTable tbody > tr.selected {
    background: #fffa90 !important;
    font-weight: normal;
}


.ui-selectmenu-item-selected{
	background-color: #b9d4ec;
}


.btn-material.btn-material-primary-high-emphasis:hover, button.toggle_bullets:hover {
  /*background: rgba(52, 172, 224, 1);*/
  box-shadow: 0 0 0 0 rgba(20, 114, 164, 1);
  animation: pulse-primary-high 2s infinite;
}

@keyframes pulse-primary-high {
  0% {
    /*transform: scale(0.98);*/
    box-shadow: 0 0 0 0 rgba(20, 114, 164, 0.7);
  }
  
  70% {
    /*transform: scale(1);*/
    box-shadow: 0 0 0 10px rgba(20, 114, 164, 0);
  }
  
  100% {
    /*transform: scale(0.98);*/
    box-shadow: 0 0 0 0 rgba(20, 114, 164, 0);
  }
}

.btn-material.btn-material-primary-medium-emphasis:hover, .btn-material.btn-material-primary-low-emphasis:hover {
  /*background: rgba(52, 172, 224, 1);*/
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
  animation: pulse-primary-medium-low 2s infinite;
}

@keyframes pulse-primary-medium-low {
  0% {
    /*transform: scale(0.98);*/
    box-shadow: 0 0 0 0 rgba(114, 170, 200, 0.7);
  }
  
  70% {
    /*transform: scale(1);*/
    box-shadow: 0 0 0 10px rgba(114, 170, 200, 0);
  }
  
  100% {
    /*transform: scale(0.98);*/
    box-shadow: 0 0 0 0 rgba(114, 170, 200, 0);
  }
}

.btn-material.btn-material-danger-high-emphasis:hover {
    /*background: rgba(52, 172, 224, 1);*/
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
    animation: pulse-danger-high 2s infinite;
    background-color: #ea858f;
    border-color: #ea858f;
 }
 
  @keyframes pulse-danger-high {
    0% {
      /*transform: scale(0.98);*/
      box-shadow: 0 0 0 0 rgba(164, 20, 20, 0.7);
    }
    
    70% {
      /*transform: scale(1);*/
      box-shadow: 0 0 0 10px rgba(20, 114, 164, 0);
    }
    
    100% {
      /*transform: scale(0.98);*/
      box-shadow: 0 0 0 0 rgba(20, 114, 164, 0);
    }
  }

.btn-material.btn-material-danger-medium-emphasis:hover, .btn-material.btn-material-danger-low-emphasis:hover {
  /*background: rgba(52, 172, 224, 1);*/
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
  animation: pulse-danger-medium-low 2s infinite;
}

@keyframes pulse-danger-medium-low {
  0% {
    /*transform: scale(0.98);*/
    box-shadow: 0 0 0 0 rgba(164, 20, 20, 0.7);
  }
  
  70% {
    /*transform: scale(1);*/
    box-shadow: 0 0 0 10px rgba(114, 170, 200, 0);
  }
  
  100% {
    /*transform: scale(0.98);*/
    box-shadow: 0 0 0 0 rgba(114, 170, 200, 0);
  }
}

.btn-material-primary-success-low-emphasis:hover, .btn-material-primary-success-medium-emphasis:hover {
  /*background: rgba(52, 172, 224, 1);*/
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
  animation: pulse-success-medium-low 2s infinite;
}

@keyframes pulse-success-medium-low {
  0% {
    /*transform: scale(0.98);*/
    box-shadow: 0 0 0 0 rgba(147, 207, 150, 0.7);
  }
  
  70% {
    /*transform: scale(1);*/
    box-shadow: 0 0 0 10px rgba(147, 207, 150, 0);
  }
  
  100% {
    /*transform: scale(0.98);*/
    box-shadow: 0 0 0 0 rgba(147, 207, 150, 0);
  }
}

.btn-material-primary-low-secondary-emphasis:hover, .btn-material-primary-medium-secondary-emphasis:hover {
  /*background: rgba(52, 172, 224, 1);*/
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
  animation: pulse-secondary-medium-low 2s infinite;
}

@keyframes pulse-secondary-medium-low {
  0% {
    /*transform: scale(0.98);*/
    box-shadow: 0 0 0 0 rgba(153, 153, 153, 0.7);
  }
  
  70% {
    /*transform: scale(1);*/
    box-shadow: 0 0 0 10px rgba(153, 153, 153, 0);
  }
  
  100% {
    /*transform: scale(0.98);*/
    box-shadow: 0 0 0 0 rgba(153, 153, 153, 0);
  }
}

  

/*Animar los filtros*/
div.formulario_legend + fieldset.rup-table-filter-fieldset {
    max-height: 0;
    opacity: 0;
    transition: all 0.15s ease-out;
}

div.formulario_legend.formulario_opened + fieldset.rup-table-filter-fieldset {
    max-height: 5000px;
    opacity: 1;
    transition: all 0.25s ease-in;
}

.form-groupMaterial.rup-validate-field-error .error {
    display: block;
    padding-top: 2px;
    padding-left: 0px !important;
    font-size: 1rem;
}

.form-groupMaterial.rup-validate-field-error > label{
	color: #d9534f !important;
}

/*Procesando...*/
.processing-container {
  width: auto;
  margin: auto;
}
.processing-container>span:after {
    content: ' .';
    animation: dots 1s steps(5, end) infinite;
}

@keyframes dots {
    0%, 20% {
        color: rgba(0, 0, 0, 0);
        text-shadow:
            .25em 0 0 rgba(0, 0, 0, 0),
            .5em 0 0 rgba(0, 0, 0, 0);
    }

    40% {
        color: #1472a4;
        text-shadow:
            .25em 0 0 rgba(0, 0, 0, 0),
            .5em 0 0 rgba(0, 0, 0, 0);
    }

    60% {
        text-shadow:
            .25em 0 0 #1472a4,
            .5em 0 0 rgba(0, 0, 0, 0);
    }

    80%, 100% {
        text-shadow:
            .25em 0 0 #1472a4,
            .5em 0 0 #1472a4;
    }
}

/* Breadcrumb hide defaultlogout*/
.rup-breadCrumb_logoutDiv{
	display: none;
}

.welcome{
	font-size: 2.5em;
    color: #336289;
    font-weight: bold;
    vertical-align: middle;
    line-height: 1.3;
    padding-top: 5px;
    height: 100px;
}

.welcome .titulo{
	text-transform: uppercase;
	display: block;
}

.welcome .subTitulo {
	font-size: 0.5em;
}

.rup-combo_loading {
    background-image: none !important;
}

.rup-combo_loading:before {
	display: inline-block;
    font: normal normal normal 24px/1 "Material Design Icons";
    font-size: inherit;
    text-rendering: auto;
    line-height: inherit;
    -webkit-font-smoothing: antialiased;
    content: "\F0772";
    animation: mdi-spin 2s infinite linear;
}    


.custom_full_dialog_container {
    top: 5vh !important;
    left: 5vw !important;
}

.custom_full_dialog {
    width: 90vw !important;
    max-width: 100vw;
    /* height: 90vh; */
    min-height: 80vh !important;
}

.custom_mid_dialog_container {
    top: 25vh !important;
    left: 25vw !important;
}

.custom_mid_dialog {
    width: 50vw !important;
    max-width: 50vw;
    /* height: 90vh; */
    min-height: 30vh !important;
}

.custom_small_dialog_container {
    top: 35vh !important;
    left: 35vw !important;
}

.custom_small_dialog {
    width: 30vw !important;
    max-width: 30vw;
    /* height: 90vh; */
    min-height: 15vh !important;
}

.custom_dialog_urgente .ui-dialog-titlebar{
	background-color: #ffd490 !important;
	color: #575757 !important;
}

.overflow-y-auto {
	overflow-y: auto !important;
}

/*AD74A*/

table.table-material > tbody tr.tr-highlight{
    background-color: #fffdc9 !important;
}

table.table-material > tbody tr.tr-highlight:hover{
    background-color: #fffb9c !important;
}

table.table-material > tbody tr.tr-highlight:hover > td{
    background-color: #fffb9c !important;
}

table.dataTable tbody tr.selected.tr-highlight{
    background-color: #f7f38f !important;
}

table.table-material > tbody tr.selected.tr-highlight:hover{
    background-color: #f7f38f !important;
}

table.table-material > tbody tr.selected.tr-highlight:hover > td{
    background-color: #f7f38f !important;
}

table.table-material > tbody tr.selected.tr-highlight {
    border: 1px solid #f7f38f;
    /* background: #fffa90; */
    color: #481414;
}

table.table-material > tbody tr.selected.tr-highlight > td {
    border-top: 1px solid #a7a637;
    border-bottom: 1px solid #a7a637;
}


/*Orange Row*/
table.table-material > tbody tr.orange_row{
    background-color: #fff3e1 !important;
}

table.table-material > tbody tr.orange_row:hover{
    background-color: #fde4bd !important;
}

table.table-material > tbody tr.orange_row:hover > td{
    background-color: #fde4bd !important;
}

table.dataTable tbody tr.selected.orange_row{
    background-color: #ffd490 !important;
}

table.table-material > tbody tr.selected.orange_row:hover{
    background-color: #ffd490 !important;
}

table.table-material > tbody tr.selected.orange_row:hover > td{
    background-color: #ffd490 !important;
}

table.table-material > tbody tr.selected.orange_row.tr-highlight {
    border: 1px solid #ffd390;
    /* background: #fffa90; */
    color: #483714;
}

table.table-material > tbody tr.selected.orange_row.tr-highlight > td {
    border-top: 1px solid #f6ac22;
    border-bottom: 1px solid #f6ac22;
}


/*Red Row*/
table.table-material > tbody tr.red_row{
    background-color: #ffcbcb !important;
}

table.table-material > tbody tr.red_row:hover{
    background-color: #f7b9b9 !important;
}

table.table-material > tbody tr.red_row:hover > td{
    background-color: #f7b9b9 !important;
}

table.dataTable tbody tr.selected.red_row{
    background-color: #F4A3A3 !important;
}

table.table-material > tbody tr.selected.red_row:hover{
    background-color: #F4A3A3 !important;
}

table.table-material > tbody tr.selected.red_row:hover > td{
    background-color: #F4A3A3 !important;
}

table.table-material > tbody tr.selected.red_row.tr-highlight {
    border: 1px solid #efa8a8;
    /* background: #fffa90; */
    color: #481414;
}

table.table-material > tbody tr.selected.red_row.tr-highlight > td {
    border-top: 1px solid #e94f4f;
    border-bottom: 1px solid #e94f4f;
}

table.table-material > tbody tr.green_row{
    background-color: #DAF0DE !important;
}

table.table-material > tbody tr.green_row:hover{
    background-color: #ABE0B2 !important;
}

table.table-material > tbody tr.green_row:hover td{
    background-color: #ABE0B2 !important;
}

table.dataTable > tbody tr.selected.green_row{
    background-color: #9EDCA6 !important;
}

table.table-material > tbody tr.selected.green_row:hover{
    background-color: #9EDCA6 !important;
}

table.table-material > tbody tr.selected.green_row:hover > td{
    background-color: #9EDCA6 !important;
}

table.table-material > tbody tr.selected.green_row.tr-highlight {
    border: 1px solid #338946;
    color: #338946;
}

table.table-material > tbody tr.selected.green_row.tr-highlight > td {
    border-top: 1px solid #338946;
    border-bottom: 1px solid #338946;
}

/*aqua_row*/
table.table-material > tbody tr.aqua_row{
    background-color: #007f9755 !important;
}

table.table-material > tbody tr.aqua_row:hover{
    background-color: #007f9766 !important;
}

table.table-material > tbody tr.aqua_row:hover td{
    background-color: #007f9760 !important;
    color: #015565 !important;
}

table.dataTable > tbody tr.selected.aqua_row{
    background-color: #007f9777 !important;
}

table.table-material > tbody tr.selected.aqua_row:hover{
    background-color: #007f9766 !important;
}

table.table-material > tbody tr.selected.aqua_row:hover > td{
    background-color: #007f9766 !important;
}

table.table-material > tbody tr.selected.aqua_row.tr-highlight {
    border: 1px solid #007f97DD;
    color: #015565;
}

table.table-material > tbody tr.selected.aqua_row.tr-highlight > td {
    border-top: 1px solid #007f97DD;
    border-bottom: 1px solid #007f97DD;
}

/*violet_row*/
table.table-material > tbody tr.violet_row{
    background-color: #7c587f55 !important;
}

table.table-material > tbody tr.violet_row:hover{
    background-color: #7c587f66 !important;
}

table.table-material > tbody tr.violet_row:hover td{
    background-color: #7c587f66 !important;
    color: #3b2a3d !important;
}

table.dataTable > tbody tr.selected.violet_row{
    background-color: #7c587f88 !important;
}

table.table-material > tbody tr.selected.violet_row:hover{
    background-color: #7c587f66 !important;
}

table.table-material > tbody tr.selected.violet_row:hover > td{
    background-color: #7c587f66 !important;
}

table.table-material > tbody tr.selected.violet_row.tr-highlight {
    border: 1px solid #7c587fDD;
    color: #3b2a3d;
}

table.table-material > tbody tr.selected.violet_row.tr-highlight > td {
    border-top: 1px solid #7c587fDD;
    border-bottom: 1px solid #7c587fDD;
}

/*purple_row*/
table.table-material > tbody tr.purple_row{
    background-color: #4c3f7755 !important;
}

table.table-material > tbody tr.purple_row:hover{
    background-color: #4c3f7766 !important;
}

table.table-material > tbody tr.purple_row:hover td{
    background-color: #4c3f7766 !important;
    color: #28213f !important
}

table.dataTable > tbody tr.selected.purple_row{
    background-color: #4c3f7788 !important;
}

table.table-material > tbody tr.selected.purple_row:hover{
    background-color: #4c3f7766 !important;
}

table.table-material > tbody tr.selected.purple_row:hover > td{
    background-color: #4c3f7766 !important;
}

table.table-material > tbody tr.selected.purple_row.tr-highlight {
    border: 1px solid #4c3f77DD;
    color: #28213f;
}

table.table-material > tbody tr.selected.purple_row.tr-highlight > td {
    border-top: 1px solid #4c3f77DD;
    border-bottom: 1px solid #4c3f77DD;
}

.strike {
    text-decoration: line-through;
}

.rojo {
    color: rgb(198, 58, 58);
}
.azul {
    color: #1472a4a6;
}
.naranja {
    /*color: #f6ac22;*/
    color: #93630a;
}
.verde{
    color: #338946;
}

div.dashboard-item{
    /* border: 1px solid #1472a4; */
    border: 1px solid #577e9a77;
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 15px;
}

div.dashboard-item .dashboard-item-header{
    display: block;
    color: #577e9a;
    font-weight: bold;
    font-size: 1.5em;
    margin: 0 0.5em;
    border-bottom: 2px solid #577e9a77;
}


.radio-material label::before {
    border: 2px solid rgba(0, 0, 0, 0.54);
    height: 15px;
    left: 0;
    top: 0;
    width: 15px;
}

.radio-material label::after {
    background: #1472a4;
    height: 5px;
    left: 5px;
    top: 5px;
    transform: scale(0);
    width: 5px;
}

.radio-material > label.error {
	color: #d9534f !important;
}
.radio-material > label.error::before {
    border: 2px solid #d9534f;
}

.radio-material label.error::after {
    background: #d9534f;
}

@media (max-width: 767px) {
    .content {
        margin: 0em; 
    } 

    fieldset.inputGroup.inline{
        height: auto;
    }

}

@media (min-width: 768px) {
    header {
      height: 6em; 
    } 
}

@media (max-width: 767px) {
    footer {
      padding-left: 0em;
      padding-right: 0em; 
    } 
}

/*CARDS*/
.info-card {
    border: 1px solid #577e9a77;
    border-radius: 3px;
    height: 200px;
    padding: 1rem;
    margin-bottom: 10px;
}


.card-plegable {
    border: 1px solid #577e9a77;
    border-radius: 3px;
    height: 200px;
    padding-top: 0px;
    margin-bottom: 80px;
    margin-top: 0px;
    background: #fff;
}

.info-card .title {
    color: #1472a4;
    top: -11px;
    position: absolute;
    left: 26px;
    background: #FFFFFF;
    font-weight: bold;
}

.rup-tabs_container.ui-tabs ul.ui-tabs-nav li.ui-tabs-tab.ui-tabs-active{
    padding-bottom: 0px;
}

.dashboard-head-data {
    border: 1px solid #577e9a77;
    border-radius: 3px;
    /* height: 300px; */
    padding: 1rem;
    margin-bottom: 10px;
}

.dashboard-head-data .title{
    color: #577e9a;
    font-size: 1vw;
    font-size:calc(1em + 0.4vw);
    text-align: center;
}


.dashboard-card {
    border: 1px solid #577e9a77;
    border-radius: 3px;
    height: 300px;
    padding: 1rem;
    margin-bottom: 10px;
}



.dashboard-card .title{
    color: #577e9a;
    position: relative;
    top: 0;
    /* left: 0; */
    /* background-color: rgba(189, 84, 84, 0.5); */
    /* font-weight: bold; */
    /* font-size: 1.5rem; */
    font-size: 1vw;
    font-size:calc(1em + 0.4vw);
    width: 100%;
    height: 20%;
}

/* .dashboard-card .title span{
    color: #1472a4;
    font-size: 1.3vw;
    font-size:calc(1em + 0.4vw);
} */

.dashboard-card .title span i.number, .dashboard-head-data .title span i.number{
    /* color: #1472a4; */
    font-weight: bold;
    font-size: 1.3vw;
    font-size:calc(1em + 0.6vw);
}


.dashboard-card .chart{
    color: #577e9a;
    position: relative;
    top: 0;
    /* left: 0; */
    /* background-color: rgba(121, 218, 140, 0.5); */
    font-weight: bold;
    transition: all 0.25s ease-in;
    margin-bottom: 10px;
    height: 80%;;
}

button.toggle_bullets {
    background-color: transparent;
    padding: 0;
    min-width: 30px;
    border: transparent;
    color: #577e9a;
    margin-right: 1rem;
}

button.toggle_bullets:hover {
    background-color: transparent;
    border: transparent;
    color: #577e9a;
}

.form-groupMaterial[class*="col-"] input[type="checkbox"] ~ label {
    left: 0;
}

.form-groupMaterial[class*="col-"] input ~ label {
    left: 39px;
}

.form-groupMaterial[class*="col-"] fieldset.inputGroup input[type="checkbox"] ~ label {
    left: 19px;
}

.ui-tooltip, .qtip {
    font-size: 0.9em;
}

.qtip-orange {
    background-color: #f7ce83;
    color: #917023;
}

.qtip-orange, .qtip-orange .qtip-icon, .qtip-orange .qtip-titlebar .ui-state-hover {
    border-color: #d9ae52;
}

.qtip-pink {
    background-color: #F9BDE7;
    color: #B30480;
}

.qtip-pink, .qtip-pink .qtip-icon, .qtip-pink .qtip-titlebar .ui-state-hover {
    border-color: #B30480;
}

.qtip-large {
	max-width: 50vh;
}

.rup-feedback_image_info {
    background-color: #1472a444;
}

.rup-feedback {
	max-height: 20vh;
    overflow-y: auto;
}


.list-group-item {
    margin-top: 15px;
}

.ultima-modificacion {
    position: absolute;
    right: -13px;
    top: -11px;
    display: inline;
    border: 1px solid #CCC;
    padding: 3px 5px;
    background-color: #EEE;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 5px;		
    font-size: 0.9em;						
}


.icons-column {
	padding: 0.2vw !important;
	text-align: center;
	max-width: 15px;
	/*font-size: 0.8vw;*/
	/*font-size: calc(12px + 0.2vw); */
	font-size: clamp(13px, calc(12px + 0.3vw), 16px);
	
}

div.focussedOverlay {
	width: 100%;
    background-color: #a3a0a099;
    height: 100%;
    z-index: 10 !important;
    position: absolute;
    left: 0;
    top: 0;
    transition: all 0.25s ease-in;
}


div.focussed{
	padding: 0;
	z-index: 11 !important;
    position: relative;
    background-color: #FFFFFF;
    transition: all 0.25s ease-in;	
}

div.focussed.on{
	padding: 5px;	
	border: 1px solid #979797;
    border-radius: 3px;
}

.icon-button {
	min-width: 30px;
}	

.mdi-stack, .mdi-combined{
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1em;
    vertical-align: middle;
}

.progressButton{	
	--progressPercent: 0;
	--background: #FFFFFF;
	--height: 2px;
}

.progressButton:after{
	content: "";
  	background: var(--background);
  	position: absolute;
  	bottom: 0;
  	left: 0;
  	height: var(--height);
  	width: var(--progressPercent);
  	border-radius: 4px;
  	transition: all 0.25s ease-in;	
}

.fileinput-button.disabled {
	background-color: transparent;
	color: rgba(0, 0, 0, 0.37);
    border-color: transparent;
    box-shadow: none;
    pointer-events: none;
}

.rup-navbar .navbar-nav.rup-nav-tools .rup-nav-tool-icon span{
	display: inline-block;
    line-height: 3rem;
    margin-bottom: 5px;
    font-size: 1.1rem;
}

/*rup_upload*/
.rup-upload {
    border-left-color: #1472a4 !important;
    margin:0;
}

.list-group-item {
	margin-top: 10px;
}

/*[jbhg] estilos pantalla notificaciones postales*/
.ui-iconSobreTablaS:before{
	  font: normal normal normal 24px/1 "Material Design Icons";
      content: "\f1ee";
      font-size: 1em;
      padding-left:0.5em;
      padding-right:0.5em;
      padding-top:1.30em;
      color: #FFDA33!important;
      font-weight: normal;
      display: inline-block;
	  text-rendering: auto;
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
	}
.ui-iconSobreTablaL:before{
	  font: normal normal normal 24px/1 "Material Design Icons";
      content: "\f1ee";
      font-size: 1.5em;
      padding-right:0.5em;
      color: #FFDA33!important;
      font-weight: normal;
      display: inline-block;
	  text-rendering: auto;
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
  	}
.ui-iconSobreTablaXL:before{
	  font: normal normal normal 24px/1 "Material Design Icons";
      content: "\f1ee";
      font-size: 2em;
      color: #FFDA33!important;
      font-weight: normal;
      display: inline-block;
	  text-rendering: auto;
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
  	}
.ui-iconEtiquetaTabla:before{
	  font: normal normal normal 24px/1 "Material Design Icons";
      content: "\f39b";
      font-size: 1.5em;
      padding-right:0.5em;
      color: #FFDA33!important;
      font-weight: normal;
      display: inline-block;
	  text-rendering: auto;
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
  	}
.ui-iconEtiqueta{
   background-image:
   url("theme/images/etiquetaXS.png")!important;
   width: 32px;
   height: 16px;
   float: left;
   margin-left: 0px;
   background-repeat:no-repeat;
}
.etiquetaposicion-tooltip .etiquetaposicion-link:hover{
	border-color: #443322;
}
.etiquetaposicion-tooltip .etiquetaposicion-link{
	box-sizing: border-box;
	border:1px solid transparent;
	transition: border-color .1s ease-in-out;
	display:block;
}

/*.aviso_interoperabilidad {
	width: 100%;
    display: block;
    height: auto;
    background-color: #ffe0e0;
    margin: 0.8rem 0 2rem 0;
    border: 1px solid #f92929;
    color: #f92929;
    padding: 0.5em 1em;
    border-radius: 3px;
}*/

.aviso_interoperabilidad {
	margin-left: 15px;	
}

.aviso_interoperabilidad b:not(:empty){
/* 	color: #1f7e9a !important; */
	color: #495057 !important;
	border: 1px solid #1f7e9a;
	background-color: #c5e9f3;
	padding: 0.6em 1em;
	display: inline-block;
	margin: 0 0 0.5rem 0;
	border-radius: 3px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
	font-weight: normal;
}

.aviso_interoperabilidad b:not(:empty):before{
	font: normal normal normal 24px/1 "Material Design Icons";
	content: "\F2FC";
	font-size: 1.2em;
	padding-right:0.5em;
	padding-top: 0.2em;
/* 	color: #1f7e9a !important; */
	color: #495057 !important;
	font-weight: normal;
	display: inline-block;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.aviso_interoperabilidad.nook b:not(:empty){
	/*color: #f92929 !important;*/
/* 	border: 1px solid #f92929; */
	border: 1px solid #c5c5c5;
	background-color: #f0b9b8;
}

.aviso_interoperabilidad.nook b:not(:empty):before{
	font: normal normal normal 24px/1 "Material Design Icons";
	content: "\F5D6";
	font-size: 1.2em;
	/*color: #f92929 !important;	*/
}

.aviso_interoperabilidad.ok b:not(:empty){
	/*color: #4caf50 !important;*/
/* 	border: 1px solid #4caf50; */
	border: 1px solid #c5c5c5;
	background-color: #c7e6c7;
}

.aviso_interoperabilidad.ok b:not(:empty):before{
	font: normal normal normal 24px/1 "Material Design Icons";
	content: "\F5E0";
	font-size: 1.2em;
	/*color: #4caf50 !important;*/	
}

.aviso_interoperabilidad.warning b:not(:empty){
	/*color: #b06d0f !important;*/
/* 	border: 1px solid #b06d0f; */
border: 1px solid #c5c5c5;
	background-color: #fae3c4;
}

.aviso_interoperabilidad.warning b:not(:empty):before{
	font: normal normal normal 24px/1 "Material Design Icons";
	content: "\F026";
	font-size: 1.2em;
	/*color: #b06d0f !important;*/	
}

/*[jbhg] para que al desplegar un combo, no cambie la altura/scroll de los dialogos*/
.ui-dialog .ui-dialog-content{overflow:visible;}

#disableLayer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(5, 5, 5, 0.2);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 999999;
    cursor: wait;
}
/*errores autocomplete*/
.form-row .form-groupMaterial[class*="col-"] [ruptype="autocomplete"] ~ i.mdi.error {
    right: 16px;
    position: relative;
    top: 0.2rem;
}
.form-groupMaterial .rup-validate-field-error a.ui-button-icon-only.rup-button.rup-combobox-toggle.ui-corner-right{
	max-height: 2rem;
    border-right-color: #d9534f !important;
    border-top-color: #d9534f !important;
    border-bottom-color: #d9534f !important;
}

/*MODULO DIRECCIONES AUTOCOMPLETE*/
[component-div] span.rup-combobox ul{
	overflow-y: scroll;
	overflow-x: hidden;
	max-height: 200px;
}

.budget {
	position: relative;
	right: 4px;
	padding: 0px 4px;
	border-radius: 100%;
/* 	background: #ff8e0d; */
/* 	color: white; */
	font-size: 0.8em;
}

.budget.azul {
	background: #1472a4;
	color: white !important;	
}

table.table-material.seleccionable > tbody tr > td::selection {
	background-color: #1472a433 !important;	
}

.text-highlight {
	background-color: #efefa888;}
	
	
	
/* Aes*/

.aes {

  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Open Sans", sans-serif;
  font-size: 12px;
  color: #666666;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  position: relative;
  min-height: 100%;
 
}


.aes *,
.aes *::before,
.aes *::after {
  box-sizing: inherit;
  -webkit-box-sizing: inherit;
}

.aes, .aes .r01gContainer {
  font-size: 1.1rem;
}


.aes .r01gContainer {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  color: #666666;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Open Sans", sans-serif;
  font-size: 1.1rem;
}


.aes.full-height {
  min-height: 100vh;
}


.aes input.form-control,
.aes select.form-control,
.aes textarea.form-control,
.aes button {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}



/*  =======================================  */

/* Estilos para .form-groupMaterial y .form-control */


.form-groupMaterial .form-control,
.form-groupMaterial select.form-control {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}


/* Ajustes para las etiquetas asociadas a inputs */


.form-groupMaterial select.form-control ~ label,
.form-groupMaterial textarea.form-control ~ label,
.form-groupMaterial .rup-combobox + label,
.form-groupMaterial .select-material + label {
  /*  top: -22px !important;*/
  font-size: 1rem !important;
  color: #1472a4 !important;
  padding-top: 0px !important;
  padding-left: 7px !important;
  background-color: rgba(255,255,255,0) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}


/* Ajustes para el contenedor de .form-groupMaterial */

.form-groupMaterial {
  position: relative;
}


/* Estilos generales para las etiquetas (label) */
/*
.form-groupMaterial label {
  color: rgb(58, 112, 176) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  position: absolute !important;
  pointer-events: none !important;
  left: 0 !important;
  top: 4px !important;
  padding-left: 9px !important;
  margin-top: -5px !important;
  transition: 0.2s ease all !important;
}

*/
/* Para checkbox y radio buttons */
/*
.form-groupMaterial .checkbox-material label,
.form-groupMaterial .radio-material label {
  position: static !important;
  display: inline-block !important;
  padding: 0 !important;
  background-color: transparent !important;
  color: inherit !important;
  white-space: normal !important;
}
*/


/* Ajustes en el wrapping de etiquetas largas */
/*
.form-groupMaterial .form-control ~ label.lbl-wrap,
.form-groupMaterial .form-control ~ label.label-wrap {
  white-space: normal !important;
  word-break: break-word;
}

*/

.checkbox-material-nuevaaes {
    cursor: pointer;
    display: inline-block;
    /* height: 18px; */
    height: auto;
    margin-bottom: 0;
    padding-left: 28px !important;
    position: relative !important; 
    vertical-align: bottom;
    width: auto;
    margin-right: 12px;
    
}

/* Espacios personalizados */
.espacio-botones {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem;
}

.formulario_legend {
  min-height: 40px !important; 
  box-sizing: border-box !important;
}

.espacio-botones-botonera {
  display: flex;
  justify-content: flex-end;
  align-items: stretch;  
  gap: 0.5rem;
  padding: 0rem;
}

.espacio-botones-botonera .btn-material {
  display: inline-flex;
  align-items: center;
  height: 100%;         
  padding: 0 1rem;
  
}

.espacio-botones2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem;
}


.espacio-botones2,
.espacio-acordeon,
.espacio-acordeon-tablas {
  padding-top: 16px;
  
  
}

.espacio-botones3 {
  padding-top: 10px;
  padding-left: 6px;
}

.margin-boton {
  margin-right: 10px !important;
 
}

.margin-boton-buscar {
  margin-right: 20px !important;
 
}

.margin-boton-añadir {
  margin-right: 30px !important;
 
}

.margin-boton-imprimir {
  margin-right: 10px !important;
 
}

.boton-guardar {
  padding-top: 16px;
}

.form-row-aes {
  padding-left: 16px;
}

.espacio-botones-nuevaAes {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding-left: 6px;
  padding-right: 6px;
}

/* Estilos de fondo y color */



/* Estilos de texto */
.text-aes {
  padding-left: 500px;
}

.textwhite {
  background-color: white !important;
  color: black !important;
  border-color: rgb(53, 144, 196);
}

.textblue {
  background-color: rgb(255, 255, 255) !important;
  color: rgb(66, 144, 201) !important;
  border-color: rgb(66, 144, 201) !important;
}

.text-right-tramite {
  padding-left: 600px;
  padding-right: 5px;
}

.text-right-vision-global {
  padding-left: 50px !important;
  padding-right: 5px !important;
  margin-right: 5px !important;
  margin-left: 50px !important;
}

/* Estilos para tarjetas */
.card-tramite {
  background: #fff;
  border-radius: 5px;
  margin: 1rem;
}

.shadow-tramite {
  box-shadow: 0 0.5rem 1rem black !important;
}

.shadow-tramite2 {
  box-shadow: 2 1rem 1rem black !important;
}

/* Estilos de botones de búsqueda */
.espacio-botones-busquedaPersonas {
  padding-top: 6px;
  padding-bottom: 6px;
  padding-right: 6px;
}

/* Estilos de diálogos */
.ui-dialog .ui-dialog-content {
  position: relative;
}



.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.ui-button,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.rup-button,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .rup-dropdown-btn-group .ui-button.rup-dropdown-button {
  background-color: rgb(53, 144, 196);
  color: rgb(255, 255, 255);
  text-shadow: none;
}

/* Estilo de texto centrado en tablas */
.texto-centrado-cabecera-tabla {
  text-align: center;
}

/* Estilo de íconos */
.color-icono-folder {
  color: rgb(34, 67, 111) !important;
}

/* Centrado de elementos */
.checkbox-center {
  align-items: center !important;
}

 .form-groupMaterial label, 
 .form-groupMaterial 
 .form-control ~ label, 
 .form-groupMaterial 
 .select-material + label { 
 float: none !important; 
 width: 100% !important; 
 display: block; 
 left: 39px;  
 top: -18px; 
  }
  
#modalBotonAnadir_tabPagos .form-groupMaterial label:not([for="pagoPeriodico_S"]):not([for="pagoPeriodico_N"]),
#modalBotonAnadir_tabPagos .form-groupMaterial .form-control ~ label:not([for="pagoPeriodico_S"]):not([for="pagoPeriodico_N"]),
#modalBotonAnadir_tabPagos .form-groupMaterial .select-material + label:not([for="pagoPeriodico_S"]):not([for="pagoPeriodico_N"]) { 
    float: none !important; 
    position: absolute !important;     
    display: block !important;
    width: 100% !important;             
    left: 18px !important;                
    top: -18px !important;
    padding-left: 29px !important;
}


.tramitacion-opcional-modal{
	margin-left: 15px;
	margin-right: 5px;
	padding-left: 15px;
	padding-right: 15px;
	top: 12px !important;
    
	
}

.elige-una-opcion{
	margin-top: 5px;
	top: -70px !important;
    
	
}

.row-modal {
    margin-top: 30px;
    font-size: 1em;
    padding-left: 0em;
    padding-bottom: .20em;
    padding-top: .15em;
}

.color-disable {
    color: rgba(0,0,0,0.1);
}

.suspension{
	height: 50px !important;
	background-color: #E9ECEF !important;
	
}

.observaciones{
	height: 80px !important;
	background-color: #E9ECEF !important;
	
}



/* --- Override para alinear radios y labels correctamente --- */
.form-groupMaterial .radio-material,
.form-groupMaterial .checkbox-material {
  display: inline-block; /* que los wrappers se comporten inline */
  vertical-align: middle;
  margin-right: 12px;
}

.form-groupMaterial .radio-material input[type="radio"] {
  /* ocultar visualmente el radio nativo manteniéndolo accesible */
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.form-groupMaterial .radio-material label {
  cursor: pointer;
  display: inline-block;
  position: relative;
  padding-left: 28px; 
  vertical-align: middle; 
  margin-top: 0 !important;
  line-height: 1.2;
}

/* Pseudo-elemento: círculo exterior */
.form-groupMaterial .radio-material label::before {
  content: "";
  position: absolute;          
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;                  
  height: 15px;
  border: 2px solid rgba(0,0,0,0.54);
  border-radius: 50%;
  box-sizing: border-box;
  background: transparent;
}

/* Pseudo-elemento: punto interior (estado checked) */
.form-groupMaterial .radio-material label::after {
  content: "";
  position: absolute;
  left: 5px;                    
  top: 50%;
  transform: translateY(-50%) scale(0);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #1472a4;
  transition: transform 0.12s ease-in-out;
  box-sizing: border-box;
}

/* Cuando el input está checked: mostrar el punto interior */
.form-groupMaterial .radio-material input[type="radio"]:checked + label::after {
  transform: translateY(-50%) scale(1);
}

/* Asegurar que no haya margen que desplace verticalmente los labels */
.form-groupMaterial .checkbox-material label,
.form-groupMaterial .radio-material label {
  margin-top: 0 !important;
}

.alineacion-izquierda-label{
	
	transform: translate(-15px, 1px);
	will-change: transform;
	
    
}

.alineacion-izquierda-label-nuevaAes{
	transform: translate(-15px, 0px);
	will-change: transform;
	
}

.color-fuente-select{
	color: #1472a4 !important;
}

.alineacion-izquierda-select {
    margin-left: 15px !important
}

.alineacion-izquierda-input {
    margin-left: 2px !important;
}

.alineacion-izquierda-modal-input {
    margin-left: 9px !important;
}

/* Borde base gris claro para inputs y selects */
.form-groupMaterial .form-control {
    border: 1px solid #CCCCCC !important;
    box-shadow: none !important;
}

/* Hover: borde negro (igual para input y select) */
.form-groupMaterial .form-control:hover {
    border-color: #000000 !important;
}

/* Focus: mantener el estilo material (azul) o lo que tengas */
.form-groupMaterial .form-control:focus {
    border-color: #007bff !important; 
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25) !important;
}

/* Select: asegurar que respeta este estilo y no el nativo */
.form-groupMaterial select.form-control {
    background-color: #fff !important;
    color: inherit;
    appearance: none; /* evita estilos del navegador */
    -webkit-appearance: none;
    -moz-appearance: none;
}


.alineacion-izquierda-fechas4{
	transform: translateX(-28px);
    will-change: transform;
}

.alineacion-izquierda-empadronamiento4{
	transform: translateX(-25px);
    will-change: transform;
}

.alineacion-izquierda-select-modal4{
	transform: translateX(-30px);
    will-change: transform;
}

.alineacion-izquierda-select-modal-perceptor4{
	transform: translateX(-10px);
    will-change: transform;
    padding-right: 20px;
}
.alineacion-izquierda-label-otro{
	transform: translate(-25px, 0px) !important;
	will-change: transform !important;
}

.alineacion-izquierda-label-otro{
	transform: translate(-15px, 0px) !important;
	will-change: transform !important;
}

.alineacion-derecha-legend{
	position: relative !important;
    left: 8px !important; 
}

#fila .alineacion-izquierda-label-otro{
	transform: translate(5px, 0px) !important;
	will-change: transform !important;
}

label[for="municipio"] {
    transform: translate(-5px, 0px) !important;
    will-change: transform !important;
}

/* desplazamiento específico para la cabecera de ficha persona */
.alinear-label-cabecera {
    margin-left: -43px !important;
    transition: none !important;
}

.ui-dialog .ui-dialog-titlebar.ui-widget-header{
	color: rgb(255,255,255);
}

.ui-tabs .ui-tabs-panel {
    border-width: 1px !important;
}

.colorfondo-fecha {
  background-color: transparent !important;
  border: 1px solid transparent;  
  box-shadow: none;              
}


#fechPago + .ui-datepicker-trigger img ,
#hdrFecEntrega2 + .ui-datepicker-trigger img ,
#hdrFecEntrega3 + .ui-datepicker-trigger img ,
#hdrFecEntrega4 + .ui-datepicker-trigger img ,
#hdrFecEntrega5 + .ui-datepicker-trigger img ,
#hdrFecEntrega6 + .ui-datepicker-trigger img ,
#hdrFecEntrega + .ui-datepicker-trigger img {
    position: absolute !important;
    right: 20px;
    bottom: 5px;
}


#hdrFecPropuesta[readonly] {
    background-color: #e9ecef !important;  
    cursor: not-allowed !important;
    opacity: 1 !important;
}

/* =====================================
   CALENDARIO
   ===================================== */


/* Fuente y base del documento */
body {
  font-family: "Segoe UI", Roboto, Arial, sans-serif;

  margin: 0;
  padding: 0;
}

/* Contenedor principal */
.contenedor-calendario {
  max-width: 1000px;
  margin: 40px auto;
  padding: 25px;
  background-color: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

/* Título */
.titulo-calendario {
  text-align: center;
  color: #003366;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 25px;
}

/* =====================================
   CABECERA Y BOTONES DEL CALENDARIO
   ===================================== */
.fc-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #003366;
  color: #fff;
  padding: 12px 16px;
  border-radius: 12px 12px 0 0;
}

.fc-toolbar-title {
  font-size: 20px;
  font-weight: 500;
}

/* Botones */
.fc-button {
  background-color: #ffffff !important;
  color: #003366 !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 6px 12px !important;
  font-weight: 500;
  transition: all 0.2s ease;
  box-shadow: 0 2px 3px rgba(0,0,0,0.1);
}

.fc-button:hover {
  background-color: #005bb5 !important;
  color: #fff !important;
}

/* =====================================
   CUERPO DEL CALENDARIO
   ===================================== */
#calendario {
  border-radius: 0 0 12px 12px;
  overflow: hidden;
}

/* Celdas de los días */
.fc-daygrid-day {
  background-color: #fafafa;
  border: 1px solid #e3e3e3;
  transition: background 0.2s;
}

.fc-daygrid-day:hover {
  background-color: #f0f8ff;
}

/* Día actual */
.fc-daygrid-day.fc-day-today {
  background-color: #e0f0ff !important;
  border: 2px solid #0078d7 !important;
}

/* Cabecera (nombres de los días) */
.fc-col-header-cell {
  background-color: #004080;
  color: white;
  padding: 10px 0;
  text-transform: uppercase;
  font-size: 13px;
  border: 1px solid #003060;
}

/* =====================================
   EVENTOS
   ===================================== */
.fc-event {
  background-color: #0078d7;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 2px 4px;
  margin: 1px 0;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.fc-event:hover {
  background-color: #005bb5;
}

/* Eventos importantes (ejemplo) */
.fc-event.evento-importante {
  background-color: #d9534f !important;
}

/* =====================================
   MODALES / POPUPS (si se usan)
   ===================================== */
.ui-dialog {
  border-radius: 10px !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}



/* =====================================
   RESPONSIVE
   ===================================== */
@media (max-width: 768px) {
  .contenedor-calendario {
    margin: 20px;
    padding: 15px;
  }

  .fc-toolbar {
    flex-direction: column;
    gap: 10px;
  }

  .titulo-calendario {
    font-size: 22px;
  }
}

i.mdi-file-code.sent.detail_icon_link{
	color: var(--green);
}
i.mdi-file-code.received.detail_icon_link{
	color: var(--blue);
}

i.mdi-file-pdf.detail_icon_link{
	color: var(--red);
}
i.mdi-file-word.detail_icon_link{
	color: var(--blue);
}
i.mdi-file-excel.detail_icon_link{
	color: var(--green);
}
i.mdi-file-powerpoint.detail_icon_link{
	color: var(--pink);
}
i.mdi-file-document.detail_icon_link{
	color: var(--info);
}
i.mdi-file-image.detail_icon_link{
	color: var(--orange);
}
i.mdi-file-music.detail_icon_link{
	color: var(--purple);
}
i.mdi-file-video.detail_icon_link{
	color: var(--indigo);
}
i.mdi-folder-zip.detail_icon_link{
	color: var(--gray);
}
i.mdi-folder.detail_icon_link{
	color: var(--yellow);
}
i.detail_icon_link{
    cursor: pointer;
    filter: brightness(1);
  	transition: filter 0.3s ease;
}
i.detail_icon_link:hover{
    filter: brightness(1.5);
}

table.table-material i.mdi.detail_icon_link{
	font-size: 2.35rem;
}

.form-groupMaterial[class*="col-"] input ~ label {
    left: 10px;
}

.row .form-groupMaterial[class*="col-"] select[ruptype="select"] ~ label.select-material {
  left: 10px; }
  
  /* estilos nuevos */
  
  .rup-navbar, .rup-navbar .navbar-brand {
    background: #336289;
    box-shadow: none;
}
  
  div.formulario_legend {
    min-height: 32px !important;
    height: 40px;
    padding: 10px 10px;
    box-sizing: border-box !important;
    background:white;
    border-color: #ddd;
}



.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]) {
    display: block;
    width: 100%;
    height: 2.8rem;
    font-size: 1rem;
    padding: 6px 10px 6px 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
    box-sizing: border-box;
    color: #495057;
    background-image: none;
    background-color: #FFFFFF;
}

div.formulario_legend.formulario_opened + fieldset.rup-table-filter-fieldset {
    max-height: 5000px;
    opacity: 1;
    transition: all 0.25s 
ease-in;
    border-color: #ddd;
}

.rup-table-filter-toggle-label, [id$="_filter_toggle_label"] {
    color: #1472a4 !important;
    font-weight: bold;
    text-decoration: none !important;
    text-transform: uppercase;
    margin-left: 2rem;
}

.collapse_icon {
    background: #1472a4;
    font-size: 18px;
    margin-top: -4px;
    border-radius: 2px;
    display: block;
    width: 30px;
    color: white;
    text-align: center;
    position: absolute;
    margin-left: -3px;
}

.rup-table-filter-toggle-label, [id$="_filter_toggle_label"] {
    color: #1472a4 !important;
    font-weight: bold;
    text-decoration: none !important;
    text-transform: uppercase;
    margin-left: 3.2rem;
}

.collapse_icon_right {
    float: right;
    cursor: pointer;
    opacity: 0.5;
    display: none;
}



div.formulario_legend.formulario_opened {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: none;
    border-radius: 3px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

div[id$="_filter_buttonSet"] {
    border-top: 1px solid #e9e9e9;
    padding: 0.75rem;
    margin: 1.5rem 0rem -10px 0rem;
}



fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: 12px 20px;
}

.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]):valid:enabled ~ label {
    top: -10px;
    font-size: .9rem;
    color: #1472a4;
    padding: 0 5px;
    background-color: #FFFFFF;
    background-image: none;
    margin-left: -10px;
}

.form-groupMaterial input:not([type="checkbox"]):not([type="radio"]):read-only ~ label {
    top: -10px;
    font-size: .9rem;
    color: #1472a4;
    padding: 0 5px;
    background-color: #FFFFFF;
    background-image: none;
    margin-left: -10px;
}

.row .form-groupMaterial[class*="col-"] select[ruptype="select"] ~ label.select-material {
    left: 0px;
    color: #878787;
    margin-left: 0px;
}

.form-groupMaterial select[ruptype="select"] + span span.select2-selection--single {
    height: 34px;
    border-radius: 3px;
    border: 1px solid #ddd;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-right: 15px;
    font-size: 20px;
    margin-top: -8px;
}

.select2-container--focus .select2-selection--single .select2-selection__clear {
    margin-top: -2px;
}

.form-groupMaterial select[ruptype="select"] + span.select2-container--focus span.select2-selection span.select2-selection__rendered, .form-groupMaterial select[ruptype="select"] + span.select2-container--focus span.select2-selection:focus span.select2-selection__rendered {
    padding-left: 17px;
    padding-right: 19px;
    line-height: 30px;
}

/* div.dt-buttons { */
/*     display: flex; */
/*     justify-content: flex-end; */
/*     width: fit-content; */
/*     position: absolute; */
/*     right: 4rem; */
/*     margin-top: -5rem; */
/* } */

.form-groupMaterial select[ruptype="select"] + span span.select2-selection__rendered {
    padding-left: 18px;
    line-height: 2.2;
}

.form-groupMaterial select[ruptype="select"] + span span.select2-selection--single span.select2-selection__arrow {
    height: calc(2rem + 7px);
    border: none;
    background-position: center;
    background-color: #eee;
    width: 30px;
}

.rup-breadCrumb_root .row{margin-top:0;}

.rup-breadCrumb_root {
    -moz-box-shadow: inset 0 -3px 6px rgba(0, 0, 0, 0.16), 0 -3px 6px rgba(0, 0, 0, 0.23);
    /* -webkit-box-shadow: inset 0 -3px 6px rgba(0, 0, 0, 0.16), 0 -3px 6px rgba(0, 0, 0, 0.23); */
    /* box-shadow: inset 0 -3px 6px rgba(0, 0, 0, 0.16), 0 -3px 6px rgba(0, 0, 0, 0.23); */
    background: lightgray;
    padding: .8rem 2rem;
    width: 98%;
    box-shadow: none;
    background: #eee;
    margin-right: 1%;
    margin-top: 1rem;
    border-radius: 5px;
}

.rup-navbar .navbar-brand {
    font-size: 1.7rem;
    text-transform: uppercase;
    font-weight: bold;
}

.rup-breadCrumb_main LI A {
    text-decoration: underline;
    color: #1472a4;
}

.rup-navbar .navbar-nav > .nav-item .nav-link {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
    line-height: 3rem;
    font-weight: 600;
}

.form-groupMaterial select[ruptype="select"] + span span.select2-selection--single span.select2-selection__arrow b {
    border-color: #1472a4 transparent transparent transparent;
}

/* tabla */

table.table-material {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border: none;
}

table.table-material > thead tr {
    background-color: transparent;

}

table.table-material > thead tr > th {
    border-top-left-radius: 5px;
    border: none;
    background: #1472a4 !important;
    color: white;
    border-radius: 0;
    text-align: left;
    padding-left: 1rem;
}
table.dataTable thead .sorting_asc span.mdi-arrow-up {
    color: white;
}
table.dataTable thead .sorting_desc span.mdi-arrow-down {
    color: white;
}

table.table-material > thead th:hover {
    background: #0d4b6c !important;
}

.paginationContainer {
    border: none;
    border-top: 0;
    padding: 5px 0;
    margin-bottom: 2rem!important;
    background: #eee;
    border-radius: 0 0 4px 4px;
}

.page-title{margin-top: -1rem!important;
    height: 36px!important;
    color: #333;
    font-weight:bold;}
    
/* breadcrumb buttons */
.breadcrumb_button {
    background: none;
    border: none;
    color: #1472a4;
    text-decoration: none;
    cursor: pointer;
    padding: 0;
    font: inherit;
}

/* file upload */
div.fileupload-content{
	display: inline;
}

#fileupload_form .form-groupMaterial label.select-material {
    color: #1472a4;
    background-color: #FFFFFF;
    background-image: none;
    margin-left: 10px;
}


#fileupload-content .form-groupMaterial .uploader-label {
	margin-left: 0px;
}


span.fileinput-button.btn-success:not(:disabled):not(.disabled):active,
span.fileinput-button.btn-success {
	background-color: #1472a4;
    border-color: #1472a4;
}
span.fileinput-button.btn-success:not(:disabled):not(.disabled):active, 
span.fileinput-button.btn-success:not(:disabled):not(.disabled).active, 
span.show > .btn-success.fileinput-button.dropdown-toggle {
	background-color: #1472a4;
    border-color: #1472a4;
}

/* table cell*/
div.displayLeftContainer{
	display: flex;
	justify-content: end;
}
div.flexDirectionColumn{
	flex-direction: column;
}

/* toolbar generado con rup_toolbar*/
#campusVirtualToolbar.ui-widget.ui-widget-content{
    overflow: visible;
}
#bandejaNotifToolbar.ui-widget.ui-widget-content{
    overflow: visible;
}

/* Bandeja de notificaciones: filas no leídas en negrita */
#bandejaNotif tbody tr.bandeja-notif-noleida td {
    font-weight: bold;
}

/* Detalle de notificación: área del mensaje con scroll */
.bandejaNotif-detalle-mensaje {
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 8px;
    background: #fafafa;
}

/*breadcrumb campus virtual	*/
#breadCrumbContainer.d-inline-flex button{
    padding: 0rem 0rem 0.5rem 0rem;
}

    
/* Ocultar el contenido excedente */
.no-show {
    display: none;
}

/* Mostrar puntos suspensivos después del texto truncado */
.text-truncated::after {
    content: '...';
    color: #999;
}

/* Controlar el ancho máximo de la columna */
table.dataTable tbody td:nth-child(6) {
    max-width: 400px;
    word-wrap: break-word;
}

/* Estilo para el cursor al hacer hover */
.text-truncated {
    position: relative;
    cursor: help;
}

/* readonly components*/
.form-groupMaterial input.form-control[readonly], .form-groupMaterial input.form-control[readonly="readonly"],
.form-groupMaterial textarea.form-control[readonly], .form-groupMaterial textarea.form-control[readonly="readonly"] {
    background-color: #eee !important;
    cursor: default;
}

/* espacio entre titulo y filtros de tabla */
h2.noToolbarTable{
	margin-bottom: 0.8rem !important;
}

.form-groupMaterial .oculto{
	display: none!important;
}

.porcentaje-wrapper {
    position: relative;
    height: 100%;     
}

.porcentaje-wrapper input.form-control {
    padding-right: 20px !important; /* ESPACIO para el símbolo */
    text-align: right;
}

.porcentaje-wrapper::after {
    content: "%";
    position: absolute;
    right: 12px;
    top: 17px;
    transform: translateY(-50%);
    color: #666;
    pointer-events: none;
    font-size: 14px;
}

.porcentaje-wrapper.rup-validate-field-error input.form-control { 
	padding-right: 35px !important; 
}
.porcentaje-wrapper.rup-validate-field-error::after { 
	right: 28px; 
	top:17px;
}

.porcentaje-wrapper label.error,
.porcentaje-wrapper .rup-validate-msg {
  display: block !important;
  position: static !important;
  margin-top: 4px;
  text-align: left;
}

.euro-wrapper {
    position: relative;
    height: 100%; 
}

.euro-wrapper input.form-control {
    padding-right: 15px !important; 
    text-align: right;    
}

.euro-wrapper::after {
    content: "€";
    position: absolute;
    right: 12px;
    top: 17px;
    transform: translateY(-50%);
    color: #666;
    pointer-events: none;
    font-size: 14px;
}

.euro-wrapper.rup-validate-field-error input.form-control { 
	padding-right: 35px !important; 
	text-align: right;
}
.euro-wrapper.rup-validate-field-error::after { 
	right: 30px; 
	top:17px;
}

.euro-wrapper label.error,
.euro-wrapper .rup-validate-msg {
  display: block !important;
  position: static !important;
  margin-top: 4px;
  text-align: left;
}


#file_list {
    list-style: none;
    padding: 0;
    margin: 0;
}


.file-row {
    display: grid;
    grid-template-columns: 1fr 200px 150px;
    gap: 20px;      
    align-items: center;
    padding: 12px 12px; 
    border-bottom: 1px solid #e0e0e0;
    background: white;
}

label.filter-summary-label {
    display: none;
}

fieldset.inputGroup.inline > .form-row {
    position: static !important;
}

fieldset.inputGroup.inline > legend {
    display: block;
    margin-bottom: 12px;
}

/* ================================
   Registro - Planes (personalizado)
   ================================ */
.pl00-plans-list{
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.pl00-plans-list{
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.pl00-plan-option{
    width: 100%;
    padding: 0.35rem 0 !important;
    margin: 0 !important;
}

/* el flex lo forzamos sobre el LABEL dentro del contenedor para que gane al CSS global */
.pl00-plan-option > label{
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0 !important;

    /* evita que reglas globales tipo left/top afecten */
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
}

/* radio + texto alineados */
/* Radio del bloque "Planes" (evitar que el navegador lo marque como no-focusable) */
.pl00-plan-option > label > input[type="radio"]{
    margin: 0 !important;
    flex: 0 0 auto;

    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    /* por si alguna regla global lo deja “no visible/focusable” */
    clip: auto !important;
    overflow: visible !important;
    width: auto !important;
    height: auto !important;
}

.pl00-plan-name{
    font-weight: 600;
}
