﻿/* styles e-dialog, e-grid showDeleteConfirmDialog */
.e-dlg-overlay {background: rgba(0,0,0,0.4) !important;} /* grid difuminado cuando se muestra showDeleteConfirmDialog */
.e-dialog:not(.app-pdf-dialog) { max-height: 480px; }
/* diálogo PDF */
.app-pdf-dialog.e-dialog {
  height: 625px;
  max-height: 700px; 
  min-height: 520px;
  display: flex;
  flex-direction: column;
}
.e-dlg-container .e-dialog {background-color: #e8f3f6;padding: 0 !important;border-radius: 5px; box-shadow: 0 3px 5px rgba(33,41,52,.75); box-sizing: content-box;}
.e-dlg-header-content {position: relative;border-bottom: none; background: #409bc2; margin: 0px !important; height:50px;}
.e-dialog .e-dlg-header {color: white; font-weight:bold; font-size:18px !important; line-height: 1 !important;}
.e-dlg-content {background:transparent;margin-top:15px;font-weight:bold;font-size:16px !important;}
.e-control e-btn {margin-bottom:0px;}
.e-grid .e-toolbar .e-tbar-btn-text,.e-grid .e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn-text {display: none;} /*No mostrar texto en los íconos del toolbar*/
/* button close */
.e-dialog .e-dlg-header-content .e-icon-dlg-close {color: #fff; margin-top:-15px;}
.e-dlg-header-content .e-dlg-closeicon-btn .e-icon-dlg-close {color: #fff;font-size: 18px;line-height: 1;}
.e-dialog .e-btn .e-dlg-closeicon-btn:hover span {color: #8ECBFF;}
.e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn:hover {background-color: rgba(255,255,255, 0.10);}
.e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn:focus {background-color: rgba(255,255,255, 0.10);}
.e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn:active .e-icon-dlg-close {color: #fff;}
.e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn:focus .e-icon-dlg-close {color: #fff;}
.e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn:hover .e-icon-dlg-close {color: #fff;}
.e-footer-content {height:65px;}
/* confirmDialog */
.app-confirm-dialog .e-footer-content { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; padding:12px !important; height:auto; }
.app-confirm-dialog .e-footer-content .e-btn { margin:0 !important; min-width:120px; white-space:normal; line-height:1.2; }
.app-confirm-dialog .e-dlg-content { max-height:50vh; overflow:auto; }
/* showEjsDialog (mensaje simple) */
.app-message-dialog .e-dlg-content {font-weight: normal;padding: 10px 18px 0 18px;}
/* Centramos botón Aceptar */
.app-message-dialog .e-footer-content { display:flex; justify-content:center; align-items:center; gap:8px; padding:12px !important; height:auto; }
.app-message-dialog .e-footer-content .e-btn { margin:0 !important; min-width:140px; }
/* Dinámica una línea / multi-línea */
.app-message-dialog.single-line .e-dlg-content {text-align: center;}
.app-message-dialog.multi-line .e-dlg-content {text-align: justify;}
.app-confirm-dialog.single-line .e-dlg-content {text-align: center;}
.app-confirm-dialog.multi-line .e-dlg-content {text-align: justify;}
/* (Legacy) Evitar flash (ya no se usa 'pre-align', mantener solo si quedara en markup) */
.app-message-dialog.pre-align .e-dlg-content,
.app-confirm-dialog.pre-align .e-dlg-content {visibility: hidden;}
/* confirmDialog - Ajustar ancho en pantallas pequeñas (responsive) */
@media (max-width: 480px) {
    .app-confirm-dialog.e-dialog {width: 95% !important;max-width: 480px;}
    .app-confirm-dialog .e-footer-content .e-btn {flex: 1 1 100%;min-width: 0;}
}
/* --- Normalización estados botón primario (evita borde/blanco en Home) --- */
.app-message-dialog .e-footer-content .e-btn.e-primary,
.app-message-dialog .e-footer-content .e-btn.e-primary:focus,
.app-message-dialog .e-footer-content .e-btn.e-primary:focus-visible,
.app-message-dialog .e-footer-content .e-btn.e-primary:active,
.app-message-dialog .e-footer-content .e-btn.e-primary:active:focus,
.app-confirm-dialog .e-footer-content .e-btn.e-primary,
.app-confirm-dialog .e-footer-content .e-btn.e-primary:focus,
.app-confirm-dialog .e-footer-content .e-btn.e-primary:focus-visible,
.app-confirm-dialog .e-footer-content .e-btn.e-primary:active,
.app-confirm-dialog .e-footer-content .e-btn.e-primary:active:focus {border:1px solid #409bc2 !important;outline:none !important;box-shadow:0 3px 5px rgba(33,41,52,.75) !important;background-color:#409bc2 !important;background-clip:padding-box;}
/* Asegurar hover consistente tras normalización */
.app-message-dialog .e-footer-content .e-btn.e-primary:hover,
.app-confirm-dialog .e-footer-content .e-btn.e-primary:hover {border:1px solid #336B87 !important;background-color:#336B87 !important;}
/* Eliminar posibles outlines internos (Firefox) */
.app-message-dialog .e-footer-content .e-btn.e-primary::-moz-focus-inner,
.app-confirm-dialog .e-footer-content .e-btn.e-primary::-moz-focus-inner {border:0;}
/* Transiciones controladas */
.app-message-dialog .e-footer-content .e-btn.e-primary,
.app-confirm-dialog .e-footer-content .e-btn.e-primary {transition:background-color .15s ease, transform .15s ease;}
/* Alineaciones opcionales de labels en confirmDialog */
.app-confirm-dialog .dlg-inputs .dlg-label-center { display:block; text-align:center; width:100%; }
.app-confirm-dialog .dlg-inputs .dlg-label-right  { display:block; text-align:right;  width:100%; }
/* Botón primario unificado para todos los diálogos Aceptar, Eliminar, Duplicar ... */
.e-dialog .e-footer-content .e-btn.e-primary {
  margin-top: 0;
  background-color: #409bc2 !important; /* azul claro */
  color: #ffffff; /* blanco */
  border: 1px solid #409bc2 !important; /* azul claro */
  border-radius: 5px;
  box-shadow: 0 3px 5px rgba(33,41,52,.75);
  box-sizing: content-box;
  transition: background-color .15s ease, transform .15s ease;
}
.e-dialog .e-footer-content .e-btn.e-primary:hover,
.e-dialog .e-footer-content .e-btn.e-primary:focus {
  background-color: #409bc2;  /* azul claro */
  border-color: #409bc2;  /* azul claro */
  transform: scale3d(1.2,1.2,1.2);
  outline: none;
}
/* button Cancelar */
.e-footer-content button.e-btn:not(.e-primary) {
    margin-top: 0px;
    border: 1px solid #409bc2 !important;
    background-color: #ffffff !important; /* blanco */
    color: #409bc2 !important; /* azul claro */
    border-radius: 5px;
    box-shadow: 0 3px 5px rgba(33,41,52,.75);
    box-sizing: content-box;
}
.e-footer-content button.e-btn:not(.e-primary):hover {
    background-color:#ffffff !important; /* blanco */
    transform:scale3d(1.2, 1.2, 1.2);
    border: 1px solid #409bc2 !important; /* azul claro */
    border-radius: 5px;
    box-shadow: 0 3px 5px rgba(33,41,52,.75);
    box-sizing: content-box;
}
/*Alineacción del icono ayuda*/
.dlg-input-group { margin-bottom:10px; }
.dlg-label-wrapper {
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom:4px;
}
.dlg-help-icon {
    color:#0d6efd;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    font-size:15px;
}
.dlg-help-icon:focus { outline:2px solid #0d6efd55; border-radius:4px; }
.dlg-help-icon i { pointer-events:none; }

/* Estilo icono ayuda en confirmDialog */
.app-confirm-dialog .dlg-help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-left: 6px;
    border-radius: 50%;
    cursor: pointer;
    background-color: #409bc2 !important;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    transition: background .2s, transform .15s;
    outline: none;
}
.app-confirm-dialog .dlg-help-icon i {
    font-size: 20px;
}
.app-confirm-dialog .dlg-help-icon:hover,
.app-confirm-dialog .dlg-help-icon:focus {
    background: var(--bs-info-hover, #0b5ed7);
    transform: scale(1.05);
}
.app-confirm-dialog .dlg-label-wrapper {
    display: flex;
    align-items: center;
}
/* Tooltip de icono ayuda en confirmDialog */
.dlg-help-tooltip.e-tooltip-wrap {
  z-index:30050 !important;
  pointer-events:auto;
  font-size:13px;
  line-height:1.25;
  max-width:260px;
  word-wrap:break-word;
}
.dlg-help-tooltip.e-tooltip-wrap .e-tip-content {
  padding:6px 10px;
  font-weight:500;
}

/* diálogo PDF - Contenido scroll interno */
.app-pdf-dialog .e-dlg-content {
  flex: 1 1 auto;
  overflow-y: auto;
  max-height: calc(80vh - 120px); /* 50 header + 65 footer + margen/padding aprox */
  padding-right: 8px;
}
.app-pdf-dialog .e-dlg-header,
.app-pdf-dialog .e-footer-content {
  flex: 0 0 auto;
}

.app-pdf-dialog .e-dlg-content {
  flex: 1 1 auto;
  overflow-y: auto;
  /* Reservamos espacio aproximado header + footer (ajusta si cambia paddings) */
  max-height: calc(1000px - 130px);
  padding-right: 8px;
}

/* Scroll fino */
.app-pdf-dialog .e-dlg-content::-webkit-scrollbar {
  width: 8px;
}
.app-pdf-dialog .e-dlg-content::-webkit-scrollbar-track {
  background: transparent;
}
.app-pdf-dialog .e-dlg-content::-webkit-scrollbar-thumb {
  background: #b7b7b7;
  border-radius: 4px;
}
.app-pdf-dialog .e-dlg-content::-webkit-scrollbar-thumb:hover {
  background: #999;
}

/* Responsive: en pantallas muy bajas usamos casi toda la altura */
@media (max-height: 650px) {
  .app-pdf-dialog.e-dialog {
    height: 90vh;
    max-height: 90vh;
  }
  .app-pdf-dialog .e-dlg-content {
    max-height: calc(90vh - 120px);
  }
}

/* Ajuste opcional de formulario interno */
.app-pdf-dialog .pdf-dialog-form textarea {
  resize: vertical;
}

/* Errores */
.app-pdf-dialog .pdf-field-error {
  color: #b3261e;
  font-size: 12px;
  margin-top: 2px;
}