/* Colores de la marca RESEMIN (ejemplos, puedes ajustarlos si tienes los HEX exactos) */
:root {
    --resemin-blue: #007bff; /* Azul primario para botones, bordes, etc. - Volvemos al azul original */
    --resemin-dark-blue: #0056b3; /* Azul oscuro para hover/activos - Volvemos al azul original */
    --resemin-gray-bg: #f8f8f8; /* Fondo gris claro para secciones */
    --resemin-text-color: #333333; /* Color de texto principal */
    --resemin-light-gray: #eeeeee; /* Bordes sutiles */
    --resemin-dark-header: #07080a; /* Un negro muy oscuro para la cabecera */
}

body {
    font-family: Arial, sans-serif; /* Puedes cambiar a 'Roboto', 'Open Sans' si las importas */
    margin: 0;
    padding: 0; /* Quitamos padding del body para que el header ocupe todo el ancho */
    background-color: #f4f4f4;
    color: var(--resemin-text-color);
}

/* ESTILOS NUEVOS PARA LA CABECERA CORPORATIVA */
.corporate-header {
    background-color: var(--resemin-dark-header); /* Fondo oscuro */
    padding: 20px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); /* Sombra sutil para darle profundidad */
    margin-bottom: 30px; /* Espacio antes del contenedor principal */
}

.header-logo {
    max-width: 180px; /* Ajusta el tamaño del logo según necesidad */
    height: auto;
}

.container {
    max-width: 800px;
    margin: 0 auto; /* Centrar el contenedor principal */
    background-color: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); /* Sombra más pronunciada para un look "flotante" */
    margin-bottom: 40px; /* Espacio al final de la página */
}

h1 {
    color: var(--resemin-dark-blue); /* Color corporativo para el título */
    text-align: center;
    margin-bottom: 10px; /* Menos espacio entre título y subtítulo */
    font-size: 2.2em; /* Un poco más grande */
}

.subtitle {
    text-align: center;
    color: #666;
    margin-bottom: 30px;
    font-size: 1.1em;
}

.form-section label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: var(--resemin-text-color);
}

/* Campo de búsqueda mejorado */
#searchName {
    width: calc(100% - 22px); /* Ajuste para el borde */
    padding: 12px; /* Un poco más de padding */
    margin-bottom: 5px;
    border: 2px solid var(--resemin-blue); /* Borde inicial más prominente, color corporativo */
    border-radius: 6px; /* Bordes ligeramente más redondeados */
    box-sizing: border-box;
    font-size: 1.1em; /* Un poco más grande */
    transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Transición suave */
}

#searchName:hover {
    border-color: var(--resemin-dark-blue); /* Color más oscuro al pasar el mouse */
}

#searchName:focus {
    border-color: var(--resemin-blue); /* Color corporativo al enfocar */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.2); /* Halo de enfoque suave */
    outline: none;
}

/* Estilos para los campos de detalle del empleado */
.employee-details {
    margin-top: 25px; /* Espacio después del buscador */
    padding-top: 15px;
    border-top: 1px solid var(--resemin-light-gray); /* Separador sutil */
}

.employee-details label {
    font-size: 0.9em; /* Etiquetas más pequeñas para los detalles */
    color: #777;
    margin-bottom: 3px;
}

/* Estilo general para todos los campos de texto dentro de .employee-details */
.employee-details input[type="text"] {
    color: var(--resemin-text-color);
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 4px;
    font-size: 1em;
    width: calc(100% - 20px);
    box-sizing: border-box;
    border: 1px solid #ccc; /* Borde predeterminado para campos editables */
    background-color: #fff; /* Fondo blanco para campos editables */
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Estilos de hover y focus para campos editables */
.employee-details input[type="text"]:hover:not([readonly]) {
    border-color: var(--resemin-blue);
}

.employee-details input[type="text"]:focus:not([readonly]) {
    border-color: var(--resemin-blue);
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2);
    outline: none;
}

