p,h1,h2,h3,th,td,tr {font-family: "Rubik";}
p {font-size: 20px;}
body{padding: 0px 10px;
    font-family: 'Rubik', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    font-weight: 400;
    color: #222;
    background-color: #f6f7f9; /* mejora contraste de las cards */}
#ClmCuerpo form p{display: flex;justify-content: space-between;}
#ClmCuerpo .cuadroform {width: 90%;padding:10px }
#ClmCuerpo h3 {font-weight: 300;font-size: 19px;}
#ClmCuerpo {margin-top: 50px;}
#ClmCuerpo2 form p{display: flex;justify-content: space-between;}
#ClmCuerpo2 .cuadroform {width: 90%;padding:10px }
#ClmCuerpo2 h3 {font-weight: 300;font-size: 19px;}
#ClmCuerpo2 {margin-top: 10px;}
#imgPortada {text-align: center;margin-top: 100px;}
p.textNoMargin {margin-bottom: 3px;font-weight: 300; font-size: 16px;}
#cabecera img{height: 50px;}
#cabecera {border-bottom: 2px solid #0082b3}
input#usuario {border: 2px solid #0082b3;border-radius: 3px;height: 40px; font-size: 18px; }
input#password {border: 2px solid #0082b3;border-radius: 3px;height: 40px;font-size: 18px;}
.botonformulario{padding: 10px 20px; margin: 10px auto; color: #fff;background: #ff6500;width: 100%;height: 60px; cursor: pointer;}
.botonMenu{padding: 10px 20px; margin: 10px auto; color: #fff;background: #0082b3;width: 100%;height: 50px; cursor: pointer;}
.botonMenuNaranja{ margin: 10px auto; color: #fff;background: #ffa500;width:32%;height: 110px;border: 1px solid #ff6500 !important; cursor: pointer;}
.botonMenuVerdeCompletado{ margin: 10px auto; color: #fff;background: #0c6;width:32%;height: 110px;border: 1px solid #008800 !important; cursor: pointer;}
.botonMenuAzul{margin: 10px auto; color: #fff;background: #00B9FF ;width:32%;height: 110px; border: 1px solid #0082b3; cursor: pointer;}
.botonMenuVerde{padding: 10px 20px; margin: 10px auto; color: #fff;background: #0c6;width: 100%;height: 50px;border: 1px solid #008800 !important; cursor: pointer;}
.botonformulario,.botonMenu,.botonMenuVerde,.botonMenuNaranja{border: 1px solid #ccc;border-radius: 3px; cursor: pointer;}
video#video {max-width: 100%;border: 4px solid #ff6500;border-radius:  3px;}
#fotoCam button {position: relative;bottom: 100px;left: 38%;background: none;border: none;}
#boton img {border: 2px solid #fff;border-radius: 50px;}
p.textoPeq {font-size: 15px;}
select#listaDeDispositivos {width: 100%;padding: 2px 0px;}
input, textarea {font-family: FontAwesome, "Open-sans", Verdana, sans-serif;font-style: normal;font-weight: normal;text-decoration: inherit;}
#cargarFoto {background: #F1F1F1;padding: 5px 8px;border: 1px solid #ccc; position: relative;top: -50px;}
.letraFotos {font-size: 18px; border-bottom: 2px solid #ff6500; background: #ffff00}
.letraFotosMenu {font-size: 18px; border-bottom: 2px solid #ff6500;}
.cuadroMenu {border: none;position: relative;bottom: 8px;font-size: 18px;color: #0082b3;}
.fotook{background-color:#d4edda;border:1px solid #008800;padding: 5px 10px; font-size: 18px;}
.fotook p:before{content: "✓ "}
#estado {position: relative;top: -80px;}
#botonesAcciones textarea {resize: none;height: 80px;width: 30%;text-align: center !important;font-size: 16px;padding-top: 30px;}
#textosInstalaciones p{font-size: 15px;}
.textoAzulCLM {color:#0082b3; }
label.custom-file-upload {background: black;color: white;padding: 20px 20px;margin: 10px auto;display: block;text-align: center;}
/*input.botonSubirArchivo {display: none;}*/

.textoOk {background-color:#008800;color: white;padding:2px 5px; }
p.textoOk::before{content: "✔ ";}
.textoNoOk {background-color:red;color: white;padding:2px 5px;}
p.textoNoOk::before{content: "✘ ";}
.valoracion {position: relative;overflow: hidden;display: inline-block;}
.valoracion input {position: absolute;top: -100px;}
.valoracion label {float: right;color: #c1b8b8;font-size: 40px; margin-left: 10px;}
.valoracion label:hover,
.valoracion label:hover ~ label,
.valoracion input:checked ~ label {color: #FFCD00;}
.fotoInstDet img {width: 100px;height: 100px;}
#fotosDetallesInstalaciones {display: flex;flex-wrap: wrap;flex-direction: row;justify-content: space-around;}
@media (min-width:600px){
    #fotosDetallesInstalaciones {display: flex;flex-wrap: wrap;flex-direction: row;justify-content: flex-start;}
    .fotoInstDet {margin-right: 10px;}
    .fotoInstDet img {width: 200px;height: 200px;}
}
input#menu {padding: 10px;margin-top: 20px;background: #0082b3;color: #fff;box-shadow: 0px 0px 1px 1px #ccc;border: none; cursor: pointer;}
input#atras {padding: 10px;margin-top: 20px;background: #0082b3;color: #fff;box-shadow: 0px 0px 1px 1px #ccc;border: none; cursor: pointer;}
/*table.tablaDetallesPedido {display: block;width: 100%;overflow-x: scroll;}*/
table.tablaDetallesPedido tr:nth-child(even) {background: #f1f1f1;}
table.tablaDetallesPedido th {background: #ddd;}
table.tablaDetallesPedido {border: 1px solid #a3a3a3;}
table td {font-size: 14px;}
.subir{padding: 10px 15px;background: #f55d3e;color:#fff;border:1px solid #ff6500; border-radius: 3px;}
.subir:hover{color:#fff;background: #f7cb15;}

/* --- VISITAS PENDIENTES --- */
.botonAviso {
    background-color: #27ae60;   /* verde trabajo */
    color: #ffffff;
}

.botonAviso:hover {
    background-color: #1e8f4f;
}

/* --- INCIDENCIAS PENDIENTES --- */
.botonIncidencia {
    background-color: #e67e22;   /* naranja alerta */
    color: #ffffff;
}

.botonIncidencia:hover {
    background-color: #cf6d17;
}

/* ---- VISITAS -----*/
/* --- CARD VISITA --- */
.visitaCard {
    background-color: #ffffff;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 12px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.08);
    border-left: 6px solid #ccc;
    cursor: pointer;
}

.visitaCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}

/* Header */
.visitaHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

/* Líneas */
.visitaLinea {
    font-size: 14px;
    margin: 4px 0;
}

/* Footer */
.visitaFooter {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #555;
    margin-top: 8px;
}

/* Prioridad badge */
.badgePrioridad {
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 12px;
    color: #fff;
}

/* PRIORIDADES */
.prioridadAlta {
    border-left-color: #e74c3c;
}
.prioridadAlta .badgePrioridad {
    background-color: #e74c3c;
}

.prioridadMedia {
    border-left-color: #f39c12;
}
.prioridadMedia .badgePrioridad {
    background-color: #f39c12;
}

.prioridadBaja {
    border-left-color: #27ae60;
}
.prioridadBaja .badgePrioridad {
    background-color: #27ae60;
}

/* Título principal */
h2 {
    font-weight: 500;
    margin-bottom: 16px;
}

/* Cliente (nombre fuerte) */
.visitaHeader strong {
    font-weight: 500;
    font-size: 15px;
}

/* Dirección y teléfono */
.visitaLinea {
    font-weight: 400;
}

/* Footer (fecha / solicitante) */
.visitaFooter {
    font-weight: 300;
}

/* --- MURO --- */
.muroMensaje {
    background: #f4f6f8;
    border-radius: 6px;
    padding: 8px;
    margin-bottom: 8px;
}

.muroFooter {
    font-size: 12px;
    color: #555;
    margin-top: 4px;
}

/* --- GALERÍA --- */
.galeriaFotos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px;
}

.fotoItem img {
    width: 100%;
    border-radius: 6px;
}

.fotoFooter {
    font-size: 11px;
    text-align: center;
    margin-top: 4px;
}

/* --- TÍTULOS DE SECCIÓN --- */
.tituloSeccion {
    font-weight: 900;
    margin-top: 24px;
    margin-bottom: 12px;
    padding-bottom: 6px;
    border-bottom: 2px solid #e0e0e0;
    color: #316396;
}

/* --- GALERÍA --- */
.galeriaFicheros {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 12px;
}

.ficheroItem {
    background: #fff;
    border-radius: 6px;
    padding: 6px;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.ficheroItem img {
    width: 100%;
    height: 90px;
    object-fit: cover;
    border-radius: 4px;
}

.iconoFichero {
    font-size: 40px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ficheroFooter {
    font-size: 11px;
    margin-top: 4px;
}

/* --- VISOR OVERLAY --- */
#visorFichero {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.85);
    justify-content: center;
    align-items: center;
}

#visorContenido {
    max-width: 95%;
    max-height: 95%;
}

/* Contenidos */
.visorImg {
    max-width: 100%;
    max-height: 100%;
}

.visorVideo {
    max-width: 100%;
    max-height: 100%;
}

.visorPDF {
    width: 90vw;
    height: 90vh;
    border: none;
}

/* Acción principal: enviar info al comercial */
.botonAccion {
    background-color: #27ae60;   /* verde claro y positivo */
    color: #ffffff;
    font-weight: 500;
}

.botonAccion:hover {
    background-color: #1e8f4f;
}

textarea.cuadroform {
    width: 100%;
    resize: vertical;
}

/* ================================
   Acciones visita – Colores UX
================================ */

.accion-info {
    background-color: #1e88e5; /* Azul */
}

.accion-media {
    background-color: #8e24aa; /* Morado */
}

.accion-warning {
    background-color: #fb8c00; /* Naranja */
}

.accion-danger {
    background-color: #e53935; /* Rojo */
}

.accion-ok {
    background-color: #27ae60; /* Verde */
}

.accion-info,
.accion-media,
.accion-warning,
.accion-danger {
    color: #fff;
}

/* Hover (desktop) */
.accion-info:hover { background-color: #1565c0; }
.accion-media:hover { background-color: #6a1b9a; }
.accion-warning:hover { background-color: #ef6c00; }
.accion-danger:hover { background-color: #c62828; }

/* Botón volver */
.botonVolver {
    background-color: #607d8b;
    color: #fff;
}
.botonVolver:hover {
    background-color: #455a64;
}
