@charset "UTF-8";
/* CSS Document */

html, 
html * {
	margin: 0;
    box-sizing: border-box;
}

header {
	margin-top: 0px;
	padding: 5px;
	background-color: #2294B5;
    width: 100%;
    height: auto;
}
footer {
	padding: 30px;
	background-color: #2294B5;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #EEE;
    text-decoration: none;
    text-align: left;
}
body {
	margin-left: auto;
	margin-right: auto;
	background: #FFF;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

.style-logo {
    margin-top: 6px;
	margin-left: 20px;
	margin-right: 0px;
	width: 200px;
    
}
.style-nav ul {
	list-style-type: none;
    text-align: center;
}
.style-nav ul li {
	display: inline-block;
	padding: 0px;
    margin:10px 5px 0px 0px;
}
.style-icon {
	margin-left: 10px;
	margin-right: auto;
	width: 24px;
	height: 24px;
}

.row:before, .row:after {
	content: "";
	display: table;
}
.row:after {
	clear: both;
}
.col {
	width: 100%;
}

.col-nav {
	width: 100%;
    margin-top: 10px;
    text-align: center;
    display: flex;
    justify-content: center;
}

.separa-gris {
    width: 90%;
    border: 0.5px #AAA solid;
}
.foto-usuario {
    width: 50px;
    height: 50px;
    border: 3px #DDD solid;
    border-radius: 50px;
    margin: 10px 20px 0px 20px;
}
.col-usuario {
	width: 100%;
    margin: 10px 0px 0px 10px;
    text-align: center;
    display: flex;
    align-items: center;
}
.col-padd {
	width: 100%;
    margin-top: 10px;
    text-align: center;
    display: flex;
    justify-content: center;
}
.col-left {
	width: 100%;
    margin: 20px;
    text-align: left;
}

.col-modal {
    width: 500px;
    background-color: #FFF;
    padding: 10px; 
    margin: 0px;
} 

.row-submenu:hover {
    width: 96%;
    margin: 1px 1px 1px 12px;
    padding: 7px;
    display: flex;
    align-items: center;
    background-color: #777;
}
.row-submenu {
    width: 96%;
    margin: 1px 1px 1px 12px;
    padding: 7px;
    display: flex;
    align-items: center;
    background-color: #565656;
}
.link-menu:hover {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 17px;
    text-align: left;
    color: #FFF;
    text-decoration: underline;
}
.link-menu {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 17px;
    text-align: left;
    color: #FFF;
    text-decoration: none;
}
.link-submenu:hover {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 13px;
    text-align: left;
    color: #FFF;
    text-decoration: underline;
}
.link-submenu {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 13px;
    text-align: left;
    color: #FFF;
    text-decoration: none;
}
.row-menu {
        width: 100%;
        margin: 10px 0px 0px 10px;
        text-align: left;
        padding: 10px;
        display: flex;
        align-items: center;
    }
.menu-imagen {
    width: 10%;
}
.menu-icono {
    width: 30px;
    height: 20px;
}
.menu-texto {
    width: 80%;
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 17px;
    text-align: left;
    color: #FFF;
    margin-left: 10px;
}
.menu-abre {
    width: 10%;
}
.menu-flechita {
    width: 12px;
    height: 12px;
    margin-right: 10px;
}

.layout-login {
	background-image: url(../imagenes/background_login.webp);
	background-size: cover;
    background-position: center;
	padding: 0px 0px 0px 0px;
    height: 666px;
    background-repeat: no-repeat;
    background-color: #EEE;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.login {
    width: 90%;
    margin: 50px 10px 0px 10px;
    padding: 20px 20px;
    text-align: center;
    background-color: #000;
    border-radius: 5px;
    opacity: 0.75;
}

.borde-gris {
    width: 100%;
    margin: 4px;
    padding: 10px;
    border-radius: 9px;
    border: 1px #BBB solid;
}
.box-contenido {
    width: 100%;
    margin: 10px 10px 10px 10px;
    padding: 20px 20px;
    background-color: #EEE;
    border-radius: 9px;
    border: 1px #DDD solid;
}
    
.titulo-interior {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 22px;
    color: #2294B5;
}
.subtitulo-interior {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 17px;
    color: #2294B5;
}
.texto-rojo-xch {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 13px;
    color: #FF0000;
}

.texto-gris-xch {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 13px;
    color: #666;
    text-decoration: none;
}
.texto-rojo-ch {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #FF0000;
    text-decoration: none;
}
.texto-gris-med {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 19px;
    color: #333;
    text-decoration: none;
}
.texto-gris-ch-b {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 15px;
    color: #333;
    text-decoration: none;
}
.texto-azul-ch {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 15px;
    color: #196D85;
    text-decoration: none;
}
.texto-gris-ch {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #333;
    text-decoration: none;
}
.texto-suave-ch {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #999;
    text-decoration: none;
}
.texto-blanco-ch {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 20px;
    color: #FFF;
    text-decoration: none;
}
.texto-blanco-xch {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 15px;
    color: #FFF;
    text-decoration: none;
}
.texto-clarito-xch {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 13px;
    color: #DDD;
    text-decoration: none;
}
    
.link-blanco-xch:hover {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 13px;
    color: #FFF;
    text-decoration: underline;
}
.link-blanco-xch {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 13px;
    color: #FFF;
    text-decoration: none;
}
.link-blanco-ch:hover {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 17px;
    color: #FFF;
    text-decoration: underline;
}
.link-blanco-ch {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 17px;
    color: #FFF;
    text-decoration: none;
}
.link-gris-ch:hover {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 17px;
    color: #FFF;
    text-decoration: underline;
}
.link-gris-ch {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 17px;
    color: #DDD;
    text-decoration: none;
}



.texto_form-ch {
    width: 100%;
    padding: 10px;
    font-family: 'Roboto', sans-serif;
    font-size: 27px;
    text-align: left;
    font-weight: 300;
    color: #404040;
    text-decoration: none;
    border: 1px solid #666;
    border-radius: 6px;
    background-color: #FFF;
    box-sizing: border-box;
    margin-top: 5px;
    margin-bottom: 5px;
}
.texto_form {
    width: 100%;
    padding: 10px;
    font-family: 'Roboto', sans-serif;
    font-size: 39px;
    text-align: left;
    font-weight: 300;
    color: #404040;
    text-decoration: none;
    border: 1px solid #666;
    border-radius: 6px;
    background-color: #FFF;
    box-sizing: border-box;
    margin-top: 5px;
    margin-bottom: 15px;
}

.boton_corp:hover {
    font-family: 'Roboto', sans-serif;
    background-color: #FFF;
    border: 1px #2294B5 solid;
    padding: 12px 30px;
    border-radius: 30px;
    color: #2294B5;
    text-decoration: none;
    font-size: 20px;
    margin: 15px 0px 0px 15px;
}
.boton_corp {
    font-family: 'Roboto', sans-serif;
    background-color: #2294B5;
    border: 1px #FFF solid;
    padding: 12px 30px;
    border-radius: 30px;
    color: #FFF;
    text-decoration: none;
    font-size: 20px;
    margin: 15px 0px 0px 15px;
}
.boton_corp_gris:hover {
    font-family: 'Roboto', sans-serif;
    background-color: #FFF;
    border: 1px #999 solid;
    padding: 12px 30px;
    border-radius: 30px;
    color: #999;
    text-decoration: none;
    font-size: 20px;
    margin: 15px 0px 0px 15px;
}
.boton_corp_gris {
    font-family: 'Roboto', sans-serif;
    background-color: #999;
    border: 1px #FFF solid;
    padding: 12px 30px;
    border-radius: 30px;
    color: #FFF;
    text-decoration: none;
    font-size: 20px;
    margin: 15px 0px 0px 15px;
}



.col-msg {
    background-color: #EEE;
    padding: 22px;
    border: 1px #999 solid;
    border-radius: 36px;
    font-family: 'Roboto', sans-serif;
    font-size: 19px;
    text-align: center;
    font-weight: 400;
    color: #666;
    text-decoration: none;
    float: center;
    margin: 20px 10px 20px 10px;
}

.col-alerta {
    background-color: #FFFFBF;
    padding: 22px;
    border: 2px #FF0000 solid;
    border-radius: 6px;
    font-family: 'Roboto', sans-serif;
    font-size: 30px;
    text-align: center;
    font-weight: 500;
    color: #FF0000;
    text-decoration: none;
    float: center;
    margin: 20px 10px 20px 10px;
}


.menu-ope {
    text-align: left;
    top: 10px;
    left: 0;
    right: 0;
    padding: 1px;
    background-color: #4D4D4D;
    display: none;
}
.menu-icon-ope {
    display: flex;
    cursor: pointer;
    width: 12px;
    height: 12px;
    margin-right: 10px;
}
.menu-ope.active {
     display: block;        
}

.menu-admi {
    text-align: left;
    top: 10px;
    left: 0;
    right: 0;
    padding: 1px;
    background-color: #4D4D4D;
    display: none;
}
.menu-icon-admi {
    display: flex;
    cursor: pointer;
    width: 12px;
    height: 12px;
    margin-right: 10px;
}
.menu-admi.active {
     display: block;        
}

.menu-bode {
    text-align: left;
    top: 10px;
    left: 0;
    right: 0;
    padding: 1px;
    background-color: #4D4D4D;
    display: none;
}
.menu-icon-bode {
    display: flex;
    cursor: pointer;
    width: 12px;
    height: 12px;
    margin-right: 10px;
}
.menu-bode.active {
     display: block;        
}
.menu-repo {
    text-align: left;
    top: 10px;
    left: 0;
    right: 0;
    padding: 1px;
    background-color: #4D4D4D;
    display: none;
}
.menu-icon-repo {
    display: flex;
    cursor: pointer;
    width: 12px;
    height: 12px;
    margin-right: 10px;
}
.menu-repo.active {
     display: block;        
}

.menu-conf {
    text-align: left;
    top: 10px;
    left: 0;
    right: 0;
    padding: 1px;
    background-color: #4D4D4D;
    display: none;
}
.menu-icon-conf {
    display: flex;
    cursor: pointer;
    width: 12px;
    height: 12px;
    margin-right: 10px;
}
.menu-conf.active {
     display: block;        
}

.menu-prod {
    text-align: left;
    top: 10px;
    left: 0;
    right: 0;
    padding: 1px;
    background-color: #4D4D4D;
    display: none;
}
.menu-icon-prod {
    display: flex;
    cursor: pointer;
    width: 12px;
    height: 12px;
    margin-right: 10px;
}
.menu-prod.active {
     display: block;        
}

.menu-info-prod {
    text-align: left;
    top: 10px;
    left: 0;
    right: 0;
    padding: 1px;
    background-color: #4D4D4D;
    display: none;
}
.menu-icon-info-prod {
    display: flex;
    cursor: pointer;
    width: 12px;
    height: 12px;
    margin-right: 10px;
}
.menu-info-prod.active {
     display: block;        
}


@media (max-width: 768px) {
  .container {
    flex-direction: column; /* Cambia la dirección de los elementos a vertical */
  }
  
  .sidebar {
    overflow: hidden; /* Oculta el contenido que exceda el ancho */
  }
  
  .content {
     /* Permite que la zona blanca ocupe el espacio restante */
  }
    
    .menu {
        position: absolute;
        top: 80px;
        left: 0;
        right: 0;
        padding: 1px;
        background-color: #4D4D4D;
        box-shadow: 0px 8px 16px 0px #333;
        display: none;
      }

    .menu.active {
        display: block;
        float: right;
    }
    
    .menu-icon {
        display: flex;
        cursor: pointer;
        margin: 10px 0px 0px 20px;
        color: #333;
    } 
    
}

/*Tablet View*/

@media (min-width: 768px){
    
    body {
		max-width: 100%;
	}
    
    .style-logo {
		float: left;
        height: 60px;
        display: block;
	}   
	.style-nav {
		display: flex;
        align-items: center;
        justify-content: flex-end;
	}
    .style-icon {
        margin-left: 10px;
        margin-right: auto;
        width: 30px;
        height: 30px;
    }
    .style-icon-big {
        margin-left: 10px;
        margin-right: auto;
        width: 36px;
        height: 36px;
    }
    .menu {
        text-align: left;
    }
    .menu-icon {
        display: none;
    }
    
    
    
    .container {
        display: flex;
        max-width: 100%;
    }
    .sidebar-old {
      flex: 0 0 250px; /* Establece un ancho fijo para la zona gris */
      background-color: #4D4D4D;
    }
    .sidebar {
        width: 20%; /* Establece un ancho fijo para la zona gris */
        background-color: #4D4D4D;
        float: left;
    }
    .content {
       /* Permite que la zona blanca ocupe el espacio restante */
      background-color: #FFF;
    }
    .col-nav {
        width: 100%;
        margin-top: 0px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
	
    .layout-login {
        background-image: url(../imagenes/background_login.webp);
        background-size: cover;
        background-position: center;
        padding: 0px 0px 0px 0px;
        height: 520px;
        background-repeat: no-repeat;
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }
    .login {
        width: 25%;
        margin: 50px 0px 0px 0px;
        padding: 20px 20px;
        text-align: center;
        background-color: #000;
        border-radius: 5px;
        opacity: 0.75;
    }
    
    .row-menu {
        width: 100%;
        margin: 10px 0px 0px 10px;
        text-align: left;
        padding: 10px;
        display: flex;
        align-items: center;
    }
    .menu-imagen {
        width: 10%;
    }
    .menu-icono {
        width: 30px;
        height: 30px;
    }
    .menu-texto {
        width: 80%;
        font-family: 'Roboto', sans-serif;
        font-weight: 300;
        font-size: 17px;
        color: #FFF;
        margin-left: 10px;
    }
    .menu-abre {
        width: 10%;
    }
    .menu-flechita {
        width: 12px;
        height: 12px;
        margin-right: 10px;
    }
    
    .col {
		float: left;
	}
    
    .col-70 {
        width: 70%;
        background-color: #FFF;
        padding: 10px;
    }
    .col-50 {
        width: 50%;
        padding: 10px;
    }
    .col-30 {
        width: 30%;
        padding: 10px;
    }
    .col-80 {
        width: 80%;
        background-color: #FFF;
        padding: 10px;
    }
    .col-20 {
        width: 20%;
        padding: 10px;
    }
    .col-12 {
        width: 12%;
        padding: 10px;
    }
    .barra-aux {
        padding: 10px;
        background-color: #EEE;
    }
    .col-75 {
        width: 75%;
        padding: 10px;
    }
   
    .texto-blanco-ch {
        font-family: 'Roboto', sans-serif;
        font-weight: 300;
        font-size: 17px;
        color: #FFF;
        text-decoration: none;
    }
    
    .link-gris-ch:hover {
        font-family: 'Roboto', sans-serif;
        font-weight: 300;
        font-size: 15px;
        color: #FFF;
        text-decoration: underline;
    }
    .link-gris-ch {
        font-family: 'Roboto', sans-serif;
        font-weight: 300;
        font-size: 15px;
        color: #DDD;
        text-decoration: none;
    }
    
    .titulo-interior {
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        font-size: 30px;
        color: #2294B5;
    }
    .subtitulo-interior {
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        font-size: 22px;
        color: #2294B5;
    }
    .texto-rojo {
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        font-size: 17px;
        color: #FF0000;
    }
    
    .texto_form {
        width: 100%;
        padding: 6px;
        font-family: 'Roboto', sans-serif;
        font-size: 24px;
        text-align: left;
        font-weight: 300;
        color: #404040;
        text-decoration: none;
        border: 1px solid #666;
        border-radius: 6px;
        background-color: #FFF;
        box-sizing: border-box;
        margin-top: 5px;
        margin-bottom: 15px;
    }
    .texto_form-ch {
        width: 100%;
        padding: 6px;
        font-family: 'Roboto', sans-serif;
        font-size: 17px;
        text-align: left;
        font-weight: 300;
        color: #404040;
        text-decoration: none;
        border: 1px solid #666;
        border-radius: 6px;
        background-color: #FFF;
        box-sizing: border-box;
        margin-top: 5px;
        margin-bottom: 5px;
    }
    .texto_form-ch-rojo {
        width: 100%;
        padding: 6px;
        font-family: 'Roboto', sans-serif;
        font-size: 17px;
        text-align: left;
        font-weight: 300;
        color: #FF0000;
        text-decoration: none;
        border: 1px solid #FF0000;
        border-radius: 6px;
        background-color: #FFF;
        box-sizing: border-box;
        margin-top: 5px;
        margin-bottom: 5px;
    }
    
    .boton_corp:hover {
        font-family: 'Roboto', sans-serif;
        background-color: #FFF;
        border: 1px #2294B5 solid;
        padding: 12px 30px;
        border-radius: 30px;
        color: #2294B5;
        text-decoration: none;
        font-size: 17px;
        margin: 15px 0px 0px 15px;
    }
    .boton_corp {
        font-family: 'Roboto', sans-serif;
        background-color: #2294B5;
        border: 1px #FFF solid;
        padding: 12px 30px;
        border-radius: 30px;
        color: #FFF;
        text-decoration: none;
        font-size: 17px;
        margin: 15px 0px 0px 15px;
    }
    .boton_corp_gris:hover {
        font-family: 'Roboto', sans-serif;
        background-color: #FFF;
        border: 1px #999 solid;
        padding: 12px 30px;
        border-radius: 30px;
        color: #999;
        text-decoration: none;
        font-size: 17px;
        margin: 15px 0px 0px 15px;
    }
    .boton_corp_gris {
        font-family: 'Roboto', sans-serif;
        background-color: #999;
        border: 1px #FFF solid;
        padding: 12px 30px;
        border-radius: 30px;
        color: #FFF;
        text-decoration: none;
        font-size: 17px;
        margin: 15px 0px 0px 15px;
    }
    
    .col-msg {
        background-color: #EEE;
        padding: 22px;
        border: 1px #999 solid;
        border-radius: 36px;
        font-family: 'Roboto', sans-serif;
        font-size: 19px;
        text-align: center;
        font-weight: 400;
        color: #666;
        text-decoration: none;
        float: center;
        margin: 20px 120px 20px 120px;
    }
    
}

/*Desktop View*/

@media (min-width: 1024px){
 
    body {
		max-width: 100%;
	}
    
    
    
}


/* ===============================
   Informe Producción por Equipos
   =============================== */

.informe-produccion {
    width: 100%;
    margin-top: 20px;
    font-family: Arial, Helvetica, sans-serif;
    color: #333;
}

/* Bloque principal de cada equipo */
.bloque-equipo {
    margin-bottom: 35px;
    background: #f7f7f7;
    border: 1px solid #d6d6d6;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* Título del equipo */
.bloque-equipo h2 {
    margin: 0;
    padding: 14px 18px;
    background: #2f2f2f;
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

/* Bloque de cada OT */
.bloque-ot {
    margin: 16px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 6px;
    overflow: hidden;
}

/* Título de OT */
.bloque-ot h3 {
    margin: 0;
    padding: 10px 14px;
    background: #eeeeee;
    color: #222222;
    font-size: 15px;
    font-weight: 600;
    border-bottom: 1px solid #d8d8d8;
}

/* Tabla */
.bloque-ot table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

/* Encabezados */
.bloque-ot thead th {
    padding: 9px 8px;
    background: #444444;
    color: #ffffff;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    border-right: 1px solid #666666;
}

.bloque-ot thead th:last-child {
    border-right: none;
}

/* Celdas */
.bloque-ot tbody td {
    padding: 8px;
    border-bottom: 1px solid #e5e5e5;
    color: #333333;
}

/* Filas alternadas */
.bloque-ot tbody tr:nth-child(even) {
    background: #fafafa;
}

.bloque-ot tbody tr:hover {
    background: #f1f1f1;
}

/* Total por OT */
.bloque-ot tr.total-ot td {
    background: #e9e9e9;
    color: #111111;
    font-size: 13px;
    border-top: 2px solid #c5c5c5;
}

/* Total del equipo */
.total-equipo {
    margin: 0 16px 16px 16px;
    padding: 14px 18px;
    background: #1f1f1f;
    color: #ffffff;
    text-align: right;
    font-size: 16px;
    font-weight: 500;
    border-radius: 6px;
}

.total-equipo strong {
    font-size: 18px;
    font-weight: 700;
}

/* Mensaje sin resultados */
.alerta {
    margin-top: 20px;
    padding: 14px 18px;
    background: #f4f4f4;
    border: 1px solid #cccccc;
    color: #333333;
    border-radius: 6px;
    font-size: 14px;
}


/* Encabezado general del informe, opcional */
.titulo-informe {
    margin: 20px 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #333333;
    color: #222222;
    font-size: 22px;
    font-weight: 700;
}

.subtitulo-informe {
    margin-bottom: 18px;
    color: #666666;
    font-size: 14px;
}

/* NEW CLIENTES */
.informe-clientes-wrap {
    margin-top: 22px;
    font-family: Arial, Helvetica, sans-serif;
    color: #252525;
}

.informe-main-head {
    margin-bottom: 22px;
    padding-bottom: 12px;
    border-bottom: 2px solid #d5d5d5;
}

.informe-main-head h1 {
    margin: 0 0 6px 0;
    font-size: 24px;
    font-weight: 700;
    color: #222;
}

.informe-main-meta {
    font-size: 13px;
    color: #666;
}

.cliente-block {
    margin-bottom: 30px;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    background: #f7f7f7;
    overflow: hidden;
}

.cliente-head {
    background: #eeeeee;
    border-bottom: 1px solid #d2d2d2;
    padding: 18px 20px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
}

.cliente-label {
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1px;
    color: #777;
    margin-bottom: 4px;
}

.cliente-head h2 {
    margin: 0;
    font-size: 22px;
    color: #222;
    font-weight: 700;
}

.cliente-resumen {
    background: #2f2f2f;
    color: #fff;
    padding: 7px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: bold;
    white-space: nowrap;
}

.cliente-ots {
    padding: 16px;
}

.ot-mini-card {
    background: #fff;
    border: 1px solid #dedede;
    border-radius: 8px;
    margin-bottom: 16px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

.ot-mini-card:last-child {
    margin-bottom: 0;
}

.ot-mini-head {
    padding: 14px 16px;
    border-bottom: 1px solid #e5e5e5;
    background: #fbfbfb;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.ot-mini-head h3 {
    margin: 0 0 4px 0;
    font-size: 17px;
    color: #222;
}

.ot-mini-meta {
    font-size: 12px;
    color: #666;
}

.estado-pill {
    display: inline-block;
    padding: 5px 11px;
    border-radius: 18px;
    font-size: 12px;
    font-weight: bold;
    white-space: nowrap;
}

.estado-terminada {
    background: #d9d9d9;
    color: #222;
}

.estado-produccion {
    background: #222;
    color: #fff;
}

.estado-aprobada {
    background: #eeeeee;
    color: #444;
    border: 1px solid #cfcfcf;
}

.estado-default {
    background: #f1f1f1;
    color: #444;
    border: 1px solid #d5d5d5;
}

.productos-strip {
    padding: 12px 16px;
    border-bottom: 1px solid #ededed;
}

.strip-title {
    font-size: 12px;
    color: #777;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.productos-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.producto-chip {
    background: #f0f0f0;
    border: 1px solid #dadada;
    border-radius: 18px;
    padding: 6px 10px;
    font-size: 13px;
    color: #333;
}

.producto-nombre {
    font-weight: 600;
}

.producto-cant {
    color: #666;
    margin-left: 6px;
}

.areas-wrap {
    padding: 14px 16px 16px 16px;
}

.area-mini {
    border: 1px solid #dedede;
    border-radius: 7px;
    margin-bottom: 12px;
    overflow: hidden;
}

.area-mini:last-child {
    margin-bottom: 0;
}

.area-mini-head {
    background: #f4f4f4;
    padding: 10px 12px;
    border-bottom: 1px solid #dedede;
}

.area-mini-head strong {
    display: block;
    color: #222;
    font-size: 14px;
    margin-bottom: 2px;
}

.area-mini-head span {
    font-size: 12px;
    color: #666;
}

.tabla-materiales-mini {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.tabla-materiales-mini th {
    background: #fafafa;
    color: #444;
    text-align: left;
    padding: 8px;
    border-bottom: 1px solid #ddd;
    font-weight: bold;
}

.tabla-materiales-mini td {
    padding: 8px;
    border-bottom: 1px solid #eeeeee;
    color: #333;
}

.tabla-materiales-mini tr:last-child td {
    border-bottom: none;
}

.tabla-materiales-mini tr:nth-child(even) td {
    background: #fcfcfc;
}

.tabla-materiales-mini .num {
    text-align: right;
    width: 100px;
}

.texto-vacio {
    padding: 10px;
    background: #f8f8f8;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    color: #777;
    font-size: 13px;
}

.informe-vacio,
.informe-error {
    margin: 20px 0;
    padding: 14px;
    border-radius: 6px;
    background: #f3f3f3;
    color: #333;
    border: 1px solid #ddd;
}

.informe-error {
    background: #fff0f0;
    color: #900;
    border-color: #e0b5b5;
}

@media screen and (max-width: 700px) {
    
    .cliente-head,
    .ot-mini-head {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .cliente-resumen,
    .estado-pill {
        align-self: flex-start;
    }
    
    .productos-list {
        display: block;
    }
    
    .producto-chip {
        display: block;
        margin-bottom: 6px;
    }
    
    .tabla-materiales-mini {
        font-size: 12px;
    }
    
    .tabla-materiales-mini th,
    .tabla-materiales-mini td {
        padding: 6px;
    }
}

/* CONSUMO MATERIALES */
.tabla-consumo {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    color: #222;
}

.tabla-consumo thead th {
    background: #222;
    color: #fff;
    padding: 10px;
    text-align: left;
    border-bottom: 3px solid #555;
}

.tabla-consumo tbody td {
    padding: 9px 10px;
    border-bottom: 1px solid #ddd;
}

.tabla-consumo tbody tr:nth-child(even) {
    background: #f5f5f5;
}

.tabla-consumo tbody tr:hover {
    background: #ececec;
}

.tabla-consumo .num {
    text-align: right;
    white-space: nowrap;
}

.tabla-consumo tfoot td {
    padding: 12px 10px;
    background: #333;
    color: #fff;
    font-weight: bold;
}

.tabla-consumo .total-label {
    text-align: right;
}

.tabla-consumo .total-final {
    font-size: 15px;
}

