BODY {
    border-right: 0px;
    padding-right: 0px;
    border-top: 0px;
    padding-left: 0px;
    font-size: 70%;
    padding-bottom: 0px;
    margin: 0px;
    border-left: 0px;
    width: 100%;
    color: #626262;
    padding-top: 0px;
    border-bottom: 0px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

.tdborder {
    border-top: 1px solid #ccc;
    padding: 5px;
}

.h1columnaizq {
    padding-right: 7px;
    background-position: left top;
    padding-left: 7px;
    font-weight: bold;
    font-size: 11px;
    background-image: url(../../imagenes/atencion/bg_tituloizq.gif);
    padding-bottom: 7px;
    margin: 0px;
    color: #888;
    padding-top: 7px;
    background-repeat: no-repeat;
    font-style: italic;
    font-family: Georgia, "Times New Roman", Times, serif;
}

#cambioidioma {
    padding-right: 0px;
    padding-left: 0px;
    font-weight: normal;
    font-size: 10px;
    padding-bottom: 0px;
    margin: -5px 0px 0px;
    vertical-align: top;
    width: 220px;
    color: #ffffff;
    border-top-style: none;
    padding-top: 0px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    border-right-style: none;
    border-left-style: none;
    height: 6px;
    background-color: #229cdf;
    text-align: left;
    border-bottom-style: none;
}

.esquina {
}

#cambioidioma A {
    color: white;
}

.sitemapseleccionado {
    font-weight: bold;
    font-size: 10px;
    color: #229cdf;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    text-decoration: none;
}

.sitemap {
    font-weight: bold;
    font-size: 10px;
    color: #999999;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    text-decoration: none;
}

.A.sitemap {
    font-weight: bold;
    font-size: 10px;
    color: #999999;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    text-decoration: none;
}

.linea_puntos {
    border-bottom: #999999 1px dotted;
}

.tablaLogo {
    padding-left: 0px;
    padding-bottom: 0px;
    margin: 0px;
    vertical-align: top;
    width: 100%;
    padding-top: 0px;
    background-color: #ffffff;
    text-align: left;
}

#efactura {
    padding-right: 0px;
    padding-left: 0px;
    min-height: 90px;
    background-image: url(imagenes/cabecera/atencioncliente.jpg);
    padding-bottom: 0px;
    margin: 0px;
    border-top-style: none;
    padding-top: 0px;
    background-repeat: no-repeat;
    border-right-style: none;
    border-left-style: none;
    height: 90px;
    background-color: #e6e3da;
    text-align: left;
    border-bottom-style: none;
}

.logoefactura {
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    margin: 0px;
    padding-top: 0px;
    hspace: 0px;
    vspace: 0px;
}

.titulo {
    font-weight: bold;
    font-size: 14px;
    color: #666666;
    font-style: italic;
    font-family: Georgia, "Times New Roman", Times, serif;
}

#tituloFormBorde {
    border-left-color: white;
    border-left-style: solid;
}

.eleccion {
    font-weight: bold;
    font-size: large;
    color: navy;
}

.sino {
    font-weight: bold;
    font-size: 10px;
    color: rgb(34,156,223);
    font-family: Verdana,Arial,Helvetica,sans-serif;
    text-align: center;
    text-decoration: none;
}

.rbl {
    text-align: left;
}

.eleccionDerecha {
}

.celdaboton {
    text-align: right;
}

.boton {
    border-right: #666666 1px solid;
    padding-right: 5px;
    border-top: #666666 1px solid;
    padding-left: 5px;
    font-weight: bold;
    font-size: 10px;
    background-image: url(../../Imagenes/fondo_boton.gif);
    padding-bottom: 5px;
    border-left: #666666 1px solid;
    color: #666666;
    padding-top: 5px;
    border-bottom: #666666 1px solid;
    background-repeat: repeat-x;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    text-decoration: none;
}

.file-upload-button {
    background-image: url(../../Imagenes/fondo_boton.gif);
    /*border-right: #666666 1px solid;
	padding-right: 5px;
	border-top: #666666 1px solid;
	padding-left: 5px;
	font-weight: bold;
	font-size: 10px;
	padding-bottom: 5px;
	border-left: #666666 1px solid;
	color: #666666;
	padding-top: 5px;
	border-bottom: #666666 1px solid;
	background-repeat: repeat-x;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	text-decoration: none;*/
}

.file {
    font-weight: normal;
    width: 400px;
    color: #161869;
    line-height: normal;
    font-style: normal;
    font-family: verdana;
    background-color: #eef7fd;
    font-variant: normal;
    text-decoration: none;
}

.botonCentrado {
    text-align: center;
}

.contenidoFoto {
    width: 30px;
}

.tabla {
    border-top-width: 0px;
    border-left-width: 0px;
    border-bottom-width: 0px;
    width: 100%;
    border-right-width: 0px;
}

.tablaMaster {
    border-top-width: 0px;
    padding-right: 0px;
    padding-left: 0px;
    border-right-width: 0px;
}

.textbox {
    border: 1px solid #666666;
    font-weight: bold;
    font-size: 10px;
    color: #666666;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background-color: #ffffff;
    text-decoration: none;
}

.textboxCorto {
    border: 1px solid #666666;
    font-weight: bold;
    font-size: 10px;
    color: #666666;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background-color: #ffffff;
    text-decoration: none;
}

.textboxCorto {
    border-right: #666666 1px solid;
    border-top: #666666 1px solid;
    font-weight: bold;
    font-size: 10px;
    border-left: #666666 1px solid;
    width: 150px;
    color: #666666;
    border-bottom: #666666 1px solid;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background-color: #ffffff;
    text-decoration: none;
}

.columnaTexto {
    width: 50%;
}

.columnaTexto2 {
    width: 15%;
}

.columnaTexto3 {
    width: 5%;
}

.dropdownlist {
    border-right: #666666 1px solid;
    border-top: #666666 1px solid;
    font-weight: bold;
    font-size: 10px;
    border-left: #666666 1px solid;
    width: 150px;
    color: #666666;
    border-bottom: #666666 1px solid;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background-color: #ffffff;
    text-decoration: none;
}

.bordeizq {
    border-left-color: white;
    border-left-style: solid;
}

.bordearriba {
    border-top-style: solid;
    border-top-color: white;
}

.icono {
    width: 30px;
    height: 30px;
}

.nota {
    font-size: smaller;
}

.atencioncliente {
    font-weight: bold;
    font-size: large;
    text-align: center;
}

.bordearriba2 {
    border-top: black thin solid;
}

.bordeabajo {
    border-bottom: black thin solid;
}

.textoclave {
    width: 170px;
}

.campoobligatorio {
    text-align: left;
}

.mensaje {
    font-weight: bold;
    font-size: large;
    text-align: center;
}

.textoColor {
    font-weight: bold;
    font-size: 10px;
    color: rgb(34,156,223);
    font-family: Verdana,Arial,Helvetica,sans-serif;
    text-decoration: none;
}

.textoError {
    font-weight: bold;
    font-size: 12pt;
    color: red;
}

.clave {
    font-weight: bold;
    font-size: medium;
    color: black;
}

.error {
    font-weight: bold;
    font-size: 10pt;
    color: red;
}

.menu {
    width: 180px;
    font-family: Arial, Helvetica, sans-serif;
}

.COPIANOUSARmenuCopiadelOriginal {
    width: 180px;
    font-family: Arial, Helvetica, sans-serif;
    /*background-color: rgb(126,200,237); MJA:28/2/2023 coge este valor que en la actual no coge a pesar de ser los estilos iguales*/
}

.menuSel {
}

.menuItem {
    padding-right: 4px;
    padding-left: 4px;
    padding-bottom: 4px;
    padding-top: 4px;
    border-bottom: #3586c3 1px dotted;
}

.celdaMenu {
    vertical-align: top;
    width: 250px;
    background-color: #e6e3da;
    text-align: left;
}

.contenedor {
    padding-right: 2px;
    padding-left: 2px;
    padding-bottom: 2px;
    vertical-align: top;
    padding-top: 2px;
    height: 480px;
}

.dlDataList {
    border-top-width: 0px;
    border-left-width: 0px;
    border-bottom-width: 0px;
    width: 100%;
    color: black;
    border-right-width: 0px;
}

.dlTabla {
    border-top-width: 0px;
    border-left-width: 0px;
    border-bottom-width: 0px;
    width: 100%;
    border-right-width: 0px;
}

.dlTablaCabecera {
    border-top-width: 0px;
    border-left-width: 0px;
    border-bottom-width: 0px;
    width: 100%;
    border-right-width: 0px;
}

.dlMas {
    width: 15px;
}

.dlColumna1 {
    width: 25%;
}

.dlColumna2 {
}

.dlColumna1Cabecera {
    width: 25%;
}

.dlColumna2Cabecera {
}

.dlTexbox1 {
    width: 150px;
}

.dlTextbox2 {
    width: 150px;
}

.dlGridView {
    width: 100%;
}

.dlCeldaGridView {
    border-right: silver 1px solid;
    border-top: silver 1px solid;
    border-left: silver 1px solid;
    width: 100%;
    border-bottom: silver 1px solid;
}

.dlCColumna1 {
    width: 30%;
}

.dlCColumna2 {
    width: 20%;
}

.dlCColumna3 {
    width: 15%;
}

.dlCColumna4 {
    width: 10%;
}

.dlCColumna5 {
    width: 10%;
}

.dlCColumna6 {
    width: 10%;
}

.dlCColumna7 {
    width: 10%;
    min-width: 67px;
}

.dlCColumna1Cabecera {
    width: 25%;
}

.dlCColumna2Cabecera {
    width: 20%;
}

.dlCColumna3Cabecera {
    width: 15%;
}

.dlCColumna4Cabecera {
    width: 10%;
}

.dlCColumna5Cabecera {
    width: 5%;
}

.dlCColumna6Cabecera {
    width: 10%;
}

.dlCColumna7Cabecera {
    width: 10%;
}

.dlSColumna1 {
    width: 35%;
}

.dlSColumna2 {
    width: 30%;
}

.dlSColumna3 {
    width: 25%;
}

.dlBaja {
    width: 10%;
}

.dlSColumna1Cabecera {
    width: 35%;
}

.dlSColumna2Cabecera {
    width: 30%;
}

.dlSColumna3Cabecera {
    width: 35%;
}

.dlSelectedItemStyle {
    text-align: left;
}

.dlAlternatingItemStyle {
    text-align: left;
}

.dlItemStyle {
    text-align: left;
}

.dlHeaderStyle {
    font-weight: bold;
    font-size: 11px;
    color: #229cdf;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    text-align: left;
    text-decoration: none;
}

.dlGridSelectedItemStyle {
    text-align: left;
}

.dlGridAlternatingItemStyle {
    text-align: left;
}

GridItemStyle {
    text-align: left;
}

.dlGridHeaderStyle {
    background-color: #edeae5;
    text-align: left;
}

.labelNivel1 {
    font-weight: bold;
    font-size: 10px;
    color: rgb(102,102,102);
    font-family: Verdana,Arial,Helvetica,sans-serif;
    text-decoration: none;
}

.home {
}

.tablaLogin {
    border-top-width: 0px;
    padding-right: 0px;
    padding-left: 0px;
    border-left-width: 0px;
    border-bottom-width: 0px;
    padding-bottom: 0px;
    margin: 0px;
    width: 99%;
    padding-top: 0px;
    border-right-width: 0px;
}

.loginMenu {
    padding-right: 0px;
    padding-left: 0px;
    font-size: 10px;
    padding-bottom: 0px;
    margin: 0px;
    vertical-align: top;
    width: 20%;
    padding-top: 0px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background-color: #e6e3da;
}

.loginBordeIzq {
}

.loginContenedor {
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    margin: 0px;
    vertical-align: top;
    padding-top: 0px;
}

.loginCeldaLogo {
}

H1 {
    padding-right: 5px;
    padding-left: 5px;
    font-weight: bold;
    font-size: 16px;
    padding-bottom: 5px;
    margin: 0px;
    color: #666666;
    padding-top: 5px;
    font-style: italic;
    font-family: Georgia, "Times New Roman", Times, serif;
}

H2 {
    padding-right: 1px;
    padding-left: 5px;
    font-weight: bold;
    font-size: 14px;
    padding-left: 5px;
    font-weight: bold;
    font-size: 120%;
    padding-bottom: 3px;
    margin: 24px 12px 12px 0px;
    color: #059;
    padding-top: 0px;
    border-bottom: #eed 6px solid;
}

