/* =====================================================================
   Registro de Horas - Programadores Externos
   Rediseño visual: tipografía, cards, colores, botones, tablas.
   ===================================================================== */

:root {
    --rhp-primario: #4f46e5;
    --rhp-primario-oscuro: #3730a3;
    --rhp-texto: #1f2430;
    --rhp-texto-suave: #667085;
    --rhp-borde: #e5e7eb;
    --rhp-fondo-suave: #f8f9fc;
    --rhp-verde: #16a34a;
    --rhp-amarillo: #d97706;
    --rhp-rojo: #dc2626;
    --rhp-radio: 10px;
    --rhp-sombra: 0 1px 3px rgba(16, 24, 40, 0.08), 0 1px 2px rgba(16, 24, 40, 0.06);
}

.rhp-panel {
    max-width: none;
    width: 100%;
    box-sizing: border-box;
    margin: 24px 0;
    font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    color: var(--rhp-texto);
    line-height: 1.55;
}
.rhp-admin-panel { max-width: none; width: 100%; }

/* Fuerza al contenedor del tema/WordPress que envuelve el shortcode a
   usar todo el ancho disponible, sin depender de configurar a mano una
   plantilla "en blanco" ni de apagar el "ancho del contenido" en el
   editor — se autoaplica en cualquier página donde se use este plugin. */
body:has(.rhp-panel) .wp-block-post-content,
body:has(.rhp-panel) .entry-content,
body:has(.rhp-panel) .site-content,
body:has(.rhp-panel) main {
    max-width: none !important;
    width: 100% !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    box-sizing: border-box !important;
}

/* El tema del sitio puede forzar mayúsculas globalmente (común en Divi).
   Blindamos todo el contenido del panel contra eso; las mayúsculas que
   SÍ queremos (labels, encabezados de tabla, badges) se reactivan más
   abajo explícitamente con !important para ganarle a esta regla. */
.rhp-panel, .rhp-panel * {
    text-transform: none !important;
    letter-spacing: normal !important;
}

.rhp-panel h2 {
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 20px;
    letter-spacing: -0.02em;
}
.rhp-panel h3 {
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 14px;
    color: var(--rhp-texto);
}

/* ---- Mensajes ---- */
.rhp-mensaje {
    padding: 12px 16px;
    border-radius: var(--rhp-radio);
    margin-bottom: 18px;
    font-size: 14px;
    font-weight: 500;
}
.rhp-mensaje.rhp-ok {
    background: #ecfdf3;
    border: 1px solid #a6f4c5;
    color: #067647;
}
.rhp-mensaje.rhp-error {
    background: #fef3f2;
    border: 1px solid #fecdca;
    color: #b42318;
}

/* ---- Cards ---- */
.rhp-card {
    background: #fff;
    border: 1px solid var(--rhp-borde);
    border-radius: var(--rhp-radio);
    box-shadow: var(--rhp-sombra);
    padding: 22px 24px;
    margin-bottom: 22px;
}

/* Le da a cada pestaña una apariencia de tarjeta, aunque el método
   de esa pestaña no incluya explícitamente un .rhp-card propio. */
.rhp-tab-contenido {
    background: #fff;
    border: 1px solid var(--rhp-borde);
    border-radius: var(--rhp-radio);
    box-shadow: var(--rhp-sombra);
    padding: 24px 26px;
}
.rhp-tab-contenido .rhp-card {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin-bottom: 26px;
}
.rhp-tab-contenido .rhp-card + .rhp-card {
    border-top: 1px solid var(--rhp-borde);
    padding-top: 22px;
}

/* ---- Formularios ---- */
.rhp-form p { margin: 0 0 16px; }
.rhp-form label {
    display: block;
    font-weight: 600;
    font-size: 13px;
    color: var(--rhp-texto-suave);
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    margin-bottom: 6px;
}
.rhp-form input[type="text"],
.rhp-form input[type="email"],
.rhp-form input[type="date"],
.rhp-form input[type="number"],
.rhp-form select,
.rhp-form textarea {
    padding: 10px 12px;
    border: 1px solid var(--rhp-borde);
    border-radius: 8px;
    width: 100%;
    max-width: 420px;
    font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 14px;
    color: var(--rhp-texto);
    background: #fff;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.rhp-form input:focus,
.rhp-form select:focus,
.rhp-form textarea:focus {
    outline: none;
    border-color: var(--rhp-primario);
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
}
.rhp-form textarea { max-width: 520px; }
.rhp-check-label {
    display: block !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    color: var(--rhp-texto) !important;
    padding: 6px 0;
    font-size: 14px;
}
.rhp-check-label input { margin-right: 8px; }

.rhp-link-cancelar {
    margin-left: 14px;
    color: var(--rhp-texto-suave);
    text-decoration: none;
}
.rhp-link-cancelar:hover { color: var(--rhp-rojo); }

/* ---- Botones ---- */
.rhp-boton, .rhp-form button, .rhp-form .button {
    display: inline-block;
    background: var(--rhp-primario);
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    border: none;
    cursor: pointer;
    box-shadow: var(--rhp-sombra);
    transition: background .15s ease, transform .05s ease;
}
.rhp-boton:hover, .rhp-form button:hover, .rhp-form .button:hover {
    background: var(--rhp-primario-oscuro);
    color: #fff;
}
.rhp-boton:active, .rhp-form button:active { transform: translateY(1px); }

/* ---- Tablas ---- */
.rhp-tabla {
    width: 100%;
    border-collapse: collapse;
    margin-top: 6px;
    font-size: 13.5px;
}
.rhp-tabla th, .rhp-tabla td {
    padding: 11px 12px;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid var(--rhp-borde);
}
.rhp-tabla th {
    background: var(--rhp-fondo-suave);
    color: var(--rhp-texto-suave);
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
.rhp-tabla tbody tr:hover { background: var(--rhp-fondo-suave); }
.rhp-tabla td a { color: var(--rhp-primario); text-decoration: none; font-weight: 600; }
.rhp-tabla td a:hover { text-decoration: underline; }

/* ---- Badges de estado ---- */
.rhp-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    color: #fff;
}
.rhp-badge.rhp-pendiente  { background: var(--rhp-amarillo); }
.rhp-badge.rhp-aprobado   { background: var(--rhp-verde); }
.rhp-badge.rhp-rechazado  { background: var(--rhp-rojo); }
.rhp-badge.rhp-activo     { background: var(--rhp-verde); }
.rhp-badge.rhp-pausado    { background: var(--rhp-amarillo); }
.rhp-badge.rhp-finalizado { background: #6b7280; }
.rhp-badge.rhp-suspendido { background: #d97706; }
.rhp-badge.rhp-completado { background: #6b7280; }
.rhp-badge.rhp-cancelado { background: #dc2626; }

/* ---- Resumen de cuenta (estado de cuenta) ---- */
.rhp-resumen-cuenta {
    background: var(--rhp-fondo-suave);
    border: 1px solid var(--rhp-borde);
    border-radius: var(--rhp-radio);
    padding: 18px 22px;
    max-width: 420px;
    margin: 16px 0 26px;
}
.rhp-resumen-cuenta p {
    margin: 6px 0;
    font-size: 15px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
}
.rhp-resumen-cuenta p strong { color: var(--rhp-texto-suave); font-weight: 500; }

/* ---- Pestañas del panel de administración ---- */
.rhp-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    border-bottom: 2px solid var(--rhp-borde);
    margin-bottom: 22px;
}
.rhp-tab {
    display: inline-block;
    padding: 10px 16px;
    text-decoration: none;
    color: var(--rhp-texto-suave);
    font-weight: 600;
    font-size: 14px;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: color .15s ease;
}
.rhp-tab:hover { color: var(--rhp-primario); }
.rhp-tab-activo {
    color: var(--rhp-primario);
    border-bottom-color: var(--rhp-primario);
}
.rhp-tab:focus {
    outline: none;
}
.rhp-tab:focus-visible {
    outline: none;
    border-radius: 6px 6px 0 0;
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.25);
}

/* ---- Filtros ---- */
.rhp-filtros {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}
.rhp-filtros select {
    padding: 9px 12px;
    border: 1px solid var(--rhp-borde);
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
}

/* ---- Login ---- */
.rhp-login {
    display: flex;
    justify-content: center;
    padding: 40px 16px;
}
.rhp-login-ventana {
    background: #fff;
    border: 1px solid var(--rhp-borde);
    border-radius: var(--rhp-radio);
    box-shadow: var(--rhp-sombra);
    padding: 32px 36px;
    max-width: 380px;
    width: 100%;
    text-align: left;
}
.rhp-login-ventana h2 {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 6px;
    text-align: center;
}
.rhp-login-subtitulo {
    color: var(--rhp-texto-suave);
    font-size: 14px;
    text-align: center;
    margin: 0 0 22px;
}
.rhp-login-ventana form p { margin-bottom: 14px; }
.rhp-login-ventana label {
    display: block;
    font-weight: 600;
    font-size: 13px;
    color: var(--rhp-texto-suave);
    margin-bottom: 6px;
}
.rhp-login-ventana input[type="text"],
.rhp-login-ventana input[type="password"] {
    padding: 10px 12px;
    border: 1px solid var(--rhp-borde);
    border-radius: 8px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 14px;
}
.rhp-login-ventana input[type="text"]:focus,
.rhp-login-ventana input[type="password"]:focus {
    outline: none;
    border-color: var(--rhp-primario);
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
}
.rhp-login-ventana input[type="submit"] {
    display: block;
    width: 100%;
    background: var(--rhp-primario);
    color: #fff;
    border: none;
    padding: 11px 18px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    margin-top: 6px;
}
.rhp-login-ventana input[type="submit"]:hover { background: var(--rhp-primario-oscuro); }
.rhp-login-ventana .login-remember { font-size: 13px; color: var(--rhp-texto-suave); }

/* ---- Encabezado con usuario / cerrar sesión ---- */
.rhp-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    font-size: 14px;
    color: var(--rhp-texto-suave);
}
.rhp-logout {
    color: var(--rhp-rojo);
    text-decoration: none;
    font-weight: 600;
}
.rhp-logout:hover { text-decoration: underline; }

.rhp-panel-header-solo-acciones {
    justify-content: flex-end;
}

.rhp-lista-evidencias {
    margin: 6px 0 0;
    padding-left: 18px;
    font-size: 13px;
}
.rhp-lista-evidencias li { margin-bottom: 2px; }

.rhp-panel-header-acciones {
    display: flex;
    align-items: center;
    gap: 14px;
}

.rhp-switch-vista {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--rhp-primario);
    color: #fff;
    border-radius: 999px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    box-shadow: var(--rhp-sombra);
    transition: background 0.15s ease, transform 0.1s ease;
}
.rhp-switch-vista:hover {
    background: var(--rhp-primario-oscuro);
    color: #fff;
    transform: translateY(-1px);
}
.rhp-switch-vista .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* ---- Responsive ---- */
@media (max-width: 700px) {
    .rhp-tab-contenido, .rhp-card { padding: 16px; }
    .rhp-tabla { font-size: 12.5px; }
    .rhp-tabla th, .rhp-tabla td { padding: 8px; }
    .rhp-form input, .rhp-form select, .rhp-form textarea { max-width: 100%; }
}

/* ---- Dashboard del programador ---- */
.rhp-titulo-pagina {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 18px;
}
.rhp-texto-suave { color: var(--rhp-texto-suave); font-size: 14px; }

.rhp-grid-dos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 18px;
    margin-bottom: 18px;
}
.rhp-grid-dos .rhp-card { margin-bottom: 0; }
@media (max-width: 800px) {
    .rhp-grid-dos { grid-template-columns: 1fr; }
}