/* Estilos específicos para campos de solo lectura */
.employee-details input[type="text"][readonly] {
    background-color: var(--resemin-gray-bg); /* Fondo gris claro para campos de solo lectura */
    border: 1px solid #ddd; /* Borde más sutil para campos de solo lectura */
}


.search-results {
    border: 1px solid var(--resemin-light-gray); /* Borde más suave */
    border-top: none;
    max-height: 180px; /* Un poco más alto para los resultados */
    overflow-y: auto;
    margin-bottom: 15px;
    border-radius: 0 0 6px 6px; /* Bordes redondeados en la parte inferior */
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08); /* Sombra más definida */
    z-index: 10; /* Asegura que esté por encima de otros elementos */
    position: relative; /* Necesario para que z-index funcione correctamente */
}

.search-result-item {
    padding: 12px; /* Más padding en los resultados */
    cursor: pointer;
    border-bottom: 1px solid var(--resemin-light-gray);
}

.search-result-item:last-child {
    border-bottom: none;
}

.search-result-item:hover {
    background-color: var(--resemin-gray-bg); /* Color de fondo corporativo */
    color: var(--resemin-dark-blue); /* Texto un poco más oscuro al pasar el mouse */
}

button {
    background-color: var(--resemin-blue);
    color: white;
    padding: 14px 25px; /* Botones más grandes */
    border: none;
    border-radius: 6px; /* Bordes más redondeados */
    cursor: pointer;
    font-size: 1.1em; /* Texto más grande */
    width: 100%;
    margin-top: 20px; /* Más espacio arriba */
    transition: background-color 0.3s ease, transform 0.1s ease; /* Transición para efecto hover/click */
}

button:hover {
    background-color: var(--resemin-dark-blue);
    transform: translateY(-1px); /* Efecto sutil de "elevación" */
}

button:active {
    transform: translateY(0); /* Efecto al hacer click */
}

.copy-button {
    background-color: #28a745; /* Green for copy button */
}

.copy-button:hover {
    background-color: #218838;
}

.preview-section, .instructions-section {
    margin-top: 40px; /* Más espacio entre secciones */
    border-top: 1px solid var(--resemin-light-gray);
    padding-top: 30px; /* Más padding arriba */
}

h2 {
    color: var(--resemin-dark-blue); /* Color corporativo para los títulos de sección */
    text-align: center;
    margin-bottom: 25px;
}

.signature-preview {
    border: 1px solid var(--resemin-light-gray); /* Borde sólido y sutil */
    padding: 20px; /* Más padding */
    margin-bottom: 25px;
    background-color: #fff; /* Asegura que sea blanco */
    box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.05); /* Sombra interna sutil */
    overflow: hidden;
    border-radius: 6px;
}

/* Estilos para la firma dentro del preview (para que se vea como en un correo) */
.signature-preview table {
    width: 100%;
    border-collapse: collapse;
}
.signature-preview img {
    max-width: 100%;
    height: auto;
    display: block; /* Important for images */
}

/* NUEVOS ESTILOS PARA CARGOS LARGOS DENTRO DE LA FIRMA */
.signature-preview table span[style*="font-size: 14px; color: #555555;"] {
    font-size: 13px !important;
    white-space: normal;
    word-break: break-word;
}

.instructions-section ol {
    padding-left: 25px; /* Ajuste del padding */
}
.instructions-section li {
    margin-bottom: 10px;
    line-height: 1.5;
    color: #555;
}

h3 {
    color: var(--resemin-dark-blue); /* Color corporativo para los subtítulos de instrucción */
    margin-top: 25px;
    margin-bottom: 15px;
    font-size: 1.3em;
}

/* Responsive adjustments */
@media (max-width: 600px) {
    .container {
        margin: 20px;
        padding: 20px;
    }
    h1 {
        font-size: 1.8em;
    }
    .header-logo {
        max-width: 150px;
    }
    button {
        padding: 12px 15px;
        font-size: 1em;
    }
}