H4 {
    padding-right: 0px;
    padding-left: 5px;
    font-weight: bold;
    font-size: 100%;
    margin-bottom: 6px;
    padding-bottom: 3px;
    padding-top: 0px;
    background-color: #eee;
    width: 210px;
    margin-left: 0px;
}

H4 {
    padding-right: 0px;
    padding-left: 5px;
    font-weight: bold;
    font-size: 100%;
    margin-bottom: 6px;
    padding-bottom: 3px;
    padding-top: 0px;
    background-color: #eee;
    width: 201px;
}

.tablaMarco {
    border-right: #999 1px solid;
    padding-right: 5px;
    border-top: #999 1px solid;
    padding-left: 5px;
    font-weight: bold;
    font-size: 10px;
    padding-bottom: 5px;
    border-left: #999 1px solid;
    padding-top: 5px;
    border-bottom: #999 1px solid;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background-color: #f8f7f5;
    text-decoration: none;
    border-spacing: 0;
    marginp: 50px;
}

.tablaMarco1 {
    border-right: #ccc 1px solid;
    padding-right: 5px;
    border-top: #ccc 1px solid;
    padding-left: 5px;
    font-weight: bold;
    font-size: 10px;
    padding-bottom: 5px;
    margin: 5px;
    border-left: #ccc 1px solid;
    padding-top: 5px;
    border-bottom: #ccc 1px solid;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background-color: #fff;
    text-decoration: none;
}

.tablanormal1 {
    border: 1px solid #999999;
    background-color: #EEEEEE;
}

.contratodesactivado {
    color: red;
}

.SeleccionDatalist {
    cursor: pointer;
    background-color: #229cdf;
}

.ayuda {
    border-top-width: 0px;
    padding-right: 10px;
    background-position: 10px 50%;
    padding-left: 30px;
    font-weight: bold;
    border-left-width: 0px;
    font-size: 10px;
    background-image: url(../../Imagenes/icono_ayuda.gif);
    border-bottom-width: 0px;
    padding-bottom: 5px;
    margin: 0px;
    color: white;
    padding-top: 5px;
    background-repeat: no-repeat;
    background-color: #ff9900;
    border-right-width: 0px;
}

.pie1 {
    border-top: white 1px solid;
    font-weight: normal;
    font-size: 10px;
    color: #666666;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background-color: #e6e3da;
    text-align: center;
    text-decoration: none;
}

.pie2 {
    border-top: white 1px solid;
    font-weight: normal;
    font-size: 10px;
    border-left: white 1px solid;
    color: #666666;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background-color: #edeae5;
    text-align: center;
    text-decoration: none;
}

#logeo {
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    margin: 0px;
    padding-top: 0px;
    background-color: #ffffff;
}

    #logeo H2 {
        padding-right: 2px;
        padding-left: 19px;
        font-size: 13px;
        background-image: url(../../imagenes/comun/bg_user_h2.gif);
        padding-bottom: 2px;
        margin: 2px;
        color: #333;
        padding-top: 2px;
        background-repeat: no-repeat;
        background-color: #ffffff;
    }

    #logeo .bg {
        padding-right: 0px;
        padding-left: 0px;
        font-size: 11px;
        background-image: url(../../imagenes/comun/bg_logeo.gif);
        padding-bottom: 0px;
        margin: 2px;
        color: #fff;
        padding-top: 0px;
        background-repeat: no-repeat;
        height: 115px;
        background-color: #ffffff;
    }

#registro {
    padding-right: 0px;
    padding-left: 0px;
    font-size: 11px;
    background-image: url(../../imagenes/atencion/bg_registro.gif);
    padding-bottom: 0px;
    margin: 0px;
    color: #333;
    padding-top: 0px;
    background-repeat: no-repeat;
    height: 40px;
    background-color: #ffffff;
}

    #registro P {
        padding-right: 10px;
        padding-left: 25px;
        padding-bottom: 10px;
        margin: 0px;
        padding-top: 12px;
    }

    #registro A {
        padding-right: 0px;
        padding-left: 0px;
        padding-bottom: 0px;
        margin: 0px;
        color: #229cdf;
        padding-top: 0px;
    }

#clave {
    padding-right: 0px;
    padding-left: 0px;
    font-size: 11px;
    background-image: url(../../imagenes/atencion/bg_clave.gif);
    padding-bottom: 0px;
    margin: 5px 0px;
    color: #333;
    padding-top: 0px;
    background-repeat: no-repeat;
    background-color: #ffffff;
}

    #clave P {
        padding-right: 5px;
        padding-left: 20px;
        padding-bottom: 5px;
        margin: 0px;
        padding-top: 5px;
    }

    #clave A {
        padding-right: 0px;
        padding-left: 0px;
        padding-bottom: 0px;
        margin: 0px;
        color: #229cdf;
        padding-top: 0px;
    }

.pcomentario {
    padding-right: 0px;
    background-position: left top;
    padding-left: 20px;
    font-weight: bold;
    font-size: 12px;
    background-image: url(../../imagenes/comun/bg_dialog_h2.gif);
    padding-bottom: 0px;
    margin: 0px;
    color: #229cdf;
    line-height: 16px;
    padding-top: 0px;
    background-repeat: no-repeat;
}

.ulindex {
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    margin: 10px 5px 10px 35px;
    padding-top: 0px;
}

    .ulindex LI {
        padding-right: 5px;
        padding-left: 5px;
        padding-bottom: 5px;
        margin: 0px;
        padding-top: 5px;
    }

        .ulindex LI A {
            color: #666;
        }

.h1columnaizq {
    padding-right: 7px;
    background-position: left top;
    padding-left: 7px;
    font-weight: bold;
    font-size: 11px;
    background-image: url(../../imagenes/atencion/bg_tituloizq.gif);
    padding-bottom: 7px;
    margin: 0px;
    color: #888;
    padding-top: 7px;
    background-repeat: no-repeat;
    font-style: italic;
    font-family: Georgia, "Times New Roman", Times, serif;
}

.blanco {
    color: #ffffff;
}

.rojo {
    color: #cc3300;
}

.contenedor {
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    margin: 50px;
    padding-top: 0px;
}

.h2alta {
    padding-right: 3px;
    background-position: left top;
    padding-left: 20px;
    font-weight: bold;
    font-size: 13px;
    background-image: url(../../imagenes/atencion/bg_estrella.gif);
    padding-bottom: 2px;
    margin: 0px;
    color: #888;
    padding-top: 2px;
    background-repeat: no-repeat;
}

.h2ventajas {
    padding-right: 3px;
    padding-left: 3px;
    font-weight: bold;
    font-size: 14px;
    padding-bottom: 2px;
    margin: 0px;
    color: #666;
    padding-top: 2px;
    font-style: italic;
}

.botonConEfactura {
    padding: 5px;
    background: url(../../Imagenes/atencion/boton_efacturaes.gif);
    color: #000;
    font-weight: bold;
    border: none;
    width: 130px;
    height: 35px;
}

.botonSinEfactura {
    padding: 5px;
    background: url(../../Imagenes/atencion/boton_sin_efacturaes.gif);
    color: #000;
    font-weight: bold;
    border: none;
    width: 130px;
    height: 35px;
}

.botonConEfacturaEU {
    padding: 5px;
    background: url(../../Imagenes/atencion/boton_efacturaeu.gif);
    color: #000;
    font-weight: bold;
    border: none;
    width: 130px;
    height: 35px;
}

.botonSinEfacturaEU {
    padding: 5px;
    background: url(../../Imagenes/atencion/boton_sin_efacturaeu.gif);
    color: #000;
    font-weight: bold;
    border: none;
    width: 150px;
    height: 35px;
}

.botonaltaEfactura {
    background: url(../../Imagenes/atencion/fondo_boton_alta.gif);
    width: 130px;
    height: 35px;
    background-color: #99CC00;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
    color: #FFFFFF;
    padding-left: 25px;
    border: 1px solid #97B425;
}

.botonMensajes {
    /*border-right: #666666 1px solid;
	padding-right: 5px;
	border-top: #666666 1px solid;
	padding-left: 5px;*/
    font-weight: bold;
    font-size: 10px;
    background-image: url(../../Imagenes/fondo_boton.gif);
    /*padding-bottom: 5px; */
    /*border-left: #666666 1px solid; */
    color: #666666;
    /*padding-top: 5px;*/
    /*border-bottom: #666666 1px solid;*/
    background-repeat: repeat-x;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    text-decoration: none;
    /*los que pongo yo*/
    border: 1px solid #666666;
    padding: 5px;
    height: 28px;
    display: block;
    margin: auto;
}

.celdaEtiquetaLogin {
    width: 90px;
}

.srOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}


/* =========================================================
  MENÚ MÓVIL
   Oculto por defecto en escritorio
   ========================================================= */

.layout-index-page .soloMovil {
    display: none;
}

.btnMenuMovil {
    display: none;
}

.btnMenuMovilMaster {
    display: none;
}

.btnMenuMovilAltaUsuarios {
    display: none;
}

.menuMovilAltaUsuarios {
    display: none;
}

.btnMenuMovilIndex2 {
    display: none;
}

.menuMovilIndex2 {
    display: none;
}

.btnMenuMovilIndex3 {
    display: none;
}

.menuMovilIndex3 {
    display: none;
}


/* =========================================================
   ESTADÍSTICAS CONSUMOS - FACTURAS - CONTROLES RESPONSIVE
   ========================================================= */

/* Lupa y visor ocultos por defecto */
.layout-master-page .btnLupaConsumos,
.layout-master-page .btnLupaFacturas {
    display: none;
}

.layout-master-page .consumosGraficoResponsive button,
.layout-master-page .consumosGraficoResponsive input[type="button"],
.layout-master-page .consumosGraficoResponsive input[type="submit"] {
    display: none;
}

.layout-master-page .visorConsumos,
.layout-master-page .visorFacturas {
    display: none;
}

.layout-master-page .facturasGraficoResponsive button,
.layout-master-page .facturasGraficoResponsive input[type="button"],
.layout-master-page .facturasGraficoResponsive input[type="submit"] {
    display: none;
}