.rhp-stat-card {
    display: flex;
    align-items: center;
    gap: 16px;
}
.rhp-stat-icono {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(79, 70, 229, 0.1);
    color: var(--rhp-primario);
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.rhp-stat-numero {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
}
.rhp-stat-etiqueta {
    font-size: 13px;
    color: var(--rhp-texto-suave);
    margin-top: 4px;
}

.rhp-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.rhp-dona-contenedor {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.rhp-dona-svg {
    width: 110px;
    height: 110px;
    flex-shrink: 0;
}
.rhp-dona-leyenda {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 13.5px;
}
.rhp-dona-leyenda li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.rhp-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

/* ---- Fila de hora inicio / hora fin / total ---- */
.rhp-fila-horas {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
}
.rhp-fila-horas p { margin-bottom: 16px; }
@media (max-width: 600px) {
    .rhp-fila-horas { grid-template-columns: 1fr; }
}

/* ---- Lista simple (resumen semanal/mensual por proyecto) ---- */
.rhp-lista-simple {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 14px;
}
.rhp-lista-simple li {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px solid var(--rhp-borde);
}
.rhp-lista-simple li:last-child { border-bottom: none; }
.rhp-lista-simple .rhp-dot { margin-right: 2px; }

/* Resúmenes por proyecto: compactos y estables aunque haya muchos proyectos.
 * El contenedor conserva una altura razonable y permite desplazamiento interno. */
.rhp-lista-proyectos-compacta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
    max-height: 142px;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-width: thin;
}
.rhp-lista-proyectos-compacta li {
    min-width: 0;
    gap: 7px;
    padding: 5px 0;
    font-size: 12px;
}
.rhp-lista-proyectos-compacta li::before { content: none; }
.rhp-lista-proyectos-compacta .rhp-dot { width: 8px; height: 8px; }
.rhp-lista-proyectos-compacta li { justify-content: flex-start; }
.rhp-lista-proyectos-compacta li strong { margin-left: auto; white-space: nowrap; font-size: 12px; }
.rhp-lista-proyectos-compacta li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rhp-lista-proyectos-compacta li strong { flex-shrink: 0; }
@media (max-width: 700px) {
    .rhp-lista-proyectos-compacta { grid-template-columns: 1fr; }
}


/* ---- Encabezado de la captura de horas ---- */
.rhp-dash-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 22px;
    flex-wrap: wrap;
}
.rhp-dash-header-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(79, 70, 229, 0.1);
    color: var(--rhp-primario);
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.rhp-dash-header-texto { flex: 1; min-width: 200px; }
.rhp-dash-header-texto h1 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 4px;
}
.rhp-dash-header-texto p {
    margin: 0;
    color: var(--rhp-texto-suave);
    font-size: 14px;
}
.rhp-date-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    background: #fff;
    border: 1px solid var(--rhp-borde);
    border-radius: 999px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--rhp-texto);
    box-shadow: var(--rhp-sombra);
}
.rhp-date-pill .dashicons { font-size: 16px; width: 16px; height: 16px; color: var(--rhp-primario); }

/* ---- Cuadrícula de estadísticas (4 tarjetas) ---- */
.rhp-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}
@media (max-width: 1000px) { .rhp-stat-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .rhp-stat-grid { grid-template-columns: 1fr; } }

.rhp-stat-icono.rhp-icono-azul     { background: rgba(56, 88, 233, 0.1);  color: #3858e9; }
.rhp-stat-icono.rhp-icono-verde    { background: rgba(22, 163, 74, 0.1);  color: var(--rhp-verde); }
.rhp-stat-icono.rhp-icono-morado   { background: rgba(124, 58, 237, 0.1); color: #7c3aed; }
.rhp-stat-icono.rhp-icono-amarillo { background: rgba(217, 119, 6, 0.1);  color: var(--rhp-amarillo); }

/* ---- Cuadrícula de mini-tarjetas (3, con desgloses) ---- */
.rhp-mini-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    margin-bottom: 18px;
    align-items: start;
}
@media (max-width: 900px) { .rhp-mini-grid { grid-template-columns: 1fr; } }

.rhp-mini-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.rhp-mini-card-header .rhp-stat-icono {
    width: 34px;
    height: 34px;
    font-size: 15px;
}
.rhp-mini-card-header h3 { margin: 0; font-size: 15px; }

/* ---- Layout de dos columnas: tips + formulario ---- */
.rhp-dash-columns {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}
@media (max-width: 900px) { .rhp-dash-columns { grid-template-columns: 1fr; } }

.rhp-tips-card {
    text-align: center;
}
.rhp-tips-ilustracion {
    width: 84px;
    height: 84px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: rgba(79, 70, 229, 0.08);
    color: var(--rhp-primario);
    font-size: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rhp-tips-card h3 { margin: 0 0 8px; font-size: 18px; }
.rhp-tips-card > p { margin: 0 0 20px; color: var(--rhp-texto-suave); font-size: 13.5px; }
.rhp-tips-lista {
    list-style: none;
    margin: 0;
    padding: 14px;
    background: var(--rhp-fondo-suave);
    border-radius: 8px;
    text-align: left;
    font-size: 13px;
}
.rhp-tips-lista li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
}
.rhp-tips-lista li:last-child { margin-bottom: 0; }
.rhp-tips-lista .dashicons { color: var(--rhp-verde); font-size: 15px; width: 15px; height: 15px; flex-shrink: 0; margin-top: 1px; }

.rhp-form-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.rhp-form-card-header .rhp-stat-icono { width: 36px; height: 36px; font-size: 15px; }
.rhp-form-card-header h3 { margin: 0; font-size: 17px; }

.rhp-form-grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 16px;
}
@media (max-width: 600px) { .rhp-form-grid2 { grid-template-columns: 1fr; } }
.rhp-form-grid2 p { margin-bottom: 0; }

/* ---- Tarjeta de historial (link a la tabla completa) ---- */
.rhp-historial-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.rhp-historial-card-texto { display: flex; align-items: center; gap: 14px; }
.rhp-historial-card-texto h3 { margin: 0 0 2px; font-size: 16px; }
.rhp-historial-card-texto p { margin: 0; color: var(--rhp-texto-suave); font-size: 13.5px; }

/* ---- Bandera de bloqueo ---- */
.rhp-flag {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: var(--rhp-rojo);
    cursor: help;
}


/* =====================================================================
   SYSPro Time 1.0.4 — controles modernos de captura
   ===================================================================== */
.rhp-pending-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;margin:0 0 18px;border:1px solid #e6e9f2;border-radius:10px;background:#fbfcff;color:var(--rhp-texto);font-size:13px}.rhp-pending-banner>div:first-child{display:flex;align-items:center;gap:9px}.rhp-pending-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}.rhp-pending-copy{color:var(--rhp-texto-suave);margin-left:3px}.rhp-pending-total{font-weight:700;color:#475467;white-space:nowrap}
.rhp-select-wrap{position:relative;display:block;width:100%;max-width:420px}.rhp-select-wrap select{appearance:none;-webkit-appearance:none;width:100%!important;max-width:none!important;padding:12px 42px 12px 14px!important;border:1px solid #d9ddea!important;border-radius:9px!important;background:#fff!important;color:#252a36!important;font-size:14px!important;font-weight:500!important;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.03)}.rhp-select-wrap select:hover{border-color:#b9c0d4!important}.rhp-select-wrap select:focus{border-color:var(--rhp-primario)!important;box-shadow:0 0 0 3px rgba(79,70,229,.10)!important}.rhp-select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-56%);font-size:20px;line-height:1;color:#667085;pointer-events:none}.rhp-select-wrap select option{font-weight:500}
.rhp-time-row{align-items:end}.rhp-time-picker{display:flex;align-items:center;height:46px;width:100%;max-width:300px;padding:0 10px;border:1px solid #d9ddea;border-radius:10px;background:#fff;box-sizing:border-box;box-shadow:0 1px 2px rgba(16,24,40,.03);transition:border-color .15s,box-shadow .15s}.rhp-time-picker:focus-within{border-color:var(--rhp-primario);box-shadow:0 0 0 3px rgba(79,70,229,.10)}.rhp-time-icon{width:30px;color:var(--rhp-primario);font-size:15px;display:flex;align-items:center}.rhp-time-picker select{appearance:none;-webkit-appearance:none;border:0!important;box-shadow:none!important;outline:0!important;background:transparent!important;width:62px!important;max-width:none!important;padding:8px 4px!important;margin:0!important;font-size:16px!important;font-weight:650!important;color:#1f2430!important;text-align:center;cursor:pointer}.rhp-time-picker select option{font-size:14px}.rhp-time-sep{font-size:18px;font-weight:700;color:#98a2b3;margin:0 2px}.rhp-hours-display{height:46px;max-width:220px;display:flex;align-items:center;gap:8px;border:1px solid var(--rhp-borde);border-radius:10px;background:#f8f9fc;padding:0 12px;box-sizing:border-box;color:var(--rhp-texto-suave)}.rhp-hours-display .fa-calculator{color:var(--rhp-primario)}.rhp-hours-display input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;width:100%!important;max-width:none!important;font-size:16px!important;font-weight:700!important;color:var(--rhp-texto)!important}.rhp-hours-display>span:last-child{font-weight:700;color:#667085}.rhp-time-helper{display:flex;align-items:center;gap:7px;margin:-2px 0 17px;color:#667085;font-size:12px}.rhp-time-helper .fa-circle-info{color:#4f46e5}
@media(max-width:700px){.rhp-pending-banner{align-items:flex-start;flex-direction:column}.rhp-pending-total{white-space:normal}.rhp-time-picker{max-width:none}.rhp-hours-display{max-width:none}}

/* =====================================================================
   SYSPro Time 1.4.9 — controles realmente personalizados
   Ocultamos los controles nativos y mostramos componentes de interfaz
   propios para que Chrome/Windows no imponga su apariencia.
   ===================================================================== */
.rhp-native-control{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important}
.rhp-select-wrap{position:relative!important;max-width:100%!important}
.rhp-modern-select-trigger,.rhp-time-trigger{width:100%;height:46px;border:1px solid #d9ddea;border-radius:10px;background:#fff;color:#202532;display:flex;align-items:center;gap:10px;padding:0 13px;box-sizing:border-box;font:500 14px/1 "Roboto",Arial,sans-serif;text-align:left;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.03);transition:border-color .15s,box-shadow .15s,background .15s}
.rhp-modern-select-trigger:hover,.rhp-time-trigger:hover{border-color:#b9c0d4;background:#fcfcff}.rhp-modern-select.is-open .rhp-modern-select-trigger,.rhp-time-picker.is-open .rhp-time-trigger{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.10)}
.rhp-modern-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.rhp-modern-select-label.placeholder{color:#98a2b3}.rhp-modern-chevron{margin-left:auto;color:#667085;font-size:11px;line-height:1}
.rhp-modern-select-menu{display:none;position:absolute;z-index:99999;left:0;right:0;top:calc(100% + 6px);max-height:280px;overflow:auto;padding:6px;background:#fff;border:1px solid #e4e7ec;border-radius:10px;box-shadow:0 12px 28px rgba(16,24,40,.14)}
.rhp-modern-select.is-open .rhp-modern-select-menu{display:block}.rhp-modern-option{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px 11px;border-radius:7px;color:#344054;font:500 13px/1.3 "Roboto",Arial,sans-serif;cursor:pointer}.rhp-modern-option:hover{background:#f4f5ff;color:#4338ca}.rhp-modern-option.selected{background:#eef2ff;color:#3730a3;font-weight:700}
.rhp-time-picker{position:relative!important;display:block!important;height:46px!important;width:100%!important;max-width:300px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.rhp-time-trigger{max-width:300px}.rhp-time-trigger-icon{width:20px;color:#4f46e5;text-align:center}.rhp-time-trigger-value{flex:1;font-size:15px;font-weight:650}.rhp-time-trigger-value:empty{color:#98a2b3}
.rhp-time-popover{display:none;position:absolute;z-index:100000;left:0;top:calc(100% + 8px);width:330px;padding:13px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;box-shadow:0 16px 36px rgba(16,24,40,.16)}
.rhp-time-picker.is-open .rhp-time-popover{display:block}.rhp-time-pop-title{font-size:12px;font-weight:700;color:#344054;margin-bottom:10px}.rhp-time-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}.rhp-time-col>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#98a2b3;margin-bottom:5px}.rhp-time-options{display:flex;flex-wrap:wrap;gap:5px}.rhp-time-options button{border:1px solid #e4e7ec;background:#fff;border-radius:7px;padding:8px 9px;color:#475467;font:600 12px/1 "Roboto",Arial,sans-serif;cursor:pointer;min-width:43px}.rhp-time-options button:hover{background:#f4f5ff;border-color:#c7c3ff;color:#4338ca}.rhp-time-options button.active{background:#4f46e5;border-color:#4f46e5;color:#fff}
.rhp-time-helper{margin-top:6px!important}
@media(max-width:700px){.rhp-time-picker,.rhp-time-trigger{max-width:none!important}.rhp-time-popover{width:min(330px,calc(100vw - 70px));max-width:calc(100vw - 70px)}}

/* 1.4.10 — controls definitivos */
.rhp-modern-select{position:relative!important;display:block!important;width:100%!important;max-width:none!important}
.rhp-modern-select .rhp-native-control{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important}
.rhp-modern-select-trigger{position:relative!important;z-index:1!important}
.rhp-modern-select-menu{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 7px)!important;display:none!important;z-index:999999!important;box-sizing:border-box!important;max-height:300px!important;overflow-y:auto!important;padding:6px!important;background:#fff!important;border:1px solid #e4e7ec!important;border-radius:12px!important;box-shadow:0 18px 45px rgba(16,24,40,.18)!important}
.rhp-modern-select.is-open .rhp-modern-select-menu{display:block!important}
.rhp-modern-option{box-sizing:border-box!important;width:100%!important;min-height:40px!important;padding:10px 12px!important;margin:0!important;border:0!important;border-radius:8px!important;background:#fff!important;color:#344054!important;font:500 13px/1.25 Roboto,Arial,sans-serif!important;text-align:left!important;cursor:pointer!important}
.rhp-modern-option:hover{background:#f4f5ff!important;color:#4338ca!important}.rhp-modern-option.selected{background:#eef2ff!important;color:#3730a3!important;font-weight:700!important}
.rhp-time-picker{position:relative!important;display:block!important;width:100%!important;max-width:300px!important;height:46px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.rhp-time-picker .rhp-native-control{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important}
.rhp-time-trigger{height:46px!important;max-width:none!important;width:100%!important;padding:0 13px!important;border:1px solid #d9ddea!important;border-radius:10px!important;background:#fff!important;color:#202532!important;display:flex!important;align-items:center!important;gap:10px!important;box-sizing:border-box!important;font:600 14px/1 Roboto,Arial,sans-serif!important;text-align:left!important;cursor:pointer!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important}
.rhp-time-trigger:hover{border-color:#b9c0d4!important;background:#fcfcff!important}.rhp-time-picker.is-open .rhp-time-trigger{border-color:#4f46e5!important;box-shadow:0 0 0 3px rgba(79,70,229,.10)!important}.rhp-time-trigger-icon{width:20px!important;color:#4f46e5!important;text-align:center!important}.rhp-time-trigger-value{flex:1!important;font-size:15px!important;font-weight:650!important}.rhp-time-trigger .rhp-modern-chevron{margin-left:auto!important;color:#667085!important;font-size:11px!important}
.rhp-time-popover{position:absolute!important;z-index:1000000!important;left:0!important;top:calc(100% + 8px)!important;width:340px!important;box-sizing:border-box!important;padding:16px!important;background:#fff!important;border:1px solid #e4e7ec!important;border-radius:14px!important;box-shadow:0 20px 50px rgba(16,24,40,.18)!important}
.rhp-time-pop-head{margin-bottom:13px!important}.rhp-time-pop-head strong{display:block!important;color:#1d2939!important;font-size:14px!important}.rhp-time-pop-head small{display:block!important;margin-top:3px!important;color:#98a2b3!important;font-size:11px!important}.rhp-time-section-label{display:block!important;margin-bottom:7px!important;color:#667085!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.55px!important}
.rhp-time-hour-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important}.rhp-time-hour-grid button,.rhp-time-minute-grid button,.rhp-time-ap-grid button{height:34px!important;min-width:0!important;padding:0!important;border:1px solid #e4e7ec!important;border-radius:8px!important;background:#fff!important;color:#344054!important;font:600 12px/34px Roboto,Arial,sans-serif!important;text-align:center!important;cursor:pointer!important}.rhp-time-hour-grid button:hover,.rhp-time-minute-grid button:hover,.rhp-time-ap-grid button:hover{background:#f4f5ff!important;border-color:#c7c3ff!important;color:#4338ca!important}.rhp-time-hour-grid button.active,.rhp-time-minute-grid button.active,.rhp-time-ap-grid button.active{background:#4f46e5!important;border-color:#4f46e5!important;color:#fff!important}.rhp-time-bottom{display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px!important;margin-top:14px!important;padding-top:14px!important;border-top:1px solid #eef0f2!important}.rhp-time-minute-grid,.rhp-time-ap-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
@media(max-width:700px){.rhp-time-picker,.rhp-time-trigger{max-width:none!important}.rhp-time-popover{width:min(340px,calc(100vw - 48px))!important}}


/* 1.4.11 — blindaje contra estilos globales del launcher/theme */
/*
 * El launcher aplica reglas globales como .rhp-form button { color:#fff; background:... }.
 * Los controles personalizados son botones internos, por lo que esas reglas estaban
 * ganando por especificidad y ocultaban el texto hasta :hover. Estas reglas están
 * deliberadamente más acotadas y usan !important para que el componente sea autónomo.
 */
.rhp-form .rhp-modern-select-menu .rhp-modern-option,
.rhp-form .rhp-modern-select-menu .rhp-modern-option:visited {
    display:block!important;
    width:100%!important;
    min-height:40px!important;
    margin:0!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
    border:0!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#344054!important;
    font-family:Roboto,Arial,sans-serif!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:1.25!important;
    text-align:left!important;
    text-decoration:none!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    white-space:normal!important;
    cursor:pointer!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
}
.rhp-form .rhp-modern-select-menu .rhp-modern-option:hover,
.rhp-form .rhp-modern-select-menu .rhp-modern-option:focus {
    background:#f4f5ff!important;
    color:#4338ca!important;
    outline:none!important;
}
.rhp-form .rhp-modern-select-menu .rhp-modern-option.selected {
    background:#eef2ff!important;
    color:#3730a3!important;
    font-weight:700!important;
}

.rhp-form .rhp-time-popover button,
.rhp-form .rhp-time-popover .rhp-time-hour-grid button,
.rhp-form .rhp-time-popover .rhp-time-minute-grid button,
.rhp-form .rhp-time-popover .rhp-time-ap-grid button {
    display:block!important;
    min-width:0!important;
    width:100%!important;
    height:36px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    border:1px solid #e4e7ec!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#344054!important;
    font-family:Roboto,Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:36px!important;
    text-align:center!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    cursor:pointer!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
}
.rhp-form .rhp-time-popover .rhp-time-hour-grid button:hover,
.rhp-form .rhp-time-popover .rhp-time-minute-grid button:hover,
.rhp-form .rhp-time-popover .rhp-time-ap-grid button:hover,
.rhp-form .rhp-time-popover .rhp-time-hour-grid button:focus,
.rhp-form .rhp-time-popover .rhp-time-minute-grid button:focus,
.rhp-form .rhp-time-popover .rhp-time-ap-grid button:focus {
    background:#f4f5ff!important;
    border-color:#c7c3ff!important;
    color:#4338ca!important;
    outline:none!important;
}
.rhp-form .rhp-time-popover .rhp-time-hour-grid button.active,
.rhp-form .rhp-time-popover .rhp-time-minute-grid button.active,
.rhp-form .rhp-time-popover .rhp-time-ap-grid button.active {
    background:#4f46e5!important;
    border-color:#4f46e5!important;
    color:#fff!important;
}

/* Evita que reglas globales del theme alteren la capa del menú. */
.rhp-form .rhp-modern-select-menu,
.rhp-form .rhp-time-popover {
    opacity:1!important;
    visibility:visible!important;
    text-transform:none!important;
    letter-spacing:normal!important;
}

/* 1.4.12 — visual limpio: selects blancos + selector de hora alineado */
.rhp-form .rhp-modern-select-trigger,
.rhp-form .rhp-modern-select-trigger:hover,
.rhp-form .rhp-modern-select-trigger:focus {
    background:#fff!important;
    color:#344054!important;
    border:1px solid #d9ddea!important;
    box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
}
.rhp-form .rhp-modern-select-label { color:#344054!important; }
.rhp-form .rhp-modern-select-label.placeholder { color:#98a2b3!important; }
.rhp-form .rhp-modern-chevron { color:#667085!important; }
.rhp-form .rhp-modern-select.is-open .rhp-modern-select-trigger {
    border-color:#4f46e5!important;
    box-shadow:0 0 0 3px rgba(79,70,229,.10)!important;
    background:#fff!important;
}
.rhp-form .rhp-modern-select-menu {
    background:#fff!important;
    color:#344054!important;
}

.rhp-time-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(180px,.65fr)!important;gap:16px!important;align-items:start!important}
.rhp-time-row .rhp-time-field{min-width:0!important}
.rhp-time-row .rhp-time-field>label{display:block!important;margin:0 0 7px!important;font-size:12px!important;font-weight:700!important;color:#667085!important;text-transform:uppercase!important;letter-spacing:.2px!important}
.rhp-time-custom{position:relative!important;width:100%!important;max-width:none!important;height:46px!important}
.rhp-time-custom-trigger{width:100%!important;height:46px!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 13px!important;background:#fff!important;color:#344054!important;border:1px solid #d9ddea!important;border-radius:10px!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important;font:600 14px/1 Roboto,Arial,sans-serif!important;cursor:pointer!important;text-align:left!important}
.rhp-time-custom-trigger:hover,.rhp-time-custom.is-open .rhp-time-custom-trigger{background:#fff!important;border-color:#4f46e5!important;box-shadow:0 0 0 3px rgba(79,70,229,.10)!important}
.rhp-time-custom-icon{color:#4f46e5!important;font-size:19px!important;line-height:1!important}
.rhp-time-custom-value{flex:1!important;color:#344054!important}.rhp-time-custom-value:empty{color:#98a2b3!important}
.rhp-time-custom-chevron{color:#667085!important;font-size:14px!important}
.rhp-time-custom-popover{display:none!important;position:absolute!important;z-index:1000000!important;left:0!important;top:calc(100% + 8px)!important;width:330px!important;max-width:calc(100vw - 40px)!important;box-sizing:border-box!important;padding:16px!important;background:#fff!important;color:#344054!important;border:1px solid #e4e7ec!important;border-radius:14px!important;box-shadow:0 20px 50px rgba(16,24,40,.18)!important}
.rhp-time-custom.is-open .rhp-time-custom-popover{display:block!important}
.rhp-time-custom-title{font-size:14px!important;font-weight:700!important;color:#1d2939!important}.rhp-time-custom-subtitle{margin-top:3px!important;margin-bottom:14px!important;font-size:11px!important;color:#98a2b3!important}
.rhp-time-custom-columns{display:grid!important;grid-template-columns:1.5fr .8fr .9fr!important;gap:12px!important}
.rhp-time-custom-columns>div>span{display:block!important;margin-bottom:7px!important;font-size:10px!important;font-weight:700!important;color:#98a2b3!important;text-transform:uppercase!important;letter-spacing:.55px!important}
.rhp-time-hour-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:5px!important}
.rhp-time-custom-popover button{appearance:none!important;-webkit-appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:34px!important;margin:0!important;padding:0!important;background:#fff!important;color:#344054!important;border:1px solid #e4e7ec!important;border-radius:8px!important;font:600 12px/1 Roboto,Arial,sans-serif!important;cursor:pointer!important;box-shadow:none!important}
.rhp-time-custom-popover button:hover,.rhp-time-custom-popover button:focus{background:#f4f5ff!important;color:#4338ca!important;border-color:#c7c3ff!important;outline:none!important}
.rhp-time-custom-popover button.active{background:#4f46e5!important;color:#fff!important;border-color:#4f46e5!important}
.rhp-time-minute-grid,.rhp-time-ap-grid{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
.rhp-time-helper{margin-top:8px!important}
@media(max-width:850px){.rhp-time-row{grid-template-columns:1fr 1fr!important}.rhp-time-row .rhp-time-field:last-child{grid-column:1/-1}}
@media(max-width:560px){.rhp-time-row{grid-template-columns:1fr!important}.rhp-time-row .rhp-time-field:last-child{grid-column:auto}.rhp-time-custom-popover{width:300px!important}}

/* 1.4.13 — controles finales de captura: sin chevrons y cálculo de horas */
.rhp-form .rhp-select-arrow,
.rhp-form .rhp-modern-chevron,
.rhp-form .rhp-time-custom-chevron { display:none!important; }
.rhp-form .rhp-modern-select-trigger{
  justify-content:flex-start!important;
  padding-right:14px!important;
  background:#fff!important;
  color:#344054!important;
}
.rhp-form .rhp-modern-select-trigger:hover,
.rhp-form .rhp-modern-select-trigger:focus,
.rhp-form .rhp-modern-select.is-open .rhp-modern-select-trigger{
  background:#fff!important;
  color:#344054!important;
}
.rhp-form .rhp-modern-select-label{color:#344054!important}
.rhp-form .rhp-modern-select-label.placeholder{color:#98a2b3!important}
.rhp-form .rhp-modern-select-menu{display:none!important}
.rhp-form .rhp-modern-select.is-open .rhp-modern-select-menu{display:block!important}

.rhp-form .rhp-time-custom{position:relative!important;width:100%!important;height:46px!important}
.rhp-form .rhp-time-custom-trigger{
  width:100%!important;height:46px!important;padding:0 14px!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  background:#fff!important;color:#344054!important;border:1px solid #d9ddea!important;
  border-radius:10px!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
  font:600 14px/1 Roboto,Arial,sans-serif!important;text-align:left!important;
}
.rhp-form .rhp-time-custom-trigger:hover,
.rhp-form .rhp-time-custom-trigger:focus,
.rhp-form .rhp-time-custom.is-open .rhp-time-custom-trigger{
  background:#fff!important;color:#344054!important;border-color:#4f46e5!important;
  box-shadow:0 0 0 3px rgba(79,70,229,.10)!important;outline:none!important;
}
.rhp-form .rhp-time-custom-icon{color:#4f46e5!important;font-size:18px!important;line-height:1!important}
.rhp-form .rhp-time-custom-value{color:#344054!important;flex:1!important}
.rhp-form .rhp-time-custom-value:empty{color:#98a2b3!important}
.rhp-form .rhp-time-custom-popover{
  display:none!important;position:absolute!important;left:0!important;top:calc(100% + 8px)!important;
  z-index:1000000!important;width:420px!important;max-width:min(420px,calc(100vw - 40px))!important;
  box-sizing:border-box!important;padding:18px!important;background:#fff!important;color:#344054!important;
  border:1px solid #e4e7ec!important;border-radius:14px!important;
  box-shadow:0 18px 45px rgba(16,24,40,.18)!important;
}
.rhp-form .rhp-time-custom.is-open .rhp-time-custom-popover{display:block!important}
.rhp-form .rhp-time-custom-title{font-size:15px!important;font-weight:700!important;color:#1d2939!important}
.rhp-form .rhp-time-custom-subtitle{margin:3px 0 16px!important;font-size:11px!important;color:#98a2b3!important}
.rhp-form .rhp-time-custom-columns{display:grid!important;grid-template-columns:1.5fr .75fr .9fr!important;gap:18px!important}
.rhp-form .rhp-time-custom-column>span{display:block!important;margin-bottom:8px!important;font-size:10px!important;font-weight:700!important;color:#98a2b3!important;text-transform:uppercase!important;letter-spacing:.6px!important}
.rhp-form .rhp-time-hour-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important}
.rhp-form .rhp-time-minute-grid,.rhp-form .rhp-time-ap-grid{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
.rhp-form .rhp-time-custom-popover button{
  appearance:none!important;-webkit-appearance:none!important;width:100%!important;height:36px!important;
  margin:0!important;padding:0!important;border:1px solid #e4e7ec!important;border-radius:8px!important;
  background:#fff!important;color:#344054!important;font:600 12px/36px Roboto,Arial,sans-serif!important;
  text-align:center!important;cursor:pointer!important;box-shadow:none!important;
}
.rhp-form .rhp-time-custom-popover button:hover,
.rhp-form .rhp-time-custom-popover button:focus{
  background:#f4f5ff!important;color:#4338ca!important;border-color:#c7c3ff!important;outline:none!important;
}
.rhp-form .rhp-time-custom-popover button.active{background:#4f46e5!important;color:#fff!important;border-color:#4f46e5!important}
.rhp-form .rhp-time-custom-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-top:16px!important;padding-top:14px!important;border-top:1px solid #eef0f2!important}
.rhp-form .rhp-time-custom-footer span{font-size:11px!important;color:#98a2b3!important}
.rhp-form .rhp-time-custom-footer .rhp-time-custom-done{width:auto!important;padding:0 14px!important;background:#4f46e5!important;color:#fff!important;border-color:#4f46e5!important}
.rhp-form .rhp-time-custom-footer .rhp-time-custom-done:hover{background:#4338ca!important;color:#fff!important}
.rhp-form .rhp-hours-display{height:46px!important;display:flex!important;align-items:center!important;gap:8px!important;background:#f8f9fc!important;border:1px solid #d9ddea!important;border-radius:10px!important;padding:0 12px!important;box-sizing:border-box!important}
.rhp-form .rhp-hours-display input{flex:1!important;width:auto!important;min-width:0!important;color:#1d2939!important;background:transparent!important}
.rhp-form .rhp-hours-display>span:last-child{color:#667085!important}
@media(max-width:700px){.rhp-form .rhp-time-custom-popover{width:min(420px,calc(100vw - 40px))!important}.rhp-form .rhp-time-custom-columns{grid-template-columns:1fr!important}.rhp-form .rhp-time-hour-grid{grid-template-columns:repeat(4,1fr)!important}.rhp-form .rhp-time-minute-grid,.rhp-form .rhp-time-ap-grid{grid-template-columns:repeat(2,1fr)!important}}

/* 1.4.14 — captura limpia: controles blancos y selector de hora compacto */
.rhp-form .rhp-select-arrow,
.rhp-form .rhp-modern-chevron,
.rhp-form .rhp-time-custom-chevron { display:none!important; }
.rhp-form .rhp-modern-select { position:relative!important; display:block!important; width:100%!important; }
.rhp-form .rhp-modern-select .rhp-native-control { position:absolute!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.rhp-form .rhp-modern-select-trigger {
  appearance:none!important; -webkit-appearance:none!important; width:100%!important; height:46px!important;
  display:flex!important; align-items:center!important; justify-content:flex-start!important; padding:0 14px!important;
  background:#fff!important; color:#344054!important; border:1px solid #d9dee8!important; border-radius:9px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)!important; font:500 14px/1 Roboto,Arial,sans-serif!important;
  text-align:left!important; cursor:pointer!important;
}
.rhp-form .rhp-modern-select-trigger:hover,
.rhp-form .rhp-modern-select-trigger:focus,
.rhp-form .rhp-modern-select.is-open .rhp-modern-select-trigger { background:#fff!important; color:#344054!important; border-color:#aab3c2!important; box-shadow:0 0 0 3px rgba(79,70,229,.07)!important; outline:none!important; }
.rhp-form .rhp-modern-select-label { color:#344054!important; flex:1!important; overflow:hidden!important; text-overflow:ellipsis!important; white-space:nowrap!important; }
.rhp-form .rhp-modern-select-label.placeholder { color:#98a2b3!important; }
.rhp-form .rhp-modern-select-menu {
  display:none!important; position:absolute!important; z-index:1000001!important; left:0!important; top:calc(100% + 6px)!important;
  width:100%!important; max-height:280px!important; overflow:auto!important; box-sizing:border-box!important;
  padding:6px!important; background:#fff!important; border:1px solid #e4e7ec!important; border-radius:10px!important;
  box-shadow:0 16px 35px rgba(16,24,40,.14)!important;
}
.rhp-form .rhp-modern-select.is-open .rhp-modern-select-menu { display:block!important; }
.rhp-form .rhp-modern-select-menu .rhp-modern-option {
  appearance:none!important; -webkit-appearance:none!important; width:100%!important; min-height:38px!important;
  display:flex!important; align-items:center!important; justify-content:flex-start!important; padding:0 11px!important; margin:2px 0!important;
  background:#fff!important; color:#344054!important; border:0!important; border-radius:7px!important;
  font:500 13px/1.2 Roboto,Arial,sans-serif!important; text-align:left!important; cursor:pointer!important; box-shadow:none!important;
}
.rhp-form .rhp-modern-select-menu .rhp-modern-option:hover,
.rhp-form .rhp-modern-select-menu .rhp-modern-option:focus { background:#f5f6ff!important; color:#4338ca!important; outline:none!important; }
.rhp-form .rhp-modern-select-menu .rhp-modern-option.selected { background:#eef0ff!important; color:#4338ca!important; font-weight:700!important; }

.rhp-form .rhp-time-row { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(190px,.58fr)!important; gap:16px!important; align-items:start!important; }
.rhp-form .rhp-time-field { min-width:0!important; }
.rhp-form .rhp-time-field>label { display:block!important; margin:0 0 7px!important; font-size:12px!important; font-weight:700!important; color:#667085!important; text-transform:uppercase!important; }
.rhp-form .rhp-time-custom { position:relative!important; width:100%!important; height:46px!important; }
.rhp-form .rhp-time-custom-trigger {
  appearance:none!important; -webkit-appearance:none!important; width:100%!important; height:46px!important; display:flex!important; align-items:center!important;
  gap:9px!important; padding:0 13px!important; background:#fff!important; color:#344054!important; border:1px solid #d9dee8!important; border-radius:9px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)!important; font:500 14px/1 Roboto,Arial,sans-serif!important; cursor:pointer!important; text-align:left!important;
}
.rhp-form .rhp-time-custom-trigger:hover,
.rhp-form .rhp-time-custom.is-open .rhp-time-custom-trigger { background:#fff!important; border-color:#aab3c2!important; box-shadow:0 0 0 3px rgba(79,70,229,.07)!important; }
.rhp-form .rhp-time-custom-icon { color:#4f46e5!important; font-size:18px!important; line-height:1!important; }
.rhp-form .rhp-time-custom-value { flex:1!important; color:#344054!important; }
.rhp-form .rhp-time-custom-popover {
  display:none!important; position:absolute!important; z-index:1000002!important; left:0!important; top:calc(100% + 7px)!important;
  width:330px!important; max-width:calc(100vw - 32px)!important; box-sizing:border-box!important; padding:16px!important;
  background:#fff!important; color:#344054!important; border:1px solid #e4e7ec!important; border-radius:12px!important;
  box-shadow:0 18px 40px rgba(16,24,40,.16)!important;
}
.rhp-form .rhp-time-custom.is-open .rhp-time-custom-popover { display:block!important; }
.rhp-form .rhp-time-custom-title { font-size:14px!important; font-weight:700!important; color:#1d2939!important; }
.rhp-form .rhp-time-custom-subtitle { margin:3px 0 14px!important; font-size:11px!important; color:#98a2b3!important; }
.rhp-form .rhp-time-picker-grid { display:grid!important; grid-template-columns:1.45fr .72fr .82fr!important; gap:12px!important; }
.rhp-form .rhp-time-picker-label { margin-bottom:7px!important; font-size:10px!important; font-weight:700!important; color:#98a2b3!important; text-transform:uppercase!important; letter-spacing:.5px!important; }
.rhp-form .rhp-time-hour-grid { display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:5px!important; }
.rhp-form .rhp-time-minute-grid,.rhp-form .rhp-time-ap-grid { display:grid!important; grid-template-columns:1fr!important; gap:5px!important; }
.rhp-form .rhp-time-custom-popover button {
  appearance:none!important; -webkit-appearance:none!important; width:100%!important; height:34px!important; margin:0!important; padding:0!important;
  display:flex!important; align-items:center!important; justify-content:center!important; background:#fff!important; color:#344054!important;
  border:1px solid #e4e7ec!important; border-radius:7px!important; box-shadow:none!important; font:600 12px/1 Roboto,Arial,sans-serif!important; cursor:pointer!important;
}
.rhp-form .rhp-time-custom-popover button:hover,
.rhp-form .rhp-time-custom-popover button:focus { background:#f5f6ff!important; color:#4338ca!important; border-color:#c7c3ff!important; outline:none!important; }
.rhp-form .rhp-time-custom-popover button.active { background:#4f46e5!important; color:#fff!important; border-color:#4f46e5!important; }
.rhp-form .rhp-time-custom-footer { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:10px!important; margin-top:14px!important; padding-top:12px!important; border-top:1px solid #eef0f2!important; }
.rhp-form .rhp-time-custom-footer span { font-size:11px!important; color:#98a2b3!important; }
.rhp-form .rhp-time-custom-footer .rhp-time-custom-done { width:auto!important; min-width:58px!important; padding:0 12px!important; background:#4f46e5!important; color:#fff!important; border-color:#4f46e5!important; }
.rhp-form .rhp-time-custom-footer .rhp-time-custom-done:hover { background:#4338ca!important; color:#fff!important; }
.rhp-form .rhp-hours-display { height:46px!important; display:flex!important; align-items:center!important; box-sizing:border-box!important; background:#f8f9fc!important; border:1px solid #e4e7ec!important; border-radius:9px!important; padding:0 12px!important; }
.rhp-form .rhp-hours-display input { border:0!important; background:transparent!important; box-shadow:none!important; padding:0 7px!important; height:42px!important; font-weight:700!important; color:#344054!important; }
@media(max-width:850px){.rhp-form .rhp-time-row{grid-template-columns:1fr 1fr!important}.rhp-form .rhp-time-row .rhp-time-field:last-child{grid-column:1/-1!important}}
@media(max-width:560px){.rhp-form .rhp-time-row{grid-template-columns:1fr!important}.rhp-form .rhp-time-row .rhp-time-field:last-child{grid-column:auto!important}.rhp-form .rhp-time-custom-popover{width:min(330px,calc(100vw - 32px))!important}}


/* 1.4.15 — normalización de fecha y archivos en frontend */
.rhp-native-date,.rhp-native-file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.rhp-modern-date{position:relative!important;width:100%!important;display:block!important}
.rhp-table-filterbar .rhp-modern-date{width:100%!important;min-width:150px!important}
.rhp-table-filterbar .rhp-modern-date-trigger{height:42px!important}
.rhp-modern-date-trigger{width:100%!important;height:46px!important;display:flex!important;align-items:center!important;gap:10px!important;justify-content:space-between!important;padding:0 13px!important;background:#fff!important;color:#344054!important;border:1px solid #d9dee8!important;border-radius:9px!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important;font:500 14px/1 Roboto,Arial,sans-serif!important;text-align:left!important;cursor:pointer!important}
.rhp-modern-date-trigger:hover,.rhp-modern-date.is-open .rhp-modern-date-trigger{background:#fff!important;color:#344054!important;border-color:#aab3c2!important;box-shadow:0 0 0 3px rgba(79,70,229,.07)!important}
.rhp-modern-date-label{flex:1!important;color:#344054!important}.rhp-modern-date-label:empty{color:#98a2b3!important}.rhp-modern-date-icon{color:#4f46e5!important;font-size:17px!important}
.rhp-modern-date-popover{display:none!important;position:absolute!important;z-index:1000003!important;left:0!important;top:calc(100% + 7px)!important;width:300px!important;max-width:calc(100vw - 32px)!important;padding:14px!important;box-sizing:border-box!important;background:#fff!important;color:#344054!important;border:1px solid #e4e7ec!important;border-radius:12px!important;box-shadow:0 18px 40px rgba(16,24,40,.16)!important}
.rhp-modern-date.is-open .rhp-modern-date-popover{display:block!important}
.rhp-form .rhp-date-head{display:grid!important;grid-template-columns:34px 1fr 34px!important;align-items:center!important;gap:8px!important;margin-bottom:12px!important}.rhp-form .rhp-date-title{text-align:center!important;font-size:13px!important;text-transform:capitalize!important;color:#1d2939!important}
.rhp-form .rhp-date-nav{width:34px!important;height:34px!important;padding:0!important;background:#fff!important;color:#344054!important;border:1px solid #e4e7ec!important;border-radius:7px!important;font-size:21px!important;line-height:1!important}.rhp-form .rhp-date-nav:hover{background:#f5f6ff!important;color:#4338ca!important}
.rhp-form .rhp-date-week,.rhp-form .rhp-date-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:4px!important}.rhp-form .rhp-date-week{margin-bottom:5px!important}.rhp-form .rhp-date-week span{text-align:center!important;font-size:10px!important;font-weight:700!important;color:#98a2b3!important;text-transform:uppercase!important}
.rhp-form .rhp-date-day{height:32px!important;width:100%!important;padding:0!important;border:0!important;border-radius:7px!important;background:#fff!important;color:#344054!important;font:500 12px/1 Roboto,Arial,sans-serif!important;cursor:pointer!important}.rhp-form .rhp-date-day:hover{background:#f5f6ff!important;color:#4338ca!important}.rhp-form .rhp-date-day.muted{color:#c0c6d0!important}.rhp-form .rhp-date-day.today{box-shadow:inset 0 0 0 1px #c7c3ff!important}.rhp-form .rhp-date-day.selected{background:#4f46e5!important;color:#fff!important;font-weight:700!important}
.rhp-form .rhp-date-footer{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;margin-top:12px!important;padding-top:11px!important;border-top:1px solid #eef0f2!important}.rhp-form .rhp-date-footer-left{display:flex!important;gap:6px!important}.rhp-form .rhp-date-footer button{width:auto!important;height:32px!important;padding:0 11px!important;border:1px solid #e4e7ec!important;border-radius:7px!important;background:#fff!important;color:#475467!important;font:600 11px/1 Roboto,Arial,sans-serif!important}.rhp-form .rhp-date-footer button:hover{background:#f5f6ff!important;color:#4338ca!important}.rhp-form .rhp-date-accept{background:#4f46e5!important;color:#fff!important;border-color:#4f46e5!important}.rhp-form .rhp-date-accept:hover{background:#4338ca!important;color:#fff!important}
.rhp-form .rhp-modern-file{position:relative!important}.rhp-form .rhp-file-control{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-top:6px!important}.rhp-form .rhp-file-trigger{height:40px!important;padding:0 14px!important;background:#fff!important;color:#344054!important;border:1px solid #d0d5dd!important;border-radius:8px!important;font:600 12px/1 Roboto,Arial,sans-serif!important;cursor:pointer!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important}.rhp-form .rhp-file-trigger:hover{background:#f8f9fc!important;border-color:#aab3c2!important;color:#4338ca!important}.rhp-form .rhp-file-names{font-size:12px!important;color:#667085!important;max-width:70%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.rhp-form .rhp-file-hint{display:block!important;margin-top:7px!important;color:#667085!important;font-size:11px!important}


/* ---- 1.4.16: captura compacta sin elementos auxiliares ---- */
.rhp-dash-header {
    gap: 0;
}
.rhp-dash-header-texto {
    min-width: 0;
}
.rhp-form-only {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-bottom: 18px;
}
.rhp-form-only .rhp-form-main-card {
    width: 100%;
    box-sizing: border-box;
}
.rhp-form-only .rhp-form-card-header {
    margin-bottom: 14px;
}
/* Elementos retirados del flujo visual: no reservan espacio. */
.rhp-dash-header-icon,
.rhp-tips-card {
    display: none !important;
}

/* ---- 1.4.17: filtros de tablas ---- */
.rhp-table-filterbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:13px 14px;background:#f8f9fc;border:1px solid #e4e7ec;border-radius:10px}
.rhp-filter-group{display:flex;flex-direction:column;gap:5px;min-width:170px}
.rhp-filter-group label{font-size:10px!important;font-weight:700!important;color:#667085!important;text-transform:uppercase!important;letter-spacing:.04em!important;margin:0!important}
.rhp-filter-group select,.rhp-filter-group input[type=date]{height:38px!important;min-width:170px;padding:0 11px!important;background:#fff!important;color:#344054!important;border:1px solid #d0d5dd!important;border-radius:8px!important;box-sizing:border-box!important;font:500 12px/38px Roboto,Arial,sans-serif!important;box-shadow:none!important}
.rhp-filter-group select:focus,.rhp-filter-group input[type=date]:focus{outline:none!important;border-color:#aab3c2!important;box-shadow:0 0 0 3px rgba(79,70,229,.07)!important}
.rhp-filter-date{min-width:145px}.rhp-filter-date input[type=date]{min-width:145px}
.rhp-filter-clear{height:38px!important;padding:0 13px!important;background:#fff!important;color:#475467!important;border:1px solid #d0d5dd!important;border-radius:8px!important;font:600 12px/38px Roboto,Arial,sans-serif!important;cursor:pointer!important;box-shadow:none!important}
.rhp-filter-clear:hover{background:#f5f6ff!important;color:#4338ca!important;border-color:#b9b5ff!important}
.rhp-filter-count{margin-left:auto;padding-bottom:9px;color:#667085;font-size:11px;font-weight:600;white-space:nowrap}
.rhp-table-wrap{width:100%;overflow-x:auto}
.rhp-tabla tr[hidden]{display:none!important}
.rhp-filter-empty td{text-align:center!important;color:#667085!important;padding:18px!important;background:#fafbfc!important}
@media(max-width:900px){.rhp-filter-group,.rhp-filter-group select,.rhp-filter-group input[type=date]{width:100%;min-width:0}.rhp-filter-clear{width:100%}.rhp-filter-count{margin-left:0;width:100%;padding-bottom:0}.rhp-table-filterbar{align-items:stretch}}

/* 1.4.21 — total de horas limpio: solo muestra el valor. */
.rhp-form .rhp-hours-display{justify-content:flex-start!important;background:#fff!important;}
.rhp-form .rhp-hours-display input{width:100%!important;padding:0!important;text-align:left!important;}
.rhp-form .rhp-hours-display>span{display:none!important;}
.rhp-form .rhp-hours-display .fa-calculator{display:none!important;}


/* ---- 1.4.22: filtros de historial compactos y en una sola fila ---- */
/* Las fechas del historial deben ocupar el mismo espacio compacto que los demás filtros. */
.rhp-table-filterbar-history {
    align-items: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
}
.rhp-table-filterbar-history .rhp-filter-group {
    flex: 0 0 170px !important;
    width: 170px !important;
    min-width: 0 !important;
}
.rhp-table-filterbar-history .rhp-filter-date {
    flex: 0 0 145px !important;
    width: 145px !important;
    min-width: 0 !important;
}
.rhp-table-filterbar-history .rhp-filter-date .rhp-modern-date {
    display: block !important;
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
}
.rhp-table-filterbar-history .rhp-filter-date .rhp-modern-date-trigger {
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
    height: 38px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
}
.rhp-table-filterbar-history .rhp-filter-date .rhp-modern-date-icon {
    font-size: 14px !important;
}
.rhp-table-filterbar-history .rhp-filter-date .rhp-modern-date-popover {
    width: 300px !important;
}
.rhp-table-filterbar-history .rhp-filter-clear {
    flex: 0 0 auto !important;
}
.rhp-table-filterbar-history .rhp-filter-count {
    flex: 0 0 auto !important;
}
@media (max-width: 1100px) {
    .rhp-table-filterbar-history {
        flex-wrap: wrap !important;
    }
    .rhp-table-filterbar-history .rhp-filter-group,
    .rhp-table-filterbar-history .rhp-filter-date,
    .rhp-table-filterbar-history .rhp-filter-date .rhp-modern-date {
        flex-basis: 145px !important;
        width: 145px !important;
    }
    .rhp-table-filterbar-history .rhp-filter-group:not(.rhp-filter-date),
    .rhp-table-filterbar-history .rhp-filter-group:not(.rhp-filter-date) select {
        width: 170px !important;
    }
}
@media (max-width: 720px) {
    .rhp-table-filterbar-history {
        flex-wrap: wrap !important;
    }
    .rhp-table-filterbar-history .rhp-filter-group,
    .rhp-table-filterbar-history .rhp-filter-date,
    .rhp-table-filterbar-history .rhp-filter-date .rhp-modern-date,
    .rhp-table-filterbar-history .rhp-filter-date .rhp-modern-date-trigger {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex-basis: 100% !important;
    }
}

/* ================================================================
   1.4.24 — Evidencias en modal/carrusel, sin expandir filas
   ================================================================ */
.rhp-evidence-button{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;padding:7px 11px!important;border:1px solid #d7ddf0!important;border-radius:8px!important;background:#fff!important;color:#4f46e5!important;font:600 12px/1.2 Roboto,Arial,sans-serif!important;cursor:pointer!important;box-shadow:none!important;text-decoration:none!important;white-space:nowrap!important}
.rhp-evidence-button:hover{background:#f5f3ff!important;border-color:#b9b2ff!important;color:#4338ca!important}
body.rhp-modal-open{overflow:hidden!important}
.rhp-evidence-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.rhp-evidence-modal.is-open{display:flex}
.rhp-evidence-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(3px)}
.rhp-evidence-dialog{position:relative;z-index:1;width:min(1000px,94vw);height:min(760px,90vh);display:flex;flex-direction:column;background:#fff;border:1px solid #e3e7ef;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.25);overflow:hidden}
.rhp-evidence-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #e7eaf0;background:#fff}
.rhp-evidence-head strong{font-size:16px;color:#111827}.rhp-evidence-counter{margin-left:9px;font-size:12px;color:#6b7280}
.rhp-evidence-close{width:34px;height:34px;border:0!important;border-radius:8px!important;background:#f3f4f6!important;color:#374151!important;font-size:25px!important;line-height:1!important;cursor:pointer!important;padding:0!important}
.rhp-evidence-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#f6f7fa;padding:18px 64px;box-sizing:border-box}
.rhp-evidence-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}
.rhp-evidence-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px;border:1px solid #d9deea!important;border-radius:50%!important;background:#fff!important;color:#374151!important;font-size:30px!important;line-height:35px!important;padding:0!important;cursor:pointer!important;box-shadow:0 3px 12px rgba(0,0,0,.12)!important}
.rhp-evidence-nav:hover:not(:disabled){background:#f5f3ff!important;color:#4f46e5!important}.rhp-evidence-nav:disabled{opacity:.35!important;cursor:default!important}.rhp-evidence-prev{left:14px}.rhp-evidence-next{right:14px}
.rhp-evidence-preview-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px}
.rhp-evidence-preview-frame{width:100%;height:100%;border:0;border-radius:6px;background:#fff}
.rhp-evidence-preview-media{max-width:100%;max-height:100%;border-radius:8px}.rhp-evidence-preview-audio{width:min(620px,90%)}
.rhp-evidence-generic{text-align:center;max-width:460px;padding:40px}.rhp-evidence-generic-icon{font-size:52px;margin-bottom:12px}.rhp-evidence-generic strong{display:block;font-size:16px;color:#111827}.rhp-evidence-generic p{color:#6b7280;font-size:13px;word-break:break-word}.rhp-evidence-generic-download{display:inline-flex;margin-top:10px;padding:9px 14px;border-radius:8px;background:#4f46e5;color:#fff!important;text-decoration:none;font-weight:600;font-size:13px}
.rhp-evidence-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 18px;border-top:1px solid #e7eaf0;background:#fff}.rhp-evidence-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4b5563;font-size:12px}.rhp-evidence-download{font-size:12px;font-weight:600;color:#4f46e5;text-decoration:none;white-space:nowrap}.rhp-evidence-download:hover{text-decoration:underline}
@media(max-width:700px){.rhp-evidence-modal{padding:10px}.rhp-evidence-dialog{width:100%;height:92vh;border-radius:12px}.rhp-evidence-stage{padding:14px 50px}.rhp-evidence-nav{width:36px;height:36px;font-size:25px}.rhp-evidence-prev{left:8px}.rhp-evidence-next{right:8px}}

/* ================================================================
   1.4.33 — estado vacío: centrado en el área blanca del launcher
   sin generar scroll vertical.
   ================================================================ */
html:has(.rhp-dashboard .rhp-empty-projects),
body:has(.rhp-dashboard .rhp-empty-projects) {
    overflow: hidden !important;
}

body:has(.rhp-dashboard .rhp-empty-projects) .wp-block-post-content,
body:has(.rhp-dashboard .rhp-empty-projects) .entry-content,
body:has(.rhp-dashboard .rhp-empty-projects) .site-content,
body:has(.rhp-dashboard .rhp-empty-projects) main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.rhp-dashboard:has(.rhp-empty-projects) {
    width: 100% !important;
    height: calc(100dvh - 95px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.rhp-dashboard .rhp-empty-projects {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    flex: 1 1 auto !important;
}

.rhp-dashboard .rhp-empty-projects-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111827 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    white-space: nowrap !important;
}

.rhp-dashboard .rhp-empty-projects-face {
    display: inline-block !important;
    margin: 0 0 0 5px !important;
    padding: 0 !important;
    font-size: 26px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

@media (max-width: 720px) {
    .rhp-dashboard .rhp-empty-projects-text { font-size: 24px !important; }
    .rhp-dashboard .rhp-empty-projects-face { font-size: 24px !important; }
}

/* 1.4.35 — normaliza la tipografía de los campos de texto y elimina el placeholder de bloqueos. */
.rhp-form textarea {
    font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

/* ================================================================
   1.4.38 — visor de comentarios
   ================================================================ */
.rhp-comments-button{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;margin-top:0!important;padding:6px 10px!important;border:1px solid #d7ddf0!important;border-radius:8px!important;background:#fff!important;color:#4f46e5!important;font:600 12px/1.2 Roboto,Arial,sans-serif!important;cursor:pointer!important;box-shadow:none!important;text-decoration:none!important;white-space:nowrap!important}
.rhp-comments-button:hover{background:#f5f3ff!important;border-color:#b9b2ff!important;color:#4338ca!important}
.rhp-comments-modal{position:fixed;inset:0;z-index:1000000;display:none;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.rhp-comments-modal.is-open{display:flex}
.rhp-comments-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(3px)}
.rhp-comments-dialog{position:relative;z-index:1;width:min(720px,94vw);max-height:min(720px,88vh);display:flex;flex-direction:column;background:#fff;border:1px solid #e3e7ef;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.25);overflow:hidden}
.rhp-comments-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #e7eaf0;background:#fff}
.rhp-comments-head strong{font-size:16px;color:#111827}
.rhp-comments-close{width:34px;height:34px;border:0!important;border-radius:8px!important;background:#f3f4f6!important;color:#374151!important;font-size:25px!important;line-height:1!important;cursor:pointer!important;padding:0!important}
.rhp-comments-body{padding:18px;overflow:auto;background:#f6f7fa}
.rhp-comment-block{padding:16px 18px;margin:0 0 12px;border:1px solid #e3e7ef;border-radius:12px;background:#fff}
.rhp-comment-block:last-child{margin-bottom:0}
.rhp-comment-block h3{margin:0 0 9px;font:700 12px/1.3 Roboto,Arial,sans-serif;text-transform:uppercase;letter-spacing:.35px;color:#475467}
.rhp-comment-text{white-space:pre-wrap;overflow-wrap:anywhere;font:400 14px/1.55 Roboto,Arial,sans-serif;color:#1f2937}
.rhp-comment-text.is-empty{color:#98a2b3}
.rhp-comment-block-danger{border-color:#f1d2d2}
.rhp-comment-block-danger h3{color:#b42318}
.rhp-flag{display:inline-flex;align-items:center;gap:4px}
.rhp-flag-stop{font-size:13px;line-height:1}
@media(max-width:700px){.rhp-comments-modal{padding:10px}.rhp-comments-dialog{width:100%;max-height:92vh;border-radius:12px}.rhp-comments-body{padding:12px}.rhp-comment-block{padding:14px}}


/* 1.4.41 — alineación uniforme de controles dentro de las filas de registros. */
.rhp-tabla td { vertical-align: middle !important; }
.rhp-tabla td > .rhp-comments-button,
.rhp-tabla td > .rhp-evidence-button { margin-top: 0 !important; vertical-align: middle !important; }
.rhp-tabla td > .rhp-flag { vertical-align: middle !important; }
.rhp-tabla td:last-child { white-space: nowrap; }