@media screen and (max-width:1024px) {
    /* =====================================================
       REGLAS GENERALES
       ===================================================== */

    html, body {
        overflow-x: hidden;
    }


    /* =====================================================
       MASTER PAGE COMÚN (SiteMasterPage.master)
       ===================================================== */

    /* La tabla principal deja de depender de anchos rígidos */
    .layout-master-page .tablaMasterResponsive {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box;
    }

        /* Evitamos que la tabla principal fuerce un ancho superior al disponible en móvil/tablet. */
        .layout-master-page .tablaMasterResponsive, .layout-master-page .tablaMasterResponsive > tbody {
            max-width: 100%;
            box-sizing: border-box;
        }

    .layout-master-page .btnMenuMovilMaster {
        display: block !important;
        position: absolute;
        top: 66px;
        left: 6px;
        z-index: 1001;
        width: 30px;
        height: 28px;
        padding: 3px 6px;
        border: 0;
        background: #666666;
        cursor: pointer;
    }

    .layout-master-page .barraMenuMaster {
        display: block;
        width: 17px;
        height: 2px;
        margin: 2px 0;
        background: #ffffff;
        border-radius: 2px;
    }

    .layout-master-page .btnMenuMovilMaster[aria-expanded="true"] {
        display: block !important;
        position: absolute;
        top: 66px;
        left: 6px;
        z-index: 1001;
        width: 30px;
        height: 28px;
        padding: 3px 6px;
        border: 0;
        background: #666666;
        cursor: pointer;
    }

        .layout-master-page .btnMenuMovilMaster[aria-expanded="true"] .barraMenuMaster {
            display: none !important;
        }

        .layout-master-page .btnMenuMovilMaster[aria-expanded="true"]::before,
        .layout-master-page .btnMenuMovilMaster[aria-expanded="true"]::after {
            content: "";
            position: absolute;
            left: 6px;
            top: 13px;
            width: 18px;
            height: 2px;
            background: #ffffff;
        }

        .layout-master-page .btnMenuMovilMaster[aria-expanded="true"]::before {
            transform: rotate(45deg);
        }

        .layout-master-page .btnMenuMovilMaster[aria-expanded="true"]::after {
            transform: rotate(-45deg);
        }


    /* MENÚ DESPLEGABLE */
    .layout-master-page #menuMovilMaster {
        position: absolute;
        top: 98px;
        left: 0;
        z-index: 1000;
        width: 320px;
        max-width: 86vw;
        height: calc(100vh - 98px);
        overflow-y: auto;
        background: #f4f4f4;
        border-right: 1px solid #cccccc;
        box-shadow: 3px 0 12px rgba(0, 0, 0, 0.25);
        transform: translateX(-105%);
        transition: transform 0.25s ease;
    }

        .layout-master-page #menuMovilMaster.menuCerrado {
            visibility: hidden;
            transform: translateX(-105%);
        }

        .layout-master-page #menuMovilMaster.menuAbierto {
            visibility: visible;
            transform: translateX(0);
        }

        /* El ASP:Menu ocupa todo el ancho disponible del panel. */
        .layout-master-page #menuMovilMaster .menu {
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            box-sizing: border-box;
        }

        /* Evita que los elementos generados por ASP:Menu provoquen scroll horizontal. */
        .layout-master-page #menuMovilMaster table {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box;
        }

        .layout-master-page #menuMovilMaster td {
            max-width: 100%;
            box-sizing: border-box;
        }

    .layout-master-page .celdaMenu {
        width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    /* CABECERA / IMAGEN PRINCIPAL */
    .layout-master-page #efactura {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        overflow: hidden;
    }

        .layout-master-page #efactura .logoefactura {
            display: block;
            max-width: 100%;
            height: auto;
            box-sizing: border-box;
        }
        /* Por si alguna página utiliza directamente una imagen dentro de #efactura sin logoefactura. */

        .layout-master-page #efactura img {
            max-width: 100%;
            height: auto;
        }

    /* SITEMAP */
    .layout-master-page .sitemap {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        overflow-wrap: break-word;
        word-break: break-word;
    }

    /* LÍNEA SEPARADORA */

    .layout-master-page .linea_puntos {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* CONTENEDOR DE LAS PÁGINAS HIJAS
		Las páginas hijas entran aquí mediante ContentPlaceHolder1. En móvil no queremos conservar el height fijo de la estructura antigua ni los márgenes grandes. */
    .layout-master-page .contenedor {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0;
        margin: 0 !important;
        padding: 8px !important;
        box-sizing: border-box;
        vertical-align: top;
        overflow-x: hidden;
    }
        /* El contenido generado por las páginas hijas tampoco debe poder superar el ancho de la pantalla. */

        .layout-master-page .contenedor > * {
            max-width: 100%;
            box-sizing: border-box;
        }

        /* TABLAS DE LAS PÁGINAS HIJAS No cambiamos globalmente todas las tablas de la aplicación. 
            Solo las tablas que están dentro del contenido de la Master reciben un límite de ancho. */
        .layout-master-page .contenedor table {
            max-width: 100%;
            box-sizing: border-box;
        }
            /* Las tablas normales pueden adaptarse al contenedor. 
                No aplicamos width:100% !important a todas porque algunas tablas antiguas utilizan anchos intencionados. */

            .layout-master-page .contenedor table[width="100%"] {
                width: 100% !important;
            }

        /* TABLAS GRANDES / GRIDVIEWS ------------------------------------------------------ 
            Un GridView con muchas columnas no debe provocar que toda la página tenga scroll horizontal. 
            El scroll se gestiona en el elemento que lo contiene cuando exista overflow. */
        .layout-master-page .contenedor .dlGridView, .layout-master-page .contenedor .dlDataList {
            max-width: 100%;
            box-sizing: border-box;
        }

        /* Los GridView que utilizan table-layout:fixed y width fijo pueden desbordarse. 
            Permitimos que la tabla ocupe como máximo el espacio disponible. */

        .layout-master-page .contenedor table[style*="width: 100%"], .layout-master-page .contenedor table[style*="width:100%"] {
            max-width: 100% !important;
        }
        /* IMÁGENES Regla segura para imágenes dentro del contenido. No modifica las imágenes en desktop. */

        .layout-master-page .contenedor img {
            max-width: 100%;
            height: auto;
        }
        /* CAMPOS DE FORMULARIO Evita que TextBox, DropDownList, etc. provoquen overflow horizontal. */

        .layout-master-page .contenedor input[type="text"],
        .layout-master-page .contenedor input[type="password"],
        .layout-master-page .contenedor select,
        .layout-master-page .contenedor textarea {
            max-width: 100%;
            box-sizing: border-box;
        }

        /* CONTROLES ASP.NET CON WIDTH FIJO Algunos controles antiguos generan style="width:XXXpx". No los forzamos todos a width:100%, porque podría alterar formularios diseñados específicamente. Solo evitamos que superen el viewport. */

        .layout-master-page .contenedor [style*="width:"] {
            max-width: 100%;
            box-sizing: border-box;
        }

    /* FOOTER */

    .layout-master-page .pie1, .layout-master-page .pie2 {
        box-sizing: border-box;
        max-width: 100%;
        overflow-wrap: break-word;
        word-break: break-word;
    }

    /* ELEMENTOS CON FLOAT Algunas páginas antiguas pueden utilizar float. Evitamos que el contenedor quede con una altura incorrecta. */

    .layout-master-page .contenedor::after {
        content: "";
        display: block;
        clear: both;
    }

    /* SEGURIDAD CONTRA OVERFLOW HORIZONTAL No aplicamos overflow-x:hidden al BODY porque puede ocultar contenido legítimamente desplazable. Lo limitamos a la estructura de la Master. */

    .layout-master-page .master {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    .layout-master-page form {
        max-width: 100%;
        box-sizing: border-box;
    }


    /* =====================================================
       LOGIN (Login.aspx)
       ===================================================== */

    body.layout-login-page {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        overflow-x: hidden;
    }

    .layout-login-page .tablaResponsiveLogin {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        table-layout: auto;
    }

        .layout-login-page .tablaResponsiveLogin > tbody,
        .layout-login-page .tablaResponsiveLogin > tbody > tr,
        .layout-login-page .tablaResponsiveLogin > tbody > tr > td,
        .layout-login-page .tablaResponsiveLoginForm,
        .layout-login-page .tablaResponsiveLoginForm > tbody,
        .layout-login-page .tablaResponsiveLoginForm > tbody > tr,
        .layout-login-page .tablaResponsiveLoginForm > tbody > tr > td {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box;
            clear: both;
        }

    .layout-login-page .celdaMenu {
        display: none !important;
    }

    .layout-login-page #efactura,
    .layout-login-page .contenedor {
        margin: 0 !important;
        padding-left: 8px;
        padding-right: 8px;
    }

    .layout-login-page .tablaResponsiveLoginForm table,
    .layout-login-page .tablaResponsiveLoginForm .tabla,
    .layout-login-page .tablaResponsiveLoginForm .tablaMarco {
        width: 100% !important;
        max-width: 100% !important;
    }

    .layout-login-page input[type=text],
    .layout-login-page input[type=password],
    .layout-login-page select {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    .layout-login-page .textbox,
    .layout-login-page .textboxCorto,
    .layout-login-page .dropdownlist {
        min-height: 34px;
        padding: 6px 8px;
        font-size: 14px;
    }

    .layout-login-page .botonCentrado {
        width: 100%;
        text-align: center;
        margin-top: 12px;
    }

    .layout-index-page .celdaMenu {
        display: contents !important;
        width: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .layout-index-page .barraMenu {
        display: block;
        width: 17px;
        height: 2px;
        margin: 2px 0;
        background: #ffffff;
        border-radius: 2px;
    }

    .layout-index-page .btnMenuMovil {
        display: block !important;
        position: absolute;
        top: 60px;
        left: 6px;
        z-index: 1001;
        width: 30px;
        height: 28px;
        padding: 3px 6px;
        border: 0;
        background: #666666;
        cursor: pointer;
    }

        /* Estado abierto: solo X (sin desplazar)*/
        .layout-index-page .btnMenuMovil[aria-expanded="true"] {
            display: block !important;
            position: absolute;
            top: 60px;
            left: 6px;
            z-index: 1001;
            width: 30px;
            height: 28px;
            padding: 3px 6px;
            border: 0;
            background: #666666;
            cursor: pointer;
        }

            /* Ocultamos las 3 rayas */
            .layout-index-page .btnMenuMovil[aria-expanded="true"] .barraMenu {
                display: none !important;
            }

            /* Dibujamos la X centrada */
            .layout-index-page .btnMenuMovil[aria-expanded="true"]::before,
            .layout-index-page .btnMenuMovil[aria-expanded="true"]::after {
                content: "";
                position: absolute;
                left: 6px;
                top: 13px;
                width: 18px;
                height: 2px;
                background: #ffffff;
            }

            .layout-index-page .btnMenuMovil[aria-expanded="true"]::before {
                transform: rotate(45deg);
            }

            .layout-index-page .btnMenuMovil[aria-expanded="true"]::after {
                transform: rotate(-45deg);
            }


    .layout-index-page .tituloOficinaVirtual {
        min-height: 48px;
        margin: 0;
        padding-left: 62px;
        box-sizing: border-box;
    }

    /* Panel lateral superpuesto. */
    .layout-index-page .menuMovil {
        display: block;
        position: fixed;
        top: 76px;
        left: 0;
        z-index: 1000;
        width: 320px;
        max-width: 86vw;
        height: calc(100vh - 76px);
        overflow-y: auto;
        background: #f4f4f4;
        border-right: 1px solid #cccccc;
        box-shadow: 3px 0 12px rgba(0, 0, 0, 0.25);
        transform: translateX(-105%);
        transition: transform 0.25s ease;
        border-bottom: 1px solid #cccccc;
    }

        /* Cerrado: queda fuera de la pantalla. */
        .layout-index-page .menuMovil.menuCerrado {
            visibility: hidden;
            transform: translateX(-105%);
        }

        /* Abierto: aparece desde el lateral izquierdo. */
        .layout-index-page .menuMovil.menuAbierto {
            visibility: visible;
            transform: translateX(0);
        }

        .layout-index-page .menuMovil h2 {
            margin: 0;
            padding: 12px 16px 6px;
            color: #666666;
            font-size: 14px;
        }

        .layout-index-page .menuMovil .labelNivel1 {
            display: block;
            padding: 8px 16px;
            border-bottom: 1px solid #dddddd;
            text-decoration: none;
        }

            .layout-index-page .menuMovil .labelNivel1:hover,
            .layout-index-page .menuMovil .labelNivel1:focus {
                background: #dcecf5;
            }

        .layout-index-page .menuMovil .textoSuscripcion {
            margin: 8px 16px;
            line-height: 1.4;
        }

        .layout-index-page .menuMovil .menuSuscripcion {
            margin: 6px 16px 14px 34px;
            padding: 0;
        }

            .layout-index-page .menuMovil .menuSuscripcion li {
                margin: 0 0 6px;
                padding: 0;
                line-height: 1.35;
            }

    .layout-index-page .soloMovil {
        display: table-row;
    }

    .layout-index-page #efactura {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

        .layout-index-page #efactura img {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
        }

    /* Unificar tamaño del logo.gif en Index e Index2 */
    .layout-index-page .tablaLogo img,
    .layout-index-page .tablaLogo input[type="image"],
    .layout-index-page #ibLogo,
    .layout-index2-page .tablaLogo img,
    .layout-index2-page .tablaLogo input[type="image"],
    .layout-index2-page #ibLogo {
        width: auto !important;
        max-width: none !important; /* quita la limitación */
        height: auto !important;
    }


    /* Oculta la tarjeta original “Sólo por suscribirse”. */
    .layout-index-page .bloqueSuscripcionOriginal {
        display: none !important;
    }

    /* Oculta teléfono de atención y Oficinas comerciales. */
    .layout-index-page .tablaPromocionesResponsive {
        display: none !important;
    }

    .layout-index-page td.tablaMarco1.bloqueSuscripcionOriginal {
        display: none !important;
    }

    .layout-index-page .infoTelefonoMenu {
        display: none;
    }

        .layout-index-page .infoTelefonoMenu.infoTelefonoVisible {
            display: block;
            padding: 8px 16px;
            background: #a9cae3;
        }

        .layout-index-page .infoTelefonoMenu img {
            display: block;
            width: 100%;
            max-width: 355px;
            height: auto;
        }

    .opcionMenuDesplegable {
        display: block;
        width: 100%;
        padding: 8px 16px;
        border: 0;
        background: transparent;
        color: #626262;
        cursor: pointer;
        font: inherit;
        text-align: left;
    }

        .opcionMenuDesplegable:hover,
        .opcionMenuDesplegable:focus {
            background: #dcecf5;
        }


    /* =====================================================
       INDEX
       ===================================================== */

    body.layout-index-page {
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }

    .layout-index-page .tablaResponsiveIndex,
    .layout-index-page .tablaResponsiveIndex > tbody,
    .layout-index-page .tablaResponsiveIndex > tbody > tr,
    .layout-index-page .tablaResponsiveIndex > tbody > tr > td {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .layout-index-page table {
        width: 100%;
        max-width: 100%;
    }

    .layout-index-page .tablaMarco,
    .layout-index-page .tabla {
        width: 100%;
    }

        .layout-index-page .tablaMarco td {
            padding: 15px;
            box-sizing: border-box;
        }

    .layout-index-page .tablaMarco1 {
        box-sizing: border-box;
    }

    .layout-index-page .contenedor {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 8px !important;
        box-sizing: border-box !important;
        overflow-x: hidden;
    }

    /* Las dos columnas pasan a ocupar todo el ancho */
    .layout-index-page td[width="49%"] {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* La celda separadora desaparece */
    .layout-index-page td[width="10"] {
        display: none !important;
        padding: 0 !important;
    }

    .layout-index-page td[style*="width:10px"],
    .layout-index-page td[style*="width: 10px"] {
        display: none !important;
        padding: 0 !important;
    }

    .layout-index-page .tablaPromocionesResponsive,
    .layout-index-page .tablaPromocionesResponsive > tbody,
    .layout-index-page .tablaPromocionesResponsive > tbody > tr,
    .layout-index-page .tablaPromocionesResponsive > tbody > tr > td {
        display: block;
        width: 100%;
    }

    .layout-index-page .promoSeparador {
        display: none;
    }

    .layout-index-page .tablaPromocionesResponsive img {
        width: 100%;
        height: auto;
    }

    .layout-index-page .celdaMenu td[height="150"] {
        height: 20px !important;
    }

    .layout-index-page input[type="image"] {
        max-width: 100%;
        height: auto;
    }

    .layout-index-page .tablaMarco td[width="130"] {
        width: auto !important;
    }

    .layout-index-page .tablaMarco td[width="20"] {
        width: 12px !important;
    }

    .layout-index-page .botonConEfactura,
    .layout-index-page .botonSinEfactura {
        width: 130px !important;
        display: block;
        margin: 6px auto;
    }


    /* ==========================================
   IndexMantenimiento.aspx
   ========================================== */

    body.layout-indexmantenimiento-page {
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }

    .layout-indexmantenimiento-page .tabla {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

        .layout-indexmantenimiento-page .tabla > tbody,
        .layout-indexmantenimiento-page .tabla > tbody > tr {
            display: block;
            width: 100%;
        }

            .layout-indexmantenimiento-page .tabla > tbody > tr > td {
                display: block;
                width: 100% !important;
                box-sizing: border-box;
            }

    .layout-indexmantenimiento-page #efactura {
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }

        .layout-indexmantenimiento-page #efactura img {
            display: block;
            width: 100%;
            max-width: 100%;
            height: auto;
        }

    .layout-indexmantenimiento-page #mantenimiento {
        width: 100%;
        padding: 20px 10px;
        box-sizing: border-box;
    }

        .layout-indexmantenimiento-page #mantenimiento table {
            width: 100% !important;
        }

        .layout-indexmantenimiento-page #mantenimiento td {
            padding: 12px 5px;
        }

        .layout-indexmantenimiento-page #mantenimiento span {
            display: block !important;
            width: 100% !important;
            box-sizing: border-box;
            text-align: center;
            overflow-wrap: break-word;
            word-break: break-word;
        }

    /* =========================================================
   ALTA NUEVOS USUARIOS - MENÚ MÓVIL
   ========================================================= */
    .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"] {
        display: block !important;
        position: absolute;
        top: 20px;
        left: 6px;
        z-index: 1001;
        width: 30px;
        height: 28px;
        padding: 3px 6px;
        border: 0;
        background: #666666;
        cursor: pointer;
    }

        /* Ocultamos las 3 rayas */
        .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"] .barraMenuAltaUsuarios {
            display: none !important;
        }

        /* Dibujamos la X */
        .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"]::before,
        .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"]::after {
            content: "";
            position: absolute;
            left: 6px;
            top: 13px;
            width: 18px;
            height: 2px;
            background: #ffffff;
        }

        .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"]::before {
            transform: rotate(45deg);
        }

        .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"]::after {
            transform: rotate(-45deg);
        }

    .layout-altausuarios-page .barraMenuAltaUsuarios {
        display: block;
        width: 17px;
        height: 2px;
        margin: 2px 0;
        background: #fff;
    }

    .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"] {
        display: block !important;
        position: absolute;
        top: 60px;
        left: 6px;
        z-index: 1001;
        width: 30px;
        height: 28px;
        padding: 3px 6px;
        border: 0;
        background: #666666;
        cursor: pointer;
    }

        .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"] .barraMenuAltaUsuarios {
            display: none !important;
        }

        .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"]::before,
        .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"]::after {
            content: "";
            position: absolute;
            left: 6px;
            top: 13px;
            width: 18px;
            height: 2px;
            background: #ffffff;
        }

        .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"]::before {
            transform: rotate(45deg);
        }

        .layout-altausuarios-page .btnMenuMovilAltaUsuarios[aria-expanded="true"]::after {
            transform: rotate(-45deg);
        }


    .layout-altausuarios-page #menuMovilAltaUsuarios {
        display: block !important;
        position: absolute;
        top: 98px;
        left: 0;
        z-index: 1000;
        width: 320px;
        max-width: 86vw;
        height: calc(100vh - 98px);
        overflow-y: auto;
        overflow-x: hidden;
        background: #f4f4f4;
        border-right: 1px solid #ccc;
        box-shadow: 3px 0 8px rgba(0, 0, 0, 0.20);
        transform: translateX(-105%);
        transition: transform 0.25s ease;
    }

        .layout-altausuarios-page #menuMovilAltaUsuarios.menuCerrado {
            transform: translateX(-105%);
        }

        .layout-altausuarios-page #menuMovilAltaUsuarios.menuAbierto {
            transform: translateX(0);
        }

    .layout-altausuarios-page .menuMovilAltaUsuariosContenido {
        padding: 12px 16px 25px 16px;
        box-sizing: border-box;
    }

        .layout-altausuarios-page .menuMovilAltaUsuariosContenido h2 {
            margin: 15px 0 8px 0;
            padding-bottom: 5px;
            font-size: 16px;
            line-height: 1.3;
            border-bottom: 1px dotted #999;
        }

        .layout-altausuarios-page .menuMovilAltaUsuariosContenido a.labelNivel1 {
            display: block;
            width: 100%;
            box-sizing: border-box;
            padding: 9px 4px;
            text-decoration: none;
            line-height: 1.3;
        }

    .layout-altausuarios-page .celdaMenu {
        width: 0 !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

        .layout-altausuarios-page .celdaMenu > table {
            display: none !important;
        }

    .layout-altausuarios-page .tablaMasterResponsiveAltaUsuarios {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box;
    }

    .layout-altausuarios-page .contenedor {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 8px !important;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    .layout-altausuarios-page img {
        max-width: 100%;
        height: auto;
    }

    .layout-altausuarios-page .pie1,
    .layout-altausuarios-page .pie2 {
        max-width: 100%;
        box-sizing: border-box;
    }

    .layout-altausuarios-page .menuMovilAltaUsuariosImagen {
        width: 100%;
        margin: 15px 0;
        text-align: center;
        box-sizing: border-box;
    }

        .layout-altausuarios-page .menuMovilAltaUsuariosImagen a {
            display: inline-block;
            max-width: 100%;
        }

        .layout-altausuarios-page .menuMovilAltaUsuariosImagen img {
            display: block;
            width: 238px;
            max-width: 100%;
            height: auto;
            margin: 0 auto;
        }


    /* =========================================================
       Index2
    =========================================================*/

    .layout-index2-page .celdaMenu {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
        overflow: visible !important;
        z-index: 1002 !important;
        background: transparent !important;
    }

        .layout-index2-page .celdaMenu > table {
            display: none !important;
        }

    .layout-index2-page .btnMenuMovilIndex2 {
        display: block !important;
        position: absolute !important;
        top: 20px !important;
        left: 6px !important;
        z-index: 1001 !important;
        width: 30px !important;
        height: 28px !important;
        padding: 3px 6px !important;
        border: 0;
        background: #666666 !important;
        cursor: pointer;
    }

    .layout-index2-page .barraMenuIndex2 {
        display: block;
        width: 17px;
        height: 2px;
        margin: 2px 0;
        background: #fff;
    }

    .layout-index2-page .btnMenuMovilIndex2[aria-expanded="true"] {
        display: block !important;
        position: absolute !important;
        top: 20px !important; /* el valor que tenga Index2 */
        left: 6px !important;
        z-index: 1003 !important;
        width: 30px !important;
        height: 28px !important;
        padding: 3px 6px !important;
        border: 0 !important;
        background: #666 !important;
        cursor: pointer;
    }

        .layout-index2-page .btnMenuMovilIndex2[aria-expanded="true"] .barraMenuIndex2 {
            display: none !important;
        }

        .layout-index2-page .btnMenuMovilIndex2[aria-expanded="true"]::before,
        .layout-index2-page .btnMenuMovilIndex2[aria-expanded="true"]::after {
            content: "";
            position: absolute;
            left: 6px;
            top: 13px;
            width: 18px;
            height: 2px;
            background: #ffffff;
        }

        .layout-index2-page .btnMenuMovilIndex2[aria-expanded="true"]::before {
            transform: rotate(45deg);
        }

        .layout-index2-page .btnMenuMovilIndex2[aria-expanded="true"]::after {
            transform: rotate(-45deg);
        }


    .layout-index2-page .menuMovilIndex2 {
        display: block;
        position: absolute;
        top: 98px;
        left: 0;
        z-index: 1000;
        width: 320px;
        max-width: 86vw;
        height: calc(100vh - 98px);
        overflow-y: auto;
        overflow-x: hidden;
        background: #f4f4f4;
        border-right: 1px solid #ccc;
        box-shadow: 3px 0 8px rgba(0, 0, 0, 0.20);
        transform: translateX(-105%);
        visibility: hidden;
        transition: transform 0.25s ease, visibility 0.25s ease;
    }

        .layout-index2-page .menuMovilIndex2.menuCerrado {
            transform: translateX(-105%);
            visibility: hidden;
        }

        .layout-index2-page .menuMovilIndex2.menuAbierto {
            transform: translateX(0);
            visibility: visible;
        }

    .layout-index2-page .menuMovilIndex2Contenido {
        padding: 15px;
        box-sizing: border-box;
    }

        .layout-index2-page .menuMovilIndex2Contenido a {
            display: block;
            padding: 10px 8px;
            color: #333;
            text-decoration: none;
            border-bottom: 1px solid #ddd;
        }

    .layout-index2-page .tituloMenuMovilIndex2 {
        font-weight: bold;
        padding: 8px;
        margin-bottom: 10px;
    }

    .layout-index2-page .tituloSeccionMenuMovilIndex2 {
        font-weight: bold;
        padding: 10px 8px 5px;
    }

    .layout-index2-page .contenedor .tablaMarco > tbody > tr > td > table > tbody > tr {
        display: block !important;
    }

        .layout-index2-page .contenedor .tablaMarco > tbody > tr > td > table > tbody > tr > td.tablaMarco1 {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

    .layout-index2-page .contenedor .tablaMarco > tbody > tr > td > table > tbody > tr > td[width="10"] {
        display: none;
    }
       

    /* =========================================================
   Index3
   ========================================================= */

    .layout-index3-page .celdaMenu {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        overflow: visible !important;
        z-index: 1002 !important;
    }

        .layout-index3-page .celdaMenu > table {
            display: none !important;
        }

    .layout-index3-page .btnMenuMovilIndex3 {
        display: block !important;
        position: absolute !important;
        top: 20px !important;
        left: 6px !important;
        z-index: 1001 !important;
        width: 30px !important;
        height: 28px !important;
        padding: 3px 6px !important;
        border: 0 !important;
        background: #666666 !important;
        cursor:pointer;
    }

    .layout-index3-page .barraMenuIndex3 {
        display: block;
        width: 17px;
        height: 2px;
        margin: 2px 0;
        background: #fff;
    }

    .layout-index3-page .btnMenuMovilIndex3[aria-expanded="true"] {
        display: block !important;
        position: absolute !important;
        top: 20px !important; /* el valor que tenga Index3 */
        left: 6px !important;
        z-index: 1003 !important;
        width: 30px !important;
        height: 28px !important;
        padding: 3px 6px !important;
        border: 0 !important;
        background: #666 !important;
        cursor: pointer;
    }

        .layout-index3-page .btnMenuMovilIndex3[aria-expanded="true"] .barraMenuIndex3 {
            display: none !important;
        }

        .layout-index3-page .btnMenuMovilIndex3[aria-expanded="true"]::before,
        .layout-index3-page .btnMenuMovilIndex3[aria-expanded="true"]::after {
            content: "";
            position: absolute;
            left: 6px;
            top: 13px;
            width: 18px;
            height: 2px;
            background: #ffffff;
        }

        .layout-index3-page .btnMenuMovilIndex3[aria-expanded="true"]::before {
            transform: rotate(45deg);
        }

        .layout-index3-page .btnMenuMovilIndex3[aria-expanded="true"]::after {
            transform: rotate(-45deg);
        }

    .layout-index3-page .menuMovilIndex3 {
        display: block;
        position: absolute;
        top: 98px;
        left: 0;
        z-index: 1000;
        width: 320px;
        max-width: 86vw;
        height: calc(100vh - 98px);
        overflow-y: auto;
        overflow-x: hidden;
        background: #f4f4f4;
        border-right: 1px solid #ccc;
        box-shadow: 3px 0 8px rgba(0, 0, 0, 0.20);
        transform: translateX(-105%);
        visibility: hidden;
        transition: transform 0.25s ease, visibility 0.25s ease;
    }

        .layout-index3-page .menuMovilIndex3.menuCerrado {
            transform: translateX(-105%);
            visibility: hidden;
        }

        .layout-index3-page .menuMovilIndex3.menuAbierto {
            transform: translateX(0);
            visibility: visible;
        }

    /* Contenido */
    .layout-index3-page .menuMovilIndex3Contenido {
        padding: 15px;
        box-sizing: border-box;
    }

        .layout-index3-page .menuMovilIndex3Contenido a {
            display: block;
            padding: 10px 8px;
            color: #333;
            text-decoration: none;
            border-bottom: 1px solid #ddd;
        }

    .layout-index3-page .tituloMenuMovilIndex3 {
        font-weight: bold;
        padding: 8px;
        margin-bottom: 10px;
    }

    .layout-index3-page .tituloSeccionMenuMovilIndex3 {
        font-weight: bold;
        padding: 10px 8px 5px;
    }


    .layout-index3-page .contenedor {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

        .layout-index3-page .contenedor table[width="70%"] {
            width: 100% !important;
            max-width: 100% !important;
        }

            .layout-index3-page .contenedor table[width="70%"] > tbody > tr > td {
                width: 50% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
                overflow-wrap: break-word !important;
            }

            .layout-index3-page .contenedor table[width="70%"] img {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                height: auto !important;
            }

        .layout-index3-page .contenedor .menuizquierdo .texto {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
            white-space: normal !important;
        }

    .layout-index3-page .contenedor .tablaMarco > tbody > tr > td > table > tbody > tr {
        display: block !important;
    }

        .layout-index3-page .contenedor .tablaMarco > tbody > tr > td > table > tbody > tr > td.tablaMarco1 {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        .layout-index3-page .contenedor .tablaMarco > tbody > tr > td > table > tbody > tr > td[width="10"] {
            display: none;
        }


    .layout-index2-page .tablaResponsiveIndex > tbody > tr:nth-child(2),
    .layout-index3-page .tablaResponsiveIndex > tbody > tr:nth-child(2) {
        display: block !important;
        position: relative !important;
        width: 100% !important;
    }


    .layout-index2-page #efactura,
    .layout-index3-page #efactura {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .layout-index2-page #efactura img,
    .layout-index3-page #efactura img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }

    .layout-index2-page .tablaResponsiveIndex > tbody > tr.pieContenedor,
    .layout-index3-page .tablaResponsiveIndex > tbody > tr.pieContenedor {
        display: block !important;
        width: 100% !important;
    }

        .layout-index2-page .tablaResponsiveIndex > tbody > tr.pieContenedor > td,
        .layout-index3-page .tablaResponsiveIndex > tbody > tr.pieContenedor > td {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }



    /* =========================================================
   ESTADÍSTICAS - CONSUMOS
   ========================================================= */

    .layout-master-page .dlTabla {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }


    .layout-master-page .dlTablaCabecera {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: auto !important;
    }

    .layout-master-page .dlMas {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        padding: 2px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

        .layout-master-page .dlMas input[type="image"] {
            display: inline-block !important;
            width: auto !important;
            max-width: none !important;
            height: auto !important;
            visibility: visible !important;
            opacity: 1 !important;
        }

    .layout-master-page .dlColumna1 {
        width: 25% !important;
    }

    .layout-master-page .dlColumna2 {
        width: auto !important;
    }

    .layout-master-page .dlGridView {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* =========================================================
	   ESTADÍSTICAS - CONSUMOS - LUPA Y CONTROLES
	   ========================================================= */

    /* Lupa */
    .layout-master-page .btnLupaConsumos {
        display: block;
        float: right;
        width: 30px;
        height: 30px;
        padding: 0;
        margin: 0 5px 0 0;
        border: 1px solid #999;
        background-color: #f4f4f4;
        cursor: pointer;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 18px;
        line-height: 28px;
        text-align: center;
        color: #555;
    }

        .layout-master-page .btnLupaConsumos:hover,
        .layout-master-page .btnLupaConsumos:focus {
            background-color: #e6e3da;
            outline: 1px solid #229cdf;
        }

    /* Controles propios del gráfico */
    .layout-master-page .consumosGraficoResponsive button,
    .layout-master-page .consumosGraficoResponsive input[type="button"],
    .layout-master-page .consumosGraficoResponsive input[type="submit"] {
        display: inline-block;
    }

    .layout-master-page .consumosGraficoResponsive {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow: hidden;
    }

        .layout-master-page .consumosGraficoResponsive img {
            max-width: 100%;
            height: auto;
        }

    /* VISOR AMPLIADO DEL GRÁFICO */
    .layout-master-page .visorConsumos {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2000;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.75);
        box-sizing: border-box;
    }

        .layout-master-page .visorConsumos.visorConsumosAbierto {
            display: block;
        }

    .layout-master-page .visorConsumosBarra {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2002;
        width: 100%;
        height: 48px;
        background-color: #f4f4f4;
        border-bottom: 1px solid #999;
        box-sizing: border-box;
        text-align: right;
    }

        .layout-master-page .visorConsumosBarra button {
            height: 36px;
            min-width: 36px;
            margin: 6px 3px;
            padding: 0 8px;
            border: 1px solid #999;
            background-color: #ffffff;
            color: #333;
            cursor: pointer;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 16px;
            font-weight: bold;
        }

    .layout-master-page .visorConsumosContenido {
        position: absolute;
        top: 48px;
        left: 0;
        right: 0;
        bottom: 0;
        overflow: auto;
        box-sizing: border-box;
        padding: 20px;
    }

        .layout-master-page .visorConsumosContenido img {
            display: block;
            width: auto;
            height: auto;
            max-width: none !important;
            margin: 0 auto;
        }

    .dlGridView {
        width: 100% !important;
        background-color: #C68A6B !important;
        table-layout: auto !important;
    }



    /* =========================================================
	   CAMBIO DE TITULARIDAD – ANTI-OVERFLOW (sin corte por la derecha)
	   ========================================================= */

    /* Contenedor principal y master: nunca superan el viewport */
    .layout-master-page,
    .layout-master-page .master,
    .layout-master-page form {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

        .layout-master-page .tablaMasterResponsive {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            box-sizing: border-box !important;
            table-layout: fixed !important;
        }

            .layout-master-page .tablaMasterResponsive > tbody,
            .layout-master-page .tablaMasterResponsive > tbody > tr,
            .layout-master-page .tablaMasterResponsive > tbody > tr > td {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }

        .layout-master-page .celdaMenu {
            width: 0 !important;
            min-width: 0 !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        .layout-master-page #efactura,
        .layout-master-page #efactura img,
        .layout-master-page #ctl00_Image1 {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            box-sizing: border-box !important;
        }

        /* Contenedor de contenido de la página */
        .layout-master-page .contenedor {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
            padding: 8px !important;
            box-sizing: border-box !important;
            overflow-x: hidden !important;
        }

            .layout-master-page .contenedor > *,
            .layout-master-page .contenedor table,
            .layout-master-page .contenedor table[style*="width"],
            .layout-master-page .contenedor td[style*="width"] {
                max-width: 100% !important;
                box-sizing: border-box !important;
            }

        /* Todos los bloques del formulario - SOLO layout-master-page
       (no aplicar a Index2, Index3, AltaUsuarios, etc.) */
        .layout-master-page .bloqueSolicitante,
        .layout-master-page .bloqueDatosPersonales,
        .layout-master-page .bloqueLectura,
        .layout-master-page .bloqueDireccionEnvio,
        .layout-master-page .bloqueDatosBancarios,
        .layout-master-page .bloqueComentarios,
        .layout-master-page .tablaMarco {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            overflow-x: hidden !important;
            table-layout: fixed !important;
        }

            .layout-master-page .bloqueSolicitante > tbody > tr > td,
            .layout-master-page .bloqueDatosPersonales > tbody > tr > td,
            .layout-master-page .bloqueLectura > tbody > tr > td,
            .layout-master-page .bloqueDireccionEnvio > tbody > tr > td,
            .layout-master-page .bloqueDatosBancarios > tbody > tr > td,
            .layout-master-page .bloqueComentarios > tbody > tr > td,
            .layout-master-page .tablaMarco > tbody > tr > td {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
                padding: 6px 8px !important;
                overflow-wrap: break-word !important;
                word-break: break-word !important;
            }

            /* Tablas internas - SOLO dentro de los bloques de master */
            .layout-master-page .bloqueSolicitante .tabla,
            .layout-master-page .tablaDatosPersonales,
            .layout-master-page .bloqueLectura .tabla,
            .layout-master-page .bloqueDireccionEnvio .tabla,
            .layout-master-page .bloqueDatosBancarios .tabla,
            .layout-master-page .bloqueComentarios .tabla {
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                table-layout: fixed !important;
                box-sizing: border-box !important;
            }

                /* Etiqueta arriba, control debajo */
                .layout-master-page .tablaDatosPersonales > tbody > tr > td,
                .layout-master-page .bloqueLectura .tabla > tbody > tr > td,
                .layout-master-page .bloqueDireccionEnvio .tabla > tbody > tr > td,
                .layout-master-page .bloqueDatosBancarios .tabla > tbody > tr > td,
                .layout-master-page .bloqueComentarios .tabla > tbody > tr > td,
                .layout-master-page .bloqueSolicitante .tabla > tbody > tr > td {
                    display: block !important;
                    width: 100% !important;
                    max-width: 100% !important;
                    min-width: 0 !important;
                    box-sizing: border-box !important;
                    overflow-wrap: break-word !important;
                    word-break: break-word !important;
                }

            /* Anular anchos fijos en celdas - SOLO master */
            .layout-master-page .bloqueSolicitante td[style*="width"],
            .layout-master-page .bloqueDatosPersonales td[style*="width"],
            .layout-master-page .bloqueLectura td[style*="width"],
            .layout-master-page .bloqueDireccionEnvio td[style*="width"],
            .layout-master-page .bloqueDatosBancarios td[style*="width"],
            .layout-master-page .bloqueComentarios td[style*="width"],
            .layout-master-page .tablaMarco td[style*="width"],
            .layout-master-page .contenedor td[style*="width"] {
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }


        /* Campos de formulario a 100 % */
        .layout-master-page .contenedor input[type="text"],
        .layout-master-page .contenedor input[type="password"],
        .layout-master-page .contenedor select,
        .layout-master-page .contenedor textarea,
        .layout-master-page .contenedor .textbox,
        .layout-master-page .contenedor .textboxCorto,
        .layout-master-page .contenedor .dropdownlist {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
        }

    #ctl00_ContentPlaceHolder1_txtIdcontrato,
    #ctl00_ContentPlaceHolder1_txtRazon,
    #ctl00_ContentPlaceHolder1_txtNIFEmpresa,
    #ctl00_ContentPlaceHolder1_txtNombre,
    #ctl00_ContentPlaceHolder1_txtNIF,
    #ctl00_ContentPlaceHolder1_txtDireccion,
    #ctl00_ContentPlaceHolder1_txtPoblacion,
    #ctl00_ContentPlaceHolder1_txtCP,
    #ctl00_ContentPlaceHolder1_txtTelefono,
    #ctl00_ContentPlaceHolder1_txtEmail,
    #ctl00_ContentPlaceHolder1_txtLectura,
    #ctl00_ContentPlaceHolder1_txtTitularEnvio,
    #ctl00_ContentPlaceHolder1_txtDireccionEnvio,
    #ctl00_ContentPlaceHolder1_txtPoblacionEnvio,
    #ctl00_ContentPlaceHolder1_txtCPEnvio,
    #ctl00_ContentPlaceHolder1_txtTitular,
    #ctl00_ContentPlaceHolder1_txtNIFTitular,
    #ctl00_ContentPlaceHolder1_txtComentario {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    #ctl00_ContentPlaceHolder1_ddlTipoDocuAbonado,
    #ctl00_ContentPlaceHolder1_ddlTipoDocuRepresentante,
    #ctl00_ContentPlaceHolder1_ddlTipoDocuTitular {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 6px;
        box-sizing: border-box !important;
    }

    /* Cuenta bancaria */
    #ctl00_ContentPlaceHolder1_txtIBAN,
    #ctl00_ContentPlaceHolder1_txtBanco,
    #ctl00_ContentPlaceHolder1_txtSucursal,
    #ctl00_ContentPlaceHolder1_txtDC,
    #ctl00_ContentPlaceHolder1_txtNumero {
        display: inline-block !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 2px 4px 2px 0 !important;
        box-sizing: border-box !important;
    }

    #ctl00_ContentPlaceHolder1_txtIBAN {
        width: 58px !important;
    }

    #ctl00_ContentPlaceHolder1_txtBanco,
    #ctl00_ContentPlaceHolder1_txtSucursal {
        width: 58px !important;
    }

    #ctl00_ContentPlaceHolder1_txtDC {
        width: 36px !important;
    }

    #ctl00_ContentPlaceHolder1_txtNumero {
        width: 130px !important;
        max-width: 100% !important;
    }

    /* Texto que no se corta */
    .layout-master-page .contenedor label,
    .layout-master-page .contenedor .textoColor,
    .layout-master-page .contenedor span,
    .layout-master-page .contenedor h1,
    .layout-master-page .contenedor h2,
    .layout-master-page .contenedor td {
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #ctl00_ContentPlaceHolder1_lbUstSaliente,
    #ctl00_ContentPlaceHolder1_lbUstEntrante {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        box-sizing: border-box;
        margin-bottom: 4px;
    }

    #ctl00_ContentPlaceHolder1_btnBuscar {
        width: auto !important;
        max-width: 100% !important;
        box-sizing: border-box;
        margin-top: 6px;
    }

    .botonCentrado {
        text-align: center !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

        .botonCentrado .boton {
            display: inline-block;
            margin: 6px 8px;
            min-width: 110px;
            max-width: 100%;
            box-sizing: border-box;
        }

    .campoobligatorio {
        padding: 8px 4px !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }

    .layout-master-page .contenedor [style*="width"] {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .layout-master-page .contenedor,
    .layout-master-page .contenedor table,
    .layout-master-page .contenedor td,
    .layout-master-page .contenedor span,
    .layout-master-page .contenedor label,
    .layout-master-page .contenedor p,
    .layout-master-page .contenedor li,
    .layout-master-page .contenedor ul,
    .layout-master-page .contenedor .textoRequisitos,
    .layout-master-page .contenedor .textoRequisitos * {
        max-width: 100% !important;
        width: auto !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        white-space: normal !important;
    }

        /* Las tablas internas no pueden imponer un ancho mínimo por el contenido */
        .layout-master-page .contenedor table {
            table-layout: fixed !important;
            width: 100% !important;
        }

        /* El panel de requisitos (asp:Panel se renderiza como div) */
        .layout-master-page .contenedor #ctl00_ContentPlaceHolder1_pnRequisitos,
        .layout-master-page .contenedor [id*="pnRequisitos"] {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            overflow: visible !important;
            box-sizing: border-box !important;
        }


    /* =========================================================
   ESTADÍSTICAS - FACTURAS
   ========================================================= */
    .facturasGridResponsive {
        overflow-x: auto !important;
        overflow-y: hidden;
        max-width: 100%;
    }

    /* =========================================================
	   ESTADÍSTICAS - FACTURAS - LUPA Y CONTROLES
	   ========================================================= */

    /* Lupa */
    .layout-master-page .btnLupaFacturas {
        display: block;
        float: right;
        width: 30px;
        height: 30px;
        padding: 0;
        margin: 0 5px 0 0;
        border: 1px solid #999;
        background-color: #f4f4f4;
        cursor: pointer;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 18px;
        line-height: 28px;
        text-align: center;
        color: #555;
    }

        .layout-master-page .btnLupaFacturas:hover,
        .layout-master-page .btnLupaFacturas:focus {
            background-color: #e6e3da;
            outline: 1px solid #229cdf;
        }

    /* Controles propios del gráfico */
    .layout-master-page .facturasGraficoResponsive button,
    .layout-master-page .facturasGraficoResponsive input[type="button"],
    .layout-master-page .facturasGraficoResponsive input[type="submit"] {
        display: inline-block;
    }

    .layout-master-page .facturasGraficoResponsive {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow: hidden;
    }

        .layout-master-page .facturasGraficoResponsive img {
            max-width: 100%;
            height: auto;
        }

    /* VISOR AMPLIADO DEL GRÁFICO */
    .layout-master-page .visorFacturas {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2000;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.75);
        box-sizing: border-box;
    }

        .layout-master-page .visorFacturas.visorFacturasAbierto {
            display: block;
        }

    .layout-master-page .visorFacturasBarra {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2002;
        width: 100%;
        height: 48px;
        background-color: #f4f4f4;
        border-bottom: 1px solid #999;
        box-sizing: border-box;
        text-align: right;
    }

        .layout-master-page .visorFacturasBarra button {
            height: 36px;
            min-width: 36px;
            margin: 6px 3px;
            padding: 0 8px;
            border: 1px solid #999;
            background-color: #ffffff;
            color: #333;
            cursor: pointer;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 16px;
            font-weight: bold;
        }

    .layout-master-page .visorFacturasContenido {
        position: absolute;
        top: 48px;
        left: 0;
        right: 0;
        bottom: 0;
        overflow: auto;
        box-sizing: border-box;
        padding: 20px;
    }

        .layout-master-page .visorFacturasContenido img {
            display: block;
            width: auto;
            height: auto;
            max-width: none !important;
            margin: 0 auto;
        }


    /* =========================================================
   ESTADÍSTICAS - VERTIDOS
   ========================================================= */

    .vertidosGridResponsive {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Reducir la columna del botón + en Vertidos */
    .layout-master-page .dlTabla .dlMas,
    .layout-master-page .dlTablaCabecera .dlMas {
        width: 15px !important;
        min-width: 15px !important;
        max-width: 15px !important;
        padding: 0 1px !important;
    }

    /* Colapsar completamente la celda vacía de la fila del detalle */
    .layout-master-page .dlTabla tr:nth-child(2) > td.dlMas {
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        padding: 0 !important;
        border: none !important;
        font-size: 0 !important;
        line-height: 0 !important;
        overflow: hidden !important;
    }

    /* Que el GridView empiece lo más a la izquierda posible */
    .layout-master-page .dlTabla tr:nth-child(2) > td.dlCeldaGridView {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .vertidosGridResponsive .dlGridView {
        min-width: 480px !important;
        table-layout: fixed !important;
    }

        .vertidosGridResponsive .dlGridView th,
        .vertidosGridResponsive .dlGridView td {
            white-space: nowrap;
            font-size: 11px;
            padding: 4px 5px !important;
        }


    /* =========================================================
   LoginWebConsorcio.aspx
   ========================================================= */

    body.layout-login-web-consorcio-page {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    /* Tabla exterior */
    .layout-login-web-consorcio-page .tabla-login-web-consorcio {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        table-layout: fixed !important;
        box-sizing: border-box !important;
    }

        .layout-login-web-consorcio-page .tabla-login-web-consorcio > tbody {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
        }

            /* Cada fila de la tabla exterior */
            .layout-login-web-consorcio-page .tabla-login-web-consorcio > tbody > tr {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }

                /* Celdas de la tabla exterior, sin afectar a las internas */
                .layout-login-web-consorcio-page .tabla-login-web-consorcio > tbody > tr > td {
                    display: block !important;
                    width: 100% !important;
                    max-width: 100% !important;
                    min-width: 0 !important;
                    padding: 0 !important;
                    margin: 0 !important;
                    box-sizing: border-box !important;
                }

                /* Eliminar la columna izquierda vacía */
                .layout-login-web-consorcio-page .tabla-login-web-consorcio > tbody > tr > .celdaMenu {
                    display: none !important;
                }

    /* Cabecera */
    .layout-login-web-consorcio-page .loginCeldaLogo {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden;
    }

    /* Imagen de cabecera */
    .layout-login-web-consorcio-page .loginBordeIzq {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden;
    }

        .layout-login-web-consorcio-page .loginBordeIzq img {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            margin: 0 auto !important;
        }

    /* Contenedor del formulario */
    .layout-login-web-consorcio-page .contenedor {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 8px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* Tabla que contiene el título y el formulario */
    .layout-login-web-consorcio-page .tabla-login-datos {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        table-layout: fixed !important;
        box-sizing: border-box !important;
    }

    /* Marco de Datos Usuario */
    .layout-login-web-consorcio-page .tablaMarco {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        table-layout: fixed !important;
        box-sizing: border-box !important;
    }

        /* Tablas internas del formulario */
        .layout-login-web-consorcio-page .tablaMarco table.tabla {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            table-layout: fixed !important;
            box-sizing: border-box !important;
        }

            /* Mantener las etiquetas y los campos en la misma fila */
            .layout-login-web-consorcio-page .tablaMarco table.tabla td {
                box-sizing: border-box !important;
                padding: 3px 4px !important;
                vertical-align: middle !important;
                overflow-wrap: normal !important;
                word-break: normal !important;
            }

                /* Columna de las etiquetas */
                .layout-login-web-consorcio-page .tablaMarco table.tabla td:first-child {
                    width: 180px !important;
                }

    /* Campos de usuario y contraseña */
    .layout-login-web-consorcio-page .textboxCorto {
        display: inline-block !important;
        width: 180px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    /* Botón */
    .layout-login-web-consorcio-page .botonCentrado {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px 0 !important;
        box-sizing: border-box !important;
    }

    .layout-login-web-consorcio-page .boton {
        display: inline-block !important;
        min-width: 100px;
        max-width: 100%;
        box-sizing: border-box !important;
    }

    /* Pie de página */
    .layout-login-web-consorcio-page .pie1,
    .layout-login-web-consorcio-page .pie2 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 8px 10px !important;
        text-align: center !important;
        font-size: 0.85em;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
    }


    /* Mantenemos la estructura de tabla pero compactamos */
    .layout-login-web-consorcio-page .tablaMarco tr {
        display: table-row !important;
    }

    .layout-login-web-consorcio-page .tablaMarco td {
        display: table-cell !important;
        vertical-align: middle !important;
        padding: 4px 0 !important;
        box-sizing: border-box !important;
    }

        /* Celda de la etiqueta (Usuario: / Contraseña:) */
        .layout-login-web-consorcio-page .tablaMarco td:first-child {
            width: 180px !important;
            min-width: 180px !important;
            max-width: 180px !important;
            white-space: nowrap !important;
            padding-right: 8px !important;
            text-align: left !important;
        }

        /* Celda del campo de texto */
        .layout-login-web-consorcio-page .tablaMarco td:last-child {
            width: auto !important;
            padding-left: 0 !important;
        }

    /* Campos de texto - alineados a la izquierda y cerca de la etiqueta */
    .layout-login-web-consorcio-page .textboxCorto {
        width: 180px !important;
        max-width: 180px !important;
        display: inline-block !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }


    /* =========================================================
       LoginIntranet.aspx  (Conexión usuario externo)
       ========================================================= */

    body.layout-login-intranet-page {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    /* Tabla exterior */
    .layout-login-intranet-page .tabla-login-intranet {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        table-layout: fixed !important;
        box-sizing: border-box !important;
    }

        .layout-login-intranet-page .tabla-login-intranet > tbody {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
        }

            .layout-login-intranet-page .tabla-login-intranet > tbody > tr {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }

                .layout-login-intranet-page .tabla-login-intranet > tbody > tr > td {
                    display: block !important;
                    width: 100% !important;
                    max-width: 100% !important;
                    min-width: 0 !important;
                    padding: 0 !important;
                    margin: 0 !important;
                    box-sizing: border-box !important;
                }

    /* Menú de Personación / Suscripción debajo de la imagen */
    .layout-login-intranet-page .celdaMenu {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        background-color: transparent !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

        /* Contenido del menú */
        .layout-login-intranet-page .celdaMenu table {
            width: 100% !important;
            max-width: 100% !important;
            margin: 0 !important;
            border-collapse: collapse !important;
            border-spacing: 0 !important;
        }

            .layout-login-intranet-page .celdaMenu table tr {
                width: 100% !important;
            }

            .layout-login-intranet-page .celdaMenu table td {
                padding: 3px 4px !important;
                vertical-align: middle !important;
            }

                .layout-login-intranet-page .celdaMenu table td:first-child {
                    width: 22px !important;
                    padding-left: 4px !important;
                    padding-right: 4px !important;
                }

                .layout-login-intranet-page .celdaMenu table td:last-child {
                    width: auto !important;
                    padding-left: 2px !important;
                }

        .layout-login-intranet-page .celdaMenu img {
            display: block !important;
            margin: 0 !important;
            vertical-align: middle !important;
        }

        .layout-login-intranet-page .celdaMenu a,
        .layout-login-intranet-page .celdaMenu .textoColor {
            white-space: nowrap !important;
        }


    /* Orden en móvil: imagen - menú - formulario */
    .layout-login-intranet-page .tabla-login-intranet > tbody > tr {
        display: flex !important;
        flex-direction: column !important;
    }

        .layout-login-intranet-page .tabla-login-intranet > tbody > tr > td.loginCeldaLogo {
            order: 1 !important;
        }

        .layout-login-intranet-page .tabla-login-intranet > tbody > tr > td.celdaMenu {
            order: 2 !important;
        }

        .layout-login-intranet-page .tabla-login-intranet > tbody > tr > td.contenedor {
            order: 3 !important;
        }

    /* Cabecera / logo */
    .layout-login-intranet-page .loginCeldaLogo {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden;
    }

    /* Imagen de atención al cliente */
    .layout-login-intranet-page #efactura {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden;
        display: block !important;
    }

        .layout-login-intranet-page #efactura img,
        .layout-login-intranet-page #efactura .logoefactura {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            margin: 0 auto !important;
        }

    /* Contenedor del formulario */
    .layout-login-intranet-page .contenedor {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 10px 8px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* Marco del formulario */
    .layout-login-intranet-page .tablaMarco {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        table-layout: fixed !important;
        box-sizing: border-box !important;
    }

        .layout-login-intranet-page .tablaMarco > tbody > tr > td {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
            padding: 8px !important;
        }

        /* Tabla interna del formulario */
        .layout-login-intranet-page .tablaMarco table.tabla {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            table-layout: fixed !important;
            box-sizing: border-box !important;
        }

            .layout-login-intranet-page .tablaMarco table.tabla > tbody > tr {
                display: block !important;
                width: 100% !important;
                margin-bottom: 6px;
            }

                .layout-login-intranet-page .tablaMarco table.tabla > tbody > tr > td {
                    display: block !important;
                    width: 100% !important;
                    max-width: 100% !important;
                    box-sizing: border-box !important;
                    padding: 4px 0 !important;
                    text-align: left !important;
                }

        /* Títulos de sección a ancho completo */
        .layout-login-intranet-page .tablaMarco .titulo,
        .layout-login-intranet-page .tablaMarco .subtituloBordeAbajo {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        .layout-login-intranet-page .tablaMarco h2 {
            font-size: 15px !important;
            margin: 0 0 8px 0 !important;
            padding: 0 !important;
        }

    /* Campos de texto a 100 % con buen tamaño táctil */
    .layout-login-intranet-page .textboxCorto,
    .layout-login-intranet-page input[type="text"],
    .layout-login-intranet-page input[type="password"] {
        display: inline-block !important;
        width: 100% !important;
        max-width: 260px !important;
        min-width: 0 !important;
        min-height: 25px !important;
        height: 25px !important;
        padding: 4px 8px !important;
        font-size: 13px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }

    /* Botón centrado y compacto */
    .layout-login-intranet-page .boton {
        display: block !important;
        width: auto !important;
        max-width: 160px !important;
        min-height: 32px !important;
        height: 32px !important;
        margin: 10px auto !important;
        padding: 4px 14px !important;
        font-size: 13px !important;
        box-sizing: border-box !important;
        text-align: center !important;
        line-height: 1.2 !important;
    }

    /* GridView de usuarios: scroll horizontal si hace falta */
    .layout-login-intranet-page .dlCeldaGridView {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box !important;
        padding: 0 !important;
    }

    .layout-login-intranet-page .dlGridView {
        min-width: 480px !important;
        width: 100% !important;
        max-width: none !important;
        table-layout: auto !important;
    }

        .layout-login-intranet-page .dlGridView th,
        .layout-login-intranet-page .dlGridView td {
            white-space: nowrap;
            font-size: 12px;
            padding: 6px 8px !important;
        }

    /* Pie de página */
    .layout-login-intranet-page .pie1,
    .layout-login-intranet-page .pie2 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px 12px !important;
        text-align: center !important;
        font-size: 0.85em;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }

    /* Menú lateral: flechas y textos más juntos */
    .layout-login-intranet-page .celdaMenu table {
        border-collapse: collapse !important;
        border-spacing: 0 !important;
    }

        .layout-login-intranet-page .celdaMenu table td {
            padding: 2px 2px !important;
            vertical-align: middle !important;
        }

            /* Celda de la flecha: estrecha y sin espacio extra */
            .layout-login-intranet-page .celdaMenu table td:first-child {
                width: 18px !important;
                padding-right: 12px !important;
                padding-left: 4px !important;
            }

            /* Celda del texto: pegada a la flecha */
            .layout-login-intranet-page .celdaMenu table td:last-child {
                padding-left: 2px !important;
            }

    .layout-login-intranet-page .celdaMenu img {
        display: block;
        margin: 0;
        vertical-align: middle;
    }

    .layout-login-intranet-page .celdaMenu a,
    .layout-login-intranet-page .celdaMenu .textoColor {
        white-space: nowrap;
    }


    /* =========================================================
   ALTA NUEVOS USUARIOS - MENÚ MÓVIL
   ========================================================= */
    .layout-altausuarios-page .btnMenuMovilAltaUsuarios {
        display: block !important;
        position: absolute;
        top: 60px;
        left: 6px;
        z-index: 1001;
        width: 30px;
        height: 28px;
        padding: 3px 6px;
        border: 0;
        background: #666666;
        cursor: pointer;
    }

    .layout-altausuarios-page .barraMenuAltaUsuarios {
        display: block;
        width: 17px;
        height: 2px;
        margin: 2px 0;
        background: #fff;
    }

    .layout-altausuarios-page #menuMovilAltaUsuarios {
        display: block !important;
        position: absolute;
        top: 98px;
        left: 0;
        z-index: 1000;
        width: 320px;
        max-width: 86vw;
        height: calc(100vh - 98px);
        overflow-y: auto;
        overflow-x: hidden;
        background: #f4f4f4;
        border-right: 1px solid #ccc;
        box-shadow: 3px 0 8px rgba(0, 0, 0, 0.20);
        transform: translateX(-105%);
        transition: transform 0.25s ease;
    }

        .layout-altausuarios-page #menuMovilAltaUsuarios.menuCerrado {
            transform: translateX(-105%);
        }

        .layout-altausuarios-page #menuMovilAltaUsuarios.menuAbierto {
            transform: translateX(0);
        }

    .layout-altausuarios-page .menuMovilAltaUsuariosContenido {
        padding: 12px 16px 25px 16px;
        box-sizing: border-box;
    }

        .layout-altausuarios-page .menuMovilAltaUsuariosContenido h2 {
            margin: 15px 0 8px 0;
            padding-bottom: 5px;
            font-size: 16px;
            line-height: 1.3;
            border-bottom: 1px dotted #999;
        }

        .layout-altausuarios-page .menuMovilAltaUsuariosContenido a.labelNivel1 {
            display: block;
            width: 100%;
            box-sizing: border-box;
            padding: 9px 4px;
            text-decoration: none;
            line-height: 1.3;
        }

    /* Menú lateral: ocultar por completo (libera el espacio izquierdo) */
    .layout-altausuarios-page .celdaMenu {
        display: none !important; /* clave: no uses width: none */
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
        overflow: hidden !important;
    }

        .layout-altausuarios-page .celdaMenu > table {
            display: none !important;
        }

    /* Tabla master en bloque contenido al 100 % */
    .layout-altausuarios-page .tablaMasterResponsiveAltaUsuarios {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

        .layout-altausuarios-page .tablaMasterResponsiveAltaUsuarios > tbody,
        .layout-altausuarios-page .tablaMasterResponsiveAltaUsuarios > tbody > tr,
        .layout-altausuarios-page .tablaMasterResponsiveAltaUsuarios > tbody > tr > td {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

    .layout-altausuarios-page .contenedor {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 8px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .layout-altausuarios-page img {
        max-width: 100%;
        height: auto;
    }

    /* Pie de página: 50 % / 50 % */
    .layout-altausuarios-page .pie1,
    .layout-altausuarios-page .pie2 {
        display: table-cell !important;
        width: 50% !important;
        max-width: 50% !important;
        box-sizing: border-box !important;
        padding: 10px 12px !important;
        text-align: center !important;
        vertical-align: middle !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        font-size: 0.85em;
    }

    .layout-altausuarios-page .menuMovilAltaUsuariosImagen {
        width: 100%;
        margin: 15px 0;
        text-align: center;
        box-sizing: border-box;
    }

        .layout-altausuarios-page .menuMovilAltaUsuariosImagen a {
            display: inline-block;
            max-width: 100%;
        }

        .layout-altausuarios-page .menuMovilAltaUsuariosImagen img {
            display: block;
            width: 238px;
            max-width: 100%;
            height: auto;
            margin: 0 auto;
        }

    /* =========================================================
   AltaNuevosUsuariosPerfil.aspx – contenido del perfil
   ========================================================= */
    .layout-altausuarios-page .contenedor .tabla,
    .layout-altausuarios-page .contenedor table.tabla {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: auto !important;
        box-sizing: border-box !important;
    }

    .layout-altausuarios-page .tablaMarco {
        display: table !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 8px 0 !important;
        table-layout: auto !important;
        box-sizing: border-box !important;
        border-collapse: collapse !important;
        overflow: visible !important;
    }

        .layout-altausuarios-page .tablaMarco > tbody,
        .layout-altausuarios-page .tablaMarco > tbody > tr {
            display: table-row-group !important;
            width: 100% !important;
        }

            .layout-altausuarios-page .tablaMarco > tbody > tr > td {
                display: table-cell !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                padding: 12px !important;
                box-sizing: border-box !important;
                overflow-wrap: break-word !important;
                word-break: normal !important;
                white-space: normal !important;
            }

        .layout-altausuarios-page .tablaMarco table.tabla {
            display: table !important;
            width: 100% !important;
            max-width: 100% !important;
            table-layout: auto !important;
            box-sizing: border-box !important;
        }

            .layout-altausuarios-page .tablaMarco table.tabla > tbody > tr {
                display: table-row !important;
            }

                .layout-altausuarios-page .tablaMarco table.tabla > tbody > tr > td {
                    display: table-cell !important;
                    width: 100% !important;
                    max-width: 100% !important;
                    padding: 6px 4px !important;
                    box-sizing: border-box !important;
                    overflow-wrap: break-word !important;
                    word-break: normal !important;
                    white-space: normal !important;
                    vertical-align: top !important;
                }

        .layout-altausuarios-page .titulo h1,
        .layout-altausuarios-page .tablaMarco h2 {
            font-size: 16px !important;
            line-height: 1.35 !important;
            margin: 0 0 8px 0 !important;
            white-space: normal !important;
            overflow-wrap: break-word !important;
            word-break: normal !important;
        }

    .layout-altausuarios-page .contenido,
    .layout-altausuarios-page label,
    .layout-altausuarios-page span {
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .layout-altausuarios-page input[type="radio"] {
        margin-right: 6px;
        vertical-align: middle;
    }

    .layout-altausuarios-page .tablaMarco label,
    .layout-altausuarios-page .tablaMarco .textoColor {
        display: inline !important;
        white-space: normal !important;
        word-break: normal !important;
    }

    /* PDFs apilados (texto completo legible) */
    .layout-altausuarios-page .contenedor table[width="100%"] {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: auto !important;
    }

        .layout-altausuarios-page .contenedor table[width="100%"] > tbody,
        .layout-altausuarios-page .contenedor table[width="100%"] > tbody > tr {
            display: block !important;
            width: 100% !important;
        }

        .layout-altausuarios-page .contenedor table[width="100%"] td {
            display: block !important;
            width: 100% !important;
            text-align: center !important;
            padding: 10px 8px !important;
            font-size: 13px !important;
            overflow-wrap: break-word !important;
            word-break: normal !important;
            white-space: normal !important;
            box-sizing: border-box !important;
        }

        .layout-altausuarios-page .contenedor table[width="100%"] img {
            max-width: 48px;
            height: auto;
            display: block;
            margin: 0 auto 4px auto;
        }

    /* Tablas padre a 100 % */
    .layout-altausuarios-page .contenedor > table,
    .layout-altausuarios-page .contenedor > table > tbody,
    .layout-altausuarios-page .contenedor > table > tbody > tr,
    .layout-altausuarios-page .contenedor > table > tbody > tr > td {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Botón Siguiente */
    .layout-altausuarios-page .celdaboton {
        text-align: center !important;
        padding: 10px 0 !important;
    }

        .layout-altausuarios-page .celdaboton .boton {
            display: inline-block !important;
            min-height: 30px !important;
            padding: 5px 10px !important;
            font-size: 12px !important;
            box-sizing: border-box !important;
            line-height: 1.3 !important;
        }


    /* =========================================================
       Formularios Alta (AtCliente, Domestico, etc.)
       Filas de 4 columnas -> etiqueta + campo apilados
       ========================================================= */

    .layout-altausuarios-page .tablaMarco table.tabla > tbody > tr > td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 4px 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    .layout-altausuarios-page .tablaMarco .textbox,
    .layout-altausuarios-page .tablaMarco .textboxCorto,
    .layout-altausuarios-page .tablaMarco .dropdownlist,
    .layout-altausuarios-page .tablaMarco input[type="text"],
    .layout-altausuarios-page .tablaMarco input[type="password"],
    .layout-altausuarios-page .tablaMarco select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 28px !important;
        padding: 4px 8px !important;
        font-size: 12px !important;
        box-sizing: border-box !important;
    }

        .layout-altausuarios-page .tablaMarco input[style*="width"],
        .layout-altausuarios-page .tablaMarco select[style*="width"] {
            width: 100% !important;
            max-width: 100% !important;
        }

    /* Tooltips: no desbordar en movil */
    .layout-altausuarios-page .tooltip-custom .tooltiptext,
    .layout-altausuarios-page .tooltip-custom .tooltiptext-with-image {
        width: min(200px, 75vw) !important;
        max-width: 75vw !important;
        left: 0 !important;
        margin-left: 0 !important;
        box-sizing: border-box !important;
        font-size: 12px !important;
    }

    .tooltip-custom .tooltiptext-with-image {
        text-align: left;
    }

        .layout-altausuarios-page .tooltip-custom .tooltiptext img {
            max-width: 100% !important;
            height: auto !important;
        }

    .layout-altausuarios-page .error,
    .layout-altausuarios-page .Error,
    .layout-altausuarios-page .campoobligatorio {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        box-sizing: border-box !important;
    }

    .layout-altausuarios-page .titulo h1 {
        font-size: 15px !important;
        line-height: 1.35 !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    /* Botones mas compactos */
    .layout-altausuarios-page .celdaboton .boton,
    .layout-altausuarios-page .boton {
        display: inline-block !important;
        min-height: 30px !important;
        padding: 5px 14px !important;
        font-size: 13px !important;
        margin: 4px 6px !important;
        line-height: 1.3 !important;
        box-sizing: border-box !important;
    }

    /* Clave y Numero de cliente: la mitad de ancho */
    .layout-altausuarios-page .tablaMarco input[id*="tbClave"],
    .layout-altausuarios-page .tablaMarco input[name*="tbClave"],
    .layout-altausuarios-page .tablaMarco input[id*="tbConClave"],
    .layout-altausuarios-page .tablaMarco input[name*="tbConClave"],
    .layout-altausuarios-page .tablaMarco input[id*="tbDigitosCuenta"],
    .layout-altausuarios-page .tablaMarco input[name*="tbDigitosCuenta"],
    .layout-altausuarios-page .tablaMarco input[id*="tbTelefono"],
    .layout-altausuarios-page .tablaMarco input[name*="tbTelefono"],
    .layout-altausuarios-page .tablaMarco input[id*="tbTelefono2"],
    .layout-altausuarios-page .tablaMarco input[name*="tbTelefono2"],
    .layout-altausuarios-page .tablaMarco input[id*="tb4digitos"],
    .layout-altausuarios-page .tablaMarco input[name*="tb4digitos"] {
        width: 50% !important;
        max-width: 150px !important;
        min-width: 0 !important;
    }


    .layout-altausuarios-page .tablaMarco input[id*="tbNombreyApe"],
    .layout-altausuarios-page .tablaMarco input[name*="tbNombreyApe"],
    .layout-altausuarios-page .tablaMarco input[id*="tbApellido1"],
    .layout-altausuarios-page .tablaMarco input[name*="tbApellido1"],
    .layout-altausuarios-page .tablaMarco input[id*="tbApellido2"],
    .layout-altausuarios-page .tablaMarco input[name*="tbApellido2"],
    .layout-altausuarios-page .tablaMarco input[id*="tbDomicilio"],
    .layout-altausuarios-page .tablaMarco input[name*="tbDomicilio"],
    .layout-altausuarios-page .tablaMarco input[id*="tbMail"],
    .layout-altausuarios-page .tablaMarco input[name*="tbMail"],
    .layout-altausuarios-page .tablaMarco input[id*="tbDirenvio"],
    .layout-altausuarios-page .tablaMarco input[name*="tbDirenvio"],
    .layout-altausuarios-page .tablaMarco input[id*="tbCodigo"],
    .layout-altausuarios-page .tablaMarco input[name*="tbCodigo"],
    .layout-altausuarios-page .tablaMarco input[id*="tbRazonSocial"],
    .layout-altausuarios-page .tablaMarco input[name*="tbRazonSocial"],
    .layout-altausuarios-page .tablaMarco input[id*="tbCif"],
    .layout-altausuarios-page .tablaMarco input[name*="tbCif"] {
        width: 90% !important;
        max-width: 300px !important;
        min-width: 0 !important;
    }

    .layout-altausuarios-page .tablaMarco input[id*="tbDni"],
    .layout-altausuarios-page .tablaMarco input[name*="tbDni"],
    .layout-altausuarios-page .tablaMarco select[id*="ddlTipoDocu"],
    .layout-altausuarios-page .tablaMarco select[name*="ddlTipoDocu"],
    .layout-altausuarios-page .tablaMarco select[id*="Idioma"],
    .layout-altausuarios-page .tablaMarco select[name*="Idioma"],
    .layout-altausuarios-page .tablaMarco select[id*="ddlFormato"],
    .layout-altausuarios-page .tablaMarco select[name*="ddlFormato"] {
        display: block !important;
        width: 50% !important;
        max-width: 150px !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .layout-altausuarios-page .tablaMarco select[id*="ddlCanal"],
    .layout-altausuarios-page .tablaMarco select[name*="ddlCanal"],
    .layout-altausuarios-page .tablaMarco input[id*="tbNAbonado"],
    .layout-altausuarios-page .tablaMarco input[name*="tbNAbonado"],
    .layout-altausuarios-page .tablaMarco input[id*="tbContacto"],
    .layout-altausuarios-page .tablaMarco input[name*="tbContacto"] {
        display: block !important;
        width: 75% !important;
        max-width: 180px !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
   
    .layout-altausuarios-page .contenedor .tablaMarco,
    .layout-altausuarios-page .contenedor .tablaMarco1 {
        border-right: 0 !important;
    }

    /* DNI: desplegable y caja en otra línea */
    .layout-altausuarios-page .tablaMarco select[id$="ddlTipoDocu"] {
        display: block !important;
        width: 150px !important;
        max-width: 150px !important;
        margin-bottom: 6px !important;
    }

    /* Caja de texto del DNI */
    .layout-altausuarios-page .tablaMarco input[id$="tbDni"] {
        display: inline-block !important; /* Permite que el asterisco suba a su lado */
        clear: left !important; /* Fuerza a que empiece en una línea nueva debajo del select */
        float: left !important; /* Lo alinea perfectamente a la izquierda con el select */
        width: 150px !important; /* Mismo ancho exacto que el desplegable */
        max-width: 150px !important;
        margin-top: 0 !important;
    }

        /* El asterisco flotando al lado */
        /* Este selector busca el texto o el contenedor del asterisco que va justo después del input */
        .layout-altausuarios-page .tablaMarco input[id$="tbDni"] + span {
            display: inline-block !important;
            float: left !important; /* Se pega inmediatamente a la derecha del input flotado */
            margin-left: 6px !important; /* Separación horizontal con la caja de texto */
            line-height: 24px !important; /* Ajusta esto según el alto del input para centrar el asterisco verticalmente */
            color: red !important;
        }




    /* Abonado: reservar espacio para el asterisco */
    .layout-altausuarios-page .tablaMarco input[id$="tbMail"] {
        display: inline-block !important;
        width: calc(100% - 20px) !important;
        max-width: 295px !important;
        vertical-align: middle !important;
    }

    .layout-altausuarios-page .tablaMarco input[id$="tbDirenvio"] {
        display: inline-block !important;
        width: calc(100% - 20px) !important;
        max-width: 300px !important;
        vertical-align: middle !important;
    }

    .layout-altausuarios-page .tablaMarco input[id$="tbContacto"],
    .layout-altausuarios-page .tablaMarco input[id$="tbNAbonado"] {
        display: inline-block !important;
        width: calc(100% - 20px) !important;
        max-width: 180px !important;
        vertical-align: middle !important;
    }


      /* Mantener el asterisco junto a su caja */
    .layout-altausuarios-page .tablaMarco input[id$="tbMail"] + span,
    .layout-altausuarios-page .tablaMarco input[id$="tbDirenvio"] + span,
    .layout-altausuarios-page .tablaMarco input[id$="tbContacto"] + span,
    .layout-altausuarios-page .tablaMarco input[id$="tbNAbonado"] + span {
        display: inline !important;
        margin-left: 3px !important;
    }


    .layout-altausuarios-page .tablaMarco.bloqueFacturacion table.tabla,
    .layout-altausuarios-page .tablaMarco.bloqueFacturacion table.tabla > tbody,
    .layout-altausuarios-page .tablaMarco.bloqueFacturacion table.tabla > tbody > tr {
        display: block !important;
        width: 100% !important;        
    }

        .layout-altausuarios-page .tablaMarco.bloqueFacturacion table.tabla > tbody > tr > td {
            display: block !important;
            width: 100% !important;
            height: auto !important;
            padding: 6px 0 !important;
            box-sizing: border-box !important;
        }


    /* =========================================================
       Formulario CambioTitularSalienteFront
       ========================================================= */

    body.pagina-cambio-titularidad .master,
    body.pagina-cambio-titularidad .contenedor {
        overflow-x: hidden !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

        body.pagina-cambio-titularidad .contenedor td,
        body.pagina-cambio-titularidad .contenedor th {
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            overflow-wrap: break-word !important;
            word-break: break-word !important;
            white-space: normal !important;
        }

    body.pagina-cambio-titularidad #ctl00_ContentPlaceHolder1_lbTexto {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        white-space: normal !important;
    }

    /* Cuenta bancaria */
    body.pagina-cambio-titularidad
    .bloqueDatosBancarios {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

        body.pagina-cambio-titularidad
        .bloqueDatosBancarios .campo-cuenta-wrap {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
            overflow: visible !important;
        }

    /* Comentarios */
    body.pagina-cambio-titularidad
    #ctl00_ContentPlaceHolder1_txtComentario {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }


}
