diff --git a/Custom/installer/custom.css b/Custom/installer/custom.css index 5e852fc..d027a5f 100644 --- a/Custom/installer/custom.css +++ b/Custom/installer/custom.css @@ -1893,6 +1893,176 @@ body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B9 text-decoration: underline; } +/* ========================================================================== + SERVER STATS AND REPORTS (página Reports - admin.php?ADD=999999) + ========================================================================== */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) td[align="LEFT"][colspan="2"] { + padding: 12px 16px !important; + max-width: 1200px !important; + margin: 0 auto !important; + box-sizing: border-box !important; +} + +/* Contenedor principal de la página Reports */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) td[align="LEFT"][colspan="2"] > table { + width: 100% !important; + max-width: 100% !important; +} + +/* Cabecera: icono + título "Server Stats and Reports" */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) img[alt="Reports"][src*="icon_black_reports"] { + margin-right: 8px !important; + vertical-align: middle !important; + border-radius: 6px !important; +} + +/* Reducir espacio vertical de
en la página Reports */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"] br { + display: block !important; + margin: 2px 0 !important; + line-height: 0.2 !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) td[align="LEFT"][colspan="2"] font[size="4"] b { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important; + font-size: 1.2rem !important; + color: var(--color-primary-dark) !important; + display: inline-block !important; + margin-bottom: 2px !important; +} + +/* Tabla de columnas (Real-Time | Inbound/Outbound | Agent Reports) */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"][cellspacing="0"] { + width: 100% !important; + max-width: 100% !important; + border-collapse: separate !important; + border-spacing: 0 0 !important; + margin: 8px 0 !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"][cellspacing="0"] td[valign="TOP"] { + padding: 8px 12px !important; + vertical-align: top !important; + width: 33.33% !important; + max-width: 380px !important; +} + +/* Columnas espaciadoras vacías (solo  ) – colapsar para que no ocupen espacio */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"][cellspacing="0"] td[valign="TOP"]:nth-child(1), +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"][cellspacing="0"] td[valign="TOP"]:nth-child(3) { + width: 0 !important; + min-width: 0 !important; + max-width: 0 !important; + padding: 0 !important; + overflow: hidden !important; + border: none !important; + visibility: hidden !important; +} + +/* Columnas con contenido: repartir el espacio al 50 % cada una */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"][cellspacing="0"] td[valign="TOP"]:nth-child(2), +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"][cellspacing="0"] td[valign="TOP"]:nth-child(4) { + width: 50% !important; + max-width: none !important; +} + +/* Títulos de sección (Real-Time Reports, Agent Reports, etc.) */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"] b { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important; + font-size: var(--font-size-p2) !important; + color: var(--color-primary-dark) !important; + display: block !important; + margin: 6px 0 3px 0 !important; + padding-bottom: 2px !important; + border-bottom: 1px solid var(--color-bg-lighter) !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"] b:first-of-type { + margin-top: 0 !important; +} + +/* Listas de enlaces */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"] ul { + list-style: none !important; + margin: 0 0 6px 0 !important; + padding: 0 !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"] ul li { + margin: 1px 0 !important; + padding: 0 !important; + line-height: 1.3 !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"] ul li a, +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"] ul li a font { + color: var(--color-text-dark) !important; + text-decoration: none !important; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important; + font-size: var(--font-size-p2) !important; + transition: color 0.2s ease !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"] ul li a:hover, +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) table[cellpadding="5"] ul li a:hover font { + color: var(--color-primary-medium) !important; + text-decoration: underline !important; +} + +/* Tabla de servidores (SERVER | DESCRIPTION | IP | ...) */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) pre { + margin: 10px 0 !important; + padding: 0 !important; + overflow-x: auto !important; + font-family: inherit !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) pre table[border="1"] { + width: 100% !important; + max-width: 100% !important; + border-collapse: collapse !important; + border-radius: 8px !important; + overflow: hidden !important; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) pre table[border="1"] td, +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) pre table[border="1"] th { + padding: 5px 8px !important; + border: 1px solid var(--color-bg-lighter) !important; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important; + font-size: var(--font-size-p2) !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) pre table[border="1"] tr[bgcolor="#B6D3FC"] td { + background: var(--color-bg-lighter) !important; + background-color: var(--color-bg-lighter) !important; + font-weight: 600 !important; + color: var(--color-text-dark) !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) pre table[border="1"] tr[bgcolor="#B1E4BB"] td { + background: var(--color-bg-white) !important; + background-color: var(--color-bg-white) !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) pre table[border="1"] a, +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) pre table[border="1"] a font { + color: var(--color-primary-medium) !important; + text-decoration: none !important; +} + +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) pre table[border="1"] a:hover { + text-decoration: underline !important; +} + +/* Enlace Admin Utilities al final */ +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) pre + font a[href*="ADD=999994"], +body:has(table[bgcolor="white"][cellpadding="0"] td[width="170"][bgcolor="#015B91"]) td[bgcolor="#D9E6FE"]:has(img[src*="icon_black_reports"]) a[href*="ADD=999994"] font { + color: var(--color-primary-medium) !important; + font-size: var(--font-size-p2) !important; +} + /* ========================================================================== RESPONSIVE ========================================================================== */ @@ -2874,6 +3044,7 @@ table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"] td:first-child { text-align: center !important; padding: 10px 5px 15px 5px !important; margin-bottom: 30px !important; + } table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"] td:first-child img { @@ -2881,7 +3052,7 @@ table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"] td:first-child img { width: auto !important; height: auto !important; max-width: 100% !important; - max-height: 45px !important; + max-height: 300px !important; display: block !important; margin: 0 auto !important; border-radius: 8px !important; @@ -2984,8 +3155,7 @@ body table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"] td:not(:first-ch table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"] td:not(:first-child) a img[style], table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"] td:not(:first-child) a img[width], table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"] td:not(:first-child) a img[height] { - filter: brightness(0) invert(1) !important; - background-color: red !important; + width: 14px !important; height: 14px !important; flex-shrink: 0 !important; @@ -3011,6 +3181,177 @@ body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) > table[cel vertical-align: top !important; } +/* VERM Custom Report: contenido principal a la derecha del sidebar */ +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) .verm_custom_report_main { + flex: 1 !important; + min-width: 0 !important; + padding: 1rem 1.5rem !important; + box-sizing: border-box !important; +} + +/* ========== VERM Custom Report - formulario (distribución y diseño) ========== */ +.verm_custom_report_main { + font-family: var(--font-family) !important; + color: var(--color-text-dark) !important; + max-width: 960px !important; +} + +.verm_custom_report_main .admin_header { + font-size: 1.35rem !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + margin: 0 0 1rem 0 !important; + padding-bottom: 0.5rem !important; + border-bottom: 2px solid var(--color-primary-light) !important; +} + +/* Tabla principal: card con botones arriba y abajo */ +.verm_custom_report_main form[name="VERM_custom_report"] #admin_table { + width: 100% !important; + max-width: 100% !important; + border-collapse: separate !important; + border-spacing: 0 !important; + background: var(--color-bg-white) !important; + border-radius: 12px !important; + + overflow: hidden !important; +} + +/* Fila de botones superior e inferior */ +.verm_custom_report_main #admin_table > tbody > tr:first-child th, +.verm_custom_report_main #admin_table > tbody > tr:last-child th { + + background: var(--color-bg-lighter) !important; + border-bottom: 1px solid var(--color-primary-light) !important; + text-align: center !important; + vertical-align: middle !important; +} + +.verm_custom_report_main #admin_table > tbody > tr:last-child th { + border-bottom: none !important; + border-top: 1px solid var(--color-primary-light) !important; +} + +.verm_custom_report_main #admin_table > tbody > tr:first-child .actButton, +.verm_custom_report_main #admin_table > tbody > tr:first-child .refreshButton, +.verm_custom_report_main #admin_table > tbody > tr:last-child .actButton, +.verm_custom_report_main #admin_table > tbody > tr:last-child .refreshButton { + min-width: 0 !important; + width: 100% !important; + max-width: 180px !important; +} + +/* Celda que contiene el formulario interno */ +.verm_custom_report_main #admin_table td[colspan="4"] { + + background: var(--color-bg-white) !important; + vertical-align: top !important; +} + +/* Tabla interna del formulario (secciones) */ +.verm_custom_report_main #admin_table table { + width: 100% !important; + max-width: 100% !important; + border-collapse: collapse !important; + border-spacing: 0 !important; +} + +/* Encabezados de sección: Report Details, Preferences, Call filtering criteria, Non-contiguous time */ +.verm_custom_report_main .admin_sub_header { + font-size: 1rem !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + margin: 0 !important; + + border-bottom: 1px solid var(--color-primary-light) !important; + background: transparent !important; +} + +.verm_custom_report_main form table tbody tr:has(.admin_sub_header) th { + + border: none !important; + background: transparent !important; + vertical-align: bottom !important; +} + +.verm_custom_report_main form table tbody tr:has(.admin_sub_header) th:first-child { + text-align: left !important; +} + +/* Primera sección: menos margen arriba */ +.verm_custom_report_main form table tbody tr:first-child:has(.admin_sub_header) th { + padding-top: 0 !important; +} + +/* Filas de campos: label + input */ +.verm_custom_report_main form table tbody tr:not(:has(.admin_sub_header)) td { + + vertical-align: middle !important; + border: none !important; + border-bottom: 1px solid rgba(0, 139, 139, 0.12) !important; +} + +.verm_custom_report_main form table tbody tr:not(:has(.admin_sub_header)) td:first-child { + width: 1% !important; + white-space: nowrap !important; + padding-right: 16px !important; + font-size: 13px !important; + font-weight: 500 !important; + color: #374151 !important; + text-align: right !important; +} + +.verm_custom_report_main form table tbody tr:not(:has(.admin_sub_header)) td:last-child { + text-align: left !important; +} + +/* Inputs y selects dentro del custom report */ +.verm_custom_report_main .VERM_form_field { + font-size: 13px !important; + padding: 8px 10px !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 6px !important; + min-width: 120px !important; + max-width: 100% !important; +} + +.verm_custom_report_main select.VERM_form_field { + min-width: 100px !important; + cursor: pointer !important; +} + +.verm_custom_report_main select.VERM_form_field[size] { + min-height: 6em !important; +} + +/* Icono de ayuda alineado con el campo */ +.verm_custom_report_main form table td img[alt="HELP"], +.verm_custom_report_main form table td img[onclick*="FillAndShowHelpDiv"] { + width: 18px !important; + height: 18px !important; + vertical-align: middle !important; + margin-left: 8px !important; + cursor: pointer !important; + opacity: 0.85 !important; +} + +.verm_custom_report_main form table td img[alt="HELP"]:hover, +.verm_custom_report_main form table td img[onclick*="FillAndShowHelpDiv"]:hover { + opacity: 1 !important; +} + +/* Agrupar input + ayuda en línea */ +.verm_custom_report_main form table tbody tr:not(:has(.admin_sub_header)) td:last-child { + display: table-cell !important; +} + +/* Campos de rango (Between X and Y) */ +.verm_custom_report_main form table td .VERM_form_field.VERM_numeric_field { + min-width: 60px !important; + width: 60px !important; + text-align: center !important; +} + /* Responsive - mantener sidebar y contenido lado a lado */ @media (max-width: 768px) { body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) { @@ -3021,7 +3362,6 @@ body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) > table[cel width: 140px !important; min-width: 140px !important; max-width: 140px !important; - padding: 15px 3px !important; } table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"] td:not(:first-child) { @@ -3193,14 +3533,15 @@ body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) #campaign_s font-weight: 500 !important; } -/* Panel de configuración - centrado en pantalla */ +/* Panel de configuración - centrado en pantalla, ancho compacto */ body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) #campaign_select_list { position: fixed !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; - max-width: 90vw !important; - max-height: 90vh !important; + max-width: min(680px, 92vw) !important; + width: min(680px, 92vw) !important; + max-height: 88vh !important; overflow: auto !important; } @@ -3211,6 +3552,19 @@ body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) #campaign_s visibility: visible !important; } +/* Desenfoque del fondo cuando el panel de opciones está abierto */ +body:has(#campaign_select_list[style*="z-index: 21"])::before, +body:has(#campaign_select_list[style*="z-index:21"])::before { + content: "" !important; + position: fixed !important; + inset: 0 !important; + backdrop-filter: blur(6px) !important; + -webkit-backdrop-filter: blur(6px) !important; + background: rgba(0, 0, 0, 0.12) !important; + z-index: 999 !important; + pointer-events: none !important; +} + /* Cuando el panel está oculto (z-index < 0), respetar el estado hidden */ body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) #campaign_select_list[style*="z-index: -1"], body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) #campaign_select_list[style*="z-index:-1"] { @@ -3224,6 +3578,14 @@ body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) #campaign_s box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important; border: 1px solid var(--color-bg-light) !important; margin: 0 auto !important; + max-width: 100% !important; + width: auto !important; + table-layout: auto !important; +} + +/* Panel más compacto: menos padding en celdas */ +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) #campaign_select_list table.realtime_settings_table td { + padding: 6px 8px !important; } /* Botón Close Panel */ @@ -3268,196 +3630,1760 @@ body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) input[type= transition: border-color 0.2s ease !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) select:focus, -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) input[type="text"]:focus { - outline: none !important; - border-color: var(--color-primary-medium) !important; - box-shadow: 0 0 0 2px var(--bg-decorative-1) !important; +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) select:focus, +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) input[type="text"]:focus { + outline: none !important; + border-color: var(--color-primary-medium) !important; + box-shadow: 0 0 0 2px var(--bg-decorative-1) !important; +} + +/* Botón SUBMIT */ +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) input[type="button"][value="SUBMIT"] { + background: var(--color-primary-medium) !important; + color: var(--color-text-light) !important; + border: none !important; + padding: 6px 12px !important; + border-radius: 4px !important; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important; + font-size: var(--font-size-p1) !important; + font-weight: 500 !important; + cursor: pointer !important; + transition: all 0.2s ease !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) input[type="button"][value="SUBMIT"]:hover { + background: var(--color-primary-dark) !important; + transform: translateY(-1px) !important; + box-shadow: 0 2px 6px rgba(0, 139, 139, 0.3) !important; +} + +/* Tablas de estadísticas - Estilo mejorado - con scroll horizontal cuando sea necesario */ +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) { + background: var(--color-bg-white) !important; + border-collapse: collapse !important; + margin: 8px 0 !important; + border-radius: 8px !important; + overflow-x: auto !important; + overflow-y: visible !important; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important; + border: 1px solid var(--color-bg-lighter) !important; + display: block !important; + width: 100% !important; + max-width: 100% !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) tbody { + display: table !important; + width: 100% !important; + min-width: 100% !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) tbody tr { + display: table-row !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) td { + padding: 8px 12px !important; + border-bottom: 1px solid var(--color-bg-lighter) !important; + transition: background-color 0.2s ease !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) tr:hover td { + background: var(--bg-decorative-1) !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) tr:last-child td { + border-bottom: none !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) font.top_settings_key { + color: var(--color-primary-dark) !important; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important; + font-size: var(--font-size-p1) !important; + font-weight: 600 !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) font.top_settings_val { + color: var(--color-text-dark) !important; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important; + font-size: var(--font-size-p1) !important; + font-weight: 500 !important; +} + +/* Tabla de llamadas en tiempo real - con scroll horizontal cuando sea necesario */ +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_calls_table { + background: var(--color-bg-white) !important; + border-radius: 4px !important; + overflow-x: auto !important; + overflow-y: visible !important; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important; + margin: 5px 0 !important; + display: block !important; + width: 100% !important; + max-width: 100% !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_calls_table tbody { + display: table !important; + width: 100% !important; + min-width: 100% !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_calls_table tbody tr { + display: table-row !important; +} + +/* Tabla principal de agentes - Estilo mejorado - con scroll horizontal cuando sea necesario */ +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table { + background: var(--color-bg-white) !important; + border-radius: 8px !important; + overflow-x: auto !important; + overflow-y: visible !important; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important; + margin: 10px 0 !important; + border: 1px solid var(--color-bg-lighter) !important; + border-collapse: separate !important; + border-spacing: 0 !important; + width: 100% !important; + max-width: 100% !important; + display: block !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tbody { + display: table !important; + width: 100% !important; + min-width: 100% !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tbody tr { + display: table-row !important; +} + +/* Encabezado de la tabla */ +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr[bgcolor="#C6C6C6"] { + background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary-medium) 100%) !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr[bgcolor="#C6C6C6"] td { + padding: 10px 12px !important; + font-weight: 600 !important; + border-bottom: 2px solid var(--color-primary-medium) !important; + color: var(--color-text-light) !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr[bgcolor="#C6C6C6"] font.top_head_key { + color: var(--color-text-light) !important; + font-size: var(--font-size-p1) !important; + font-weight: 600 !important; +} + +/* Filas de datos */ +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr:not([bgcolor="#C6C6C6"]) { + background: var(--color-bg-white) !important; + transition: background-color 0.2s ease !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr:not([bgcolor="#C6C6C6"]):hover { + background: var(--bg-decorative-1) !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr:not([bgcolor="#C6C6C6"]) td { + padding: 8px 12px !important; + border-bottom: 1px solid var(--color-bg-lighter) !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr:not([bgcolor="#C6C6C6"]):last-child td { + border-bottom: none !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table font.top_head_key { + color: var(--color-text-dark) !important; + font-size: var(--font-size-p1) !important; + font-weight: 500 !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table font.top_head_val { + color: var(--color-text-dark) !important; + font-size: var(--font-size-p1) !important; + font-weight: 500 !important; +} + +/* Enlaces dentro de la tabla */ +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table a { + color: var(--color-primary-medium) !important; + text-decoration: none !important; + transition: color 0.2s ease !important; +} + +body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table a:hover { + color: var(--color-primary-dark) !important; + text-decoration: underline !important; +} + +/* ========== VERM Admin (form action VERM_main_report_page.php, #admin_table) ========== */ +form[action*="VERM_main_report_page"] { + font-family: var(--font-family) !important; + color: var(--color-text-dark) !important; + max-width: 1000px !important; + margin: 0 !important; +} + +/* Página de reportes (con #nav_table): usar todo el ancho */ +form[action*="VERM_main_report_page"]:has(#nav_table) { + max-width: none !important; + width: 100% !important; +} + +form[action*="VERM_main_report_page"] #admin_table { + width: 100% !important; + max-width: 1000px !important; + border-collapse: separate !important; + border-spacing: 0 !important; + background: var(--color-bg-white) !important; + border-radius: 12px !important; + overflow: hidden !important; +} + +/* Fila superior: usuario + enlaces (RELOAD | PRINT | NEW REPORT | LOG OUT) */ +form[action*="VERM_main_report_page"] .standard_font_small { + font-family: var(--font-family) !important; + font-size: 13px !important; + color: #374151 !important; + background: var(--color-bg-lighter) !important; + border-bottom: 1px solid var(--color-primary-light) !important; +} + +form[action*="VERM_main_report_page"] .standard_font_small b { + color: var(--color-primary-dark) !important; +} + +form[action*="VERM_main_report_page"] .header_link { + color: var(--color-primary-medium) !important; + text-decoration: none !important; + padding: 4px 8px !important; + border-radius: 6px !important; + transition: background 0.2s ease, color 0.2s ease !important; +} + +form[action*="VERM_main_report_page"] .header_link:hover { + background: var(--bg-decorative-1) !important; + color: var(--color-primary-dark) !important; +} + +form[action*="VERM_main_report_page"] .header_link img { + vertical-align: middle !important; +} + +/* Fila de filtros: Queue, Report, botones */ +form[action*="VERM_main_report_page"] .export_row { + background: var(--color-bg-white) !important; + border-bottom: 1px solid var(--shadow-text) !important; +} + +form[action*="VERM_main_report_page"] .export_row td { + padding: 10px 12px !important; + font-family: var(--font-family) !important; + font-size: 13px !important; + color: #4b5563 !important; +} + +form[action*="VERM_main_report_page"] .VERM_form_field { + font-family: var(--font-family) !important; + font-size: 13px !important; + padding: 8px 10px !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 6px !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; + transition: border-color 0.2s ease, box-shadow 0.2s ease !important; +} + +form[action*="VERM_main_report_page"] .VERM_form_field:focus { + outline: none !important; + border-color: var(--color-primary-dark) !important; + box-shadow: 0 0 0 2px var(--bg-decorative-1) !important; +} + +form[action*="VERM_main_report_page"] .actButton { + font-family: var(--font-family) !important; + font-size: 13px !important; + font-weight: 600 !important; + padding: 8px 16px !important; + color: var(--color-text-light) !important; + background: var(--color-primary-medium) !important; + border: none !important; + border-radius: 8px !important; + cursor: pointer !important; + transition: background 0.2s ease, transform 0.1s ease !important; +} + +form[action*="VERM_main_report_page"] .actButton:hover { + background: var(--color-primary-dark) !important; + transform: translateY(-1px) !important; +} + +form[action*="VERM_main_report_page"] .refreshButton { + font-family: var(--font-family) !important; + font-size: 16px !important; + padding: 8px 12px !important; + color: var(--color-primary-medium) !important; + background: var(--color-bg-lighter) !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 8px !important; + cursor: pointer !important; + transition: background 0.2s ease, color 0.2s ease !important; +} + +form[action*="VERM_main_report_page"] .refreshButton:hover { + background: var(--bg-decorative-1) !important; + color: var(--color-primary-dark) !important; +} + +/* Columnas de contenido (Agent report | Real-time | Settings) */ +form[action*="VERM_main_report_page"] .admin_column { + padding: 16px 20px !important; + vertical-align: top !important; + font-family: var(--font-family) !important; + font-size: 13px !important; + color: #1f2937 !important; + border-right: 1px solid var(--shadow-text) !important; + background: var(--color-bg-white) !important; +} + +form[action*="VERM_main_report_page"] .admin_column:last-child { + border-right: none !important; +} + +form[action*="VERM_main_report_page"] .rpt_header { + font-family: var(--font-family) !important; + font-size: 14px !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + display: block !important; +} + +form[action*="VERM_main_report_page"] .rpt_header img { + vertical-align: middle !important; + margin-left: 4px !important; +} + +form[action*="VERM_main_report_page"] .report_link { + color: var(--color-primary-medium) !important; + text-decoration: none !important; + display: inline-block !important; + border-radius: 4px !important; + transition: color 0.2s ease, background 0.2s ease !important; +} + +form[action*="VERM_main_report_page"] .report_link:hover { + color: var(--color-primary-dark) !important; + background: var(--bg-decorative-1) !important; +} + +form[action*="VERM_main_report_page"] .admin_column ul { + list-style: none !important; + padding-left: 0 !important; + margin: 8px 0 !important; +} + +form[action*="VERM_main_report_page"] .admin_column ul li { + padding: 4px 0 !important; + margin: 0 !important; +} + +form[action*="VERM_main_report_page"] .admin_column ul ul { + margin-left: 12px !important; + padding-left: 12px !important; + border-left: 2px solid var(--color-primary-light) !important; +} + +/* ========== VERM Report Page - #nav_table (logo, user, links, report type buttons) ========== */ +form[action*="VERM_main_report_page"] #nav_table { + width: 100% !important; + max-width: 100% !important; + border-collapse: collapse !important; + background: var(--color-bg-white) !important; + border-bottom: 1px solid var(--shadow-text) !important; + margin-bottom: 0 !important; + table-layout: auto !important; +} + +form[action*="VERM_main_report_page"] #nav_table .title_cell { + padding: 12px 16px !important; + vertical-align: middle !important; + font-family: var(--font-family) !important; + background: var(--color-bg-lighter) !important; + border-bottom: 1px solid var(--color-primary-light) !important; +} + +form[action*="VERM_main_report_page"] #nav_table .title_cell:first-child { + width: 1% !important; + white-space: nowrap !important; +} + +/* Celda usuario + enlaces: mantener RELOAD | PRINT | NEW REPORT | LOG OUT en una sola línea */ +form[action*="VERM_main_report_page"] #nav_table tr:first-child .title_cell:last-child { + white-space: nowrap !important; + min-width: 420px !important; + overflow: visible !important; +} + +form[action*="VERM_main_report_page"] #nav_table tr:first-child .title_cell:last-child .header_link, +form[action*="VERM_main_report_page"] #nav_table tr:first-child .title_cell:last-child .header_link img { + display: inline !important; + vertical-align: middle !important; +} + +form[action*="VERM_main_report_page"] #nav_table .title_cell:first-child a img { + max-height: 70px !important; + width: auto !important; + display: block !important; + border: 0 !important; +} + +form[action*="VERM_main_report_page"] #nav_table .title_cell:last-child a img { + display: inline !important; + vertical-align: middle !important; + max-height: 15px !important; + width: auto !important; + border: 0 !important; +} + +form[action*="VERM_main_report_page"] #nav_table .title_cell b { + color: var(--color-primary-dark) !important; + font-size: 13px !important; +} + +form[action*="VERM_main_report_page"] #nav_table .title_cell .header_link { + color: var(--color-primary-medium) !important; + text-decoration: none !important; + padding: 4px 8px !important; + border-radius: 6px !important; + font-size: 13px !important; + display: inline !important; + transition: background 0.2s ease, color 0.2s ease !important; +} + +form[action*="VERM_main_report_page"] #nav_table .title_cell .header_link:hover { + background: var(--bg-decorative-1) !important; + color: var(--color-primary-dark) !important; +} + +form[action*="VERM_main_report_page"] #nav_table .title_cell .header_link img { + vertical-align: middle !important; +} + +form[action*="VERM_main_report_page"] #nav_table .nav_header { + background: var(--color-primary-dark) !important; + padding: 0 !important; +} + +form[action*="VERM_main_report_page"] #nav_table .nav_header td { + padding: 8px 12px !important; + border: none !important; +} + +form[action*="VERM_main_report_page"] #nav_table .navigation_list { + list-style: none !important; + margin: 0 !important; + padding: 0 !important; + display: flex !important; + flex-wrap: wrap !important; + gap: 6px !important; +} + +form[action*="VERM_main_report_page"] #nav_table .navigation_list li { + display: inline-block !important; + margin: 0 !important; +} + +form[action*="VERM_main_report_page"] #nav_table .transparent_button { + font-family: var(--font-family) !important; + font-size: 12px !important; + font-weight: 500 !important; + padding: 6px 12px !important; + color: var(--color-text-light) !important; + background: transparent !important; + border: 1px solid rgba(255,255,255,0.5) !important; + border-radius: 6px !important; + cursor: pointer !important; + transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important; +} + +form[action*="VERM_main_report_page"] #nav_table .transparent_button:hover { + background: rgba(255,255,255,0.15) !important; + border-color: var(--color-text-light) !important; +} + +form[action*="VERM_main_report_page"] #nav_table .transparent_button.current_report { + background: var(--color-primary-light) !important; + border-color: var(--color-primary-light) !important; + color: var(--color-text-dark) !important; + font-weight: 600 !important; +} + +/* ========== VERM Wallboard (VERM_wallboards.php) ========== */ +body:has(.wallboard_title_row) { + font-family: var(--font-family) !important; + background: var(--color-bg-white) !important; + margin: 0 !important; +} + +body:has(.wallboard_title_row) .wallboard_title_row { + background: var(--color-primary-dark) !important; + color: var(--color-text-light) !important; + font-family: var(--font-family) !important; + font-size: 13px !important; + height: 28px !important; + border: none !important; +} + +body:has(.wallboard_title_row) .wallboard_title_cell { + padding: 0 6px !important; + vertical-align: middle !important; +} + +body:has(.wallboard_title_row) .view_button { + accent-color: var(--color-primary-light) !important; + cursor: pointer !important; +} + +body:has(.wallboard_title_row) input.play_button { + background: var(--color-primary-medium) !important; + border: none !important; + border-radius: 4px !important; + color: var(--color-text-light) !important; + cursor: pointer !important; + width: 20px !important; + height: 20px !important; + font-size: 10px !important; +} + +body:has(.wallboard_title_row) input.stop_button { + background: #c53030 !important; + border: none !important; + border-radius: 4px !important; + color: var(--color-text-light) !important; + cursor: pointer !important; + width: 20px !important; + height: 20px !important; + font-size: 10px !important; +} + +body:has(.wallboard_title_row) .header_link { + color: var(--color-primary-lightest) !important; + text-decoration: none !important; + padding: 2px 5px !important; + border-radius: 3px !important; + font-size: 12px !important; + transition: background 0.2s ease, color 0.2s ease !important; +} + +body:has(.wallboard_title_row) .header_link:hover { + background: rgba(255,255,255,0.2) !important; + color: var(--color-text-light) !important; +} + +body:has(.wallboard_title_row) td.widget_cell { + border: 1px solid var(--shadow-text) !important; + background: var(--color-bg-white) !important; + vertical-align: top !important; + height: 100px !important; + max-height: 100px !important; + min-height: 80px !important; +} + +/* Sobrescribir altura inline de las celdas */ +body:has(.wallboard_title_row) td.widget_cell[style] { + height: 100px !important; + max-height: 100px !important; +} + +/* Filas de una sola celda (Live Campaigns, Live Agents): más altura */ +body:has(.wallboard_title_row) td.widget_cell[colspan="8"], +body:has(.wallboard_title_row) td.widget_cell[colspan="7"] { + height: 200px !important; + max-height: 200px !important; +} + +body:has(.wallboard_title_row) td.widget_cell table.widget_contents { + height: 100% !important; + max-height: 100% !important; +} + +body:has(.wallboard_title_row) td.widget_cell:hover { + border-color: var(--color-primary-light) !important; +} + +body:has(.wallboard_title_row) table.widget_contents { + border-collapse: collapse !important; + border-radius: 4px !important; + overflow: hidden !important; + background: var(--color-bg-white) !important; + box-shadow: 0 1px 2px var(--shadow-light) !important; +} + +body:has(.wallboard_title_row) tr.widget_cell_title_bar { + font-family: var(--font-family) !important; + font-size: 12px !important; + font-weight: 600 !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-lighter) !important; + border-bottom: 1px solid var(--color-primary-light) !important; + height: 22px !important; +} + +body:has(.wallboard_title_row) tr.widget_cell_title_bar th, +body:has(.wallboard_title_row) tr.widget_cell_title_bar td { + padding: 1px 4px !important; +} + +body:has(.wallboard_title_row) tr.widget_cell_title_bar:hover { + background: var(--bg-decorative-1) !important; + color: var(--color-primary-dark) !important; +} + +body:has(.wallboard_title_row) .widget_edit_button { + font-family: var(--font-family) !important; + font-size: 11px !important; + padding: 1px 4px !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 3px !important; + background: var(--color-bg-white) !important; + color: var(--color-primary-medium) !important; + cursor: pointer !important; + transition: background 0.2s ease, color 0.2s ease !important; +} + +body:has(.wallboard_title_row) .widget_edit_button:hover { + background: var(--bg-decorative-1) !important; + color: var(--color-primary-dark) !important; +} + +body:has(.wallboard_title_row) td.widget_contents { + padding: 4px 6px !important; + font-family: var(--font-family) !important; + font-size: 12px !important; + color: var(--color-text-dark) !important; +} + +body:has(.wallboard_title_row) table.shaded { + background: var(--color-bg-lighter) !important; +} + +body:has(.wallboard_title_row) #widget_table { + font-family: var(--font-family) !important; + font-size: 11px !important; + border-collapse: collapse !important; + width: 100% !important; +} + +body:has(.wallboard_title_row) #widget_table tr.widget_table_header { + background: var(--color-primary-dark) !important; + color: var(--color-text-light) !important; + font-weight: 600 !important; + font-size: 11px !important; +} + +body:has(.wallboard_title_row) #widget_table td, +body:has(.wallboard_title_row) #widget_table th { + border: 1px solid var(--shadow-text) !important; + padding: 3px 4px !important; +} + +body:has(.wallboard_title_row) #widget_table tr:nth-child(even) { + background: var(--color-bg-lighter) !important; +} + +body:has(.wallboard_title_row) .wallboard_extra_large_text { + color: var(--color-text-dark) !important; + font-family: var(--font-family) !important; + font-size: 1.5rem !important; + line-height: 1.2 !important; +} + +body:has(.wallboard_title_row) .wallboard_large_text { + color: var(--color-text-dark) !important; + font-family: var(--font-family) !important; + font-size: 1.25rem !important; + line-height: 1.2 !important; +} + +body:has(.wallboard_title_row) .wallboard_medium_text { + color: #4b5563 !important; + font-family: var(--font-family) !important; + font-size: 1rem !important; +} + +body:has(.wallboard_title_row) .wallboard_small_text, +body:has(.wallboard_title_row) .wallboard_tiny_text { + color: #4b5563 !important; + font-family: var(--font-family) !important; + font-size: 0.85rem !important; +} + +body:has(.wallboard_title_row) div.widget_settings { + background: var(--color-bg-white) !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 6px !important; + box-shadow: 0 2px 10px var(--shadow-medium) !important; + padding: 6px !important; +} + +body:has(.wallboard_title_row) .widget_settings_title_cell, +body:has(.wallboard_title_row) .widget_settings_cell { + font-family: var(--font-family) !important; + color: var(--color-text-dark) !important; + font-size: 11px !important; + padding: 1px 3px !important; +} + +body:has(.wallboard_title_row) .widget_settings_form_field { + font-family: var(--font-family) !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 3px !important; + padding: 3px 4px !important; + font-size: 11px !important; +} + +body:has(.wallboard_title_row) .widget_form_button { + font-family: var(--font-family) !important; + font-size: 11px !important; + padding: 3px 8px !important; + border-radius: 3px !important; + border: 1px solid var(--color-primary-light) !important; + background: var(--color-bg-lighter) !important; + color: var(--color-primary-dark) !important; + cursor: pointer !important; + transition: background 0.2s ease !important; +} + +body:has(.wallboard_title_row) .widget_form_button:hover { + background: var(--bg-decorative-1) !important; +} + +/* Logo centrado y al 50% */ +body:has(.wallboard_title_row) .total_center { + display: flex !important; + justify-content: center !important; + align-items: center !important; + width: 100% !important; + height: 100% !important; + min-height: 100% !important; +} + +body:has(.wallboard_title_row) .total_center img, +body:has(.wallboard_title_row) .widget_contents img[src*="vicidial_admin_web_logo"] { + max-height: 50% !important; + max-width: 50% !important; + width: auto !important; + height: auto !important; + object-fit: contain !important; + display: block !important; +} + +/* Gauges/knobs (pureknob): reducir a la mitad y centrar */ +body:has(.wallboard_title_row) .widget_contents div[style*="211px"] { + width: 106px !important; + height: 106px !important; + margin-left: auto !important; + margin-right: auto !important; + display: block !important; +} + +body:has(.wallboard_title_row) .widget_contents div[style*="211px"] canvas { + width: 100% !important; + height: 100% !important; +} + +body:has(.wallboard_title_row) .widget_contents div[style*="241px"] { + width: 121px !important; + height: 121px !important; + margin-left: auto !important; + margin-right: auto !important; + display: block !important; +} + +body:has(.wallboard_title_row) .widget_contents div[style*="241px"] canvas { + width: 100% !important; + height: 100% !important; +} + +/* Centrar celdas que contienen el gauge (horizontal y vertical) */ +body:has(.wallboard_title_row) td.widget_contents:has(div[style*="211px"]), +body:has(.wallboard_title_row) td.widget_contents:has(div[style*="241px"]) { + text-align: center !important; + vertical-align: middle !important; +} + +/* ========== Real-Time Campaign Summary (AST_timeonVDADallSUMMARY.php) ========== */ +form[action*="AST_timeonVDADallSUMMARY.php"] { + font-family: var(--font-family) !important; + color: var(--color-text-dark) !important; + max-width: 1200px !important; + margin: 0 !important; + padding: 20px !important; + box-sizing: border-box !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="4"] { + width: 100% !important; + border-collapse: collapse !important; + background: var(--color-bg-white) !important; + border-radius: 12px !important; + overflow: hidden !important; + box-shadow: var(--vdc-shadow, 0 2px 8px rgba(0,0,0,0.08)) !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="4"] > tbody > tr > td { + padding: 16px 20px !important; + vertical-align: top !important; + border-bottom: 1px solid var(--shadow-text) !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="4"] > tbody > tr > td:first-child { + font-size: 14px !important; + line-height: 1.5 !important; +} + +/* Título y barra de controles */ +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="4"] td > b:first-of-type { + font-family: var(--font-family) !important; + font-size: 18px !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + display: inline !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="4"] td img[alt="HELP"] { + vertical-align: middle !important; + margin-left: 6px !important; + opacity: 0.85 !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="4"] td > a { + color: var(--color-primary-medium) !important; + text-decoration: none !important; + padding: 4px 8px !important; + border-radius: 6px !important; + font-size: 13px !important; + transition: background 0.2s ease, color 0.2s ease !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="4"] td > a:hover { + background: var(--bg-decorative-1) !important; + color: var(--color-primary-dark) !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="4"] td > a[href*="realtime_report"], +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="4"] td b > a { + font-weight: 600 !important; + color: var(--color-primary-dark) !important; +} + +/* Select y botón SUBMIT */ +form[action*="AST_timeonVDADallSUMMARY.php"] select[name="types"] { + font-family: var(--font-family) !important; + font-size: 13px !important; + padding: 8px 12px !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 8px !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; + margin: 0 8px 0 0 !important; + min-width: 180px !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] input[type="submit"][name="submit"] { + font-family: var(--font-family) !important; + font-size: 13px !important; + font-weight: 600 !important; + padding: 8px 20px !important; + color: var(--color-text-light) !important; + background: var(--color-primary-medium) !important; + border: none !important; + border-radius: 8px !important; + cursor: pointer !important; + transition: background 0.2s ease, transform 0.1s ease !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] input[type="submit"][name="submit"]:hover { + background: var(--color-primary-dark) !important; + transform: translateY(-1px) !important; +} + +/* Tabla de estadísticas por campaña (cellpadding=0) */ +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="0"][cellspacing="0"] { + width: 100% !important; + border-collapse: collapse !important; + margin: 8px 0 16px 0 !important; + font-size: 13px !important; + background: var(--color-bg-lighter) !important; + border-radius: 8px !important; + overflow: hidden !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="0"][cellspacing="0"] tr { + border-bottom: 1px solid rgba(0,0,0,0.06) !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="0"][cellspacing="0"] tr:last-child { + border-bottom: none !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="0"][cellspacing="0"] td { + padding: 8px 12px !important; + font-family: var(--font-family) !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="0"][cellspacing="0"] td[align="RIGHT"] { + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + width: 1% !important; + white-space: nowrap !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="0"][cellspacing="0"] td[align="LEFT"] { + color: var(--color-text-dark) !important; +} + +form[action*="AST_timeonVDADallSUMMARY.php"] table[cellpadding="0"][cellspacing="0"] font[size="2"] { + font-size: 13px !important; + font-family: var(--font-family) !important; +} + +/* Enlace Modify por campaña */ +form[action*="AST_timeonVDADallSUMMARY.php"] a[href*="admin.php?ADD=34"] { + font-size: 13px !important; +} + +/* ========== Real-Time Whiteboard Report (AST_rt_whiteboard_rpt.php) ========== */ +form[action*="AST_rt_whiteboard_rpt.php"] { + font-family: var(--font-family) !important; + color: var(--color-text-dark) !important; + max-width: 1200px !important; + margin: 0 !important; + padding: 20px !important; + box-sizing: border-box !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] > b:first-of-type { + font-size: 18px !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + display: inline-block !important; + margin-bottom: 12px !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] img[alt="HELP"] { + vertical-align: middle !important; + margin-left: 4px !important; + opacity: 0.85 !important; +} + +/* Panel de control: tabla principal */ +form[action*="AST_rt_whiteboard_rpt.php"] #report_control_panel table.question_td { + width: 100% !important; + border-collapse: separate !important; + border-spacing: 12px !important; + background: var(--color-bg-white) !important; + border-radius: 12px !important; + padding: 16px !important; + box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important; + border: 1px solid var(--shadow-text) !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] #report_control_panel table.question_td td { + padding: 8px 0 !important; + vertical-align: top !important; + font-size: 13px !important; +} + +/* Etiquetas embossed */ +form[action*="AST_rt_whiteboard_rpt.php"] .embossed { + font-family: var(--font-family) !important; + font-size: 13px !important; + font-weight: 400 !important; + color: var(--color-text-dark) !important; + text-shadow: none !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] .embossed br + select, +form[action*="AST_rt_whiteboard_rpt.php"] .embossed br + input { + margin-top: 6px !important; +} + +/* Selects e inputs del formulario */ +form[action*="AST_rt_whiteboard_rpt.php"] .form_field { + font-family: var(--font-family) !important; + font-size: 13px !important; + padding: 8px 10px !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 8px !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; + box-sizing: border-box !important; + transition: border-color 0.2s ease, box-shadow 0.2s ease !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] .form_field:focus { + outline: none !important; + border-color: var(--color-primary-dark) !important; + box-shadow: 0 0 0 2px var(--bg-decorative-1) !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] select.form_field { + min-height: 28px !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] select.form_field[size] { + min-height: 100px !important; +} + +/* Panel Target per unit / Target gross (panel_td) */ +form[action*="AST_rt_whiteboard_rpt.php"] .panel_td { + padding: 6px 10px !important; + font-family: var(--font-family) !important; + font-size: 13px !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] .panel_td[align="right"] { + font-weight: 600 !important; + color: var(--color-primary-dark) !important; +} + +/* Tabla Target per unit / Target gross sales: bordes redondos */ +form[action*="AST_rt_whiteboard_rpt.php"] table:has(.panel_td) { + border-radius: 10px !important; + overflow: hidden !important; + border: 1px solid var(--shadow-text) !important; + background: var(--color-bg-lighter) !important; +} + +/* Botones RUN REPORT (verde) y REPORTS (rojo) */ +form[action*="AST_rt_whiteboard_rpt.php"] .green_btn { + font-family: var(--font-family) !important; + font-size: 13px !important; + font-weight: 600 !important; + padding: 10px 20px !important; + color: var(--color-text-light) !important; + background: var(--color-primary-medium) !important; + border: none !important; + border-radius: 8px !important; + cursor: pointer !important; + transition: background 0.2s ease, transform 0.1s ease !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] .green_btn:hover { + background: var(--color-primary-dark) !important; + transform: translateY(-1px) !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] .red_btn { + font-family: var(--font-family) !important; + font-size: 13px !important; + font-weight: 600 !important; + padding: 10px 20px !important; + color: var(--color-text-light) !important; + background: #c53030 !important; + border: none !important; + border-radius: 8px !important; + cursor: pointer !important; + transition: background 0.2s ease, transform 0.1s ease !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] .red_btn:hover { + background: #9b2c2c !important; + transform: translateY(-1px) !important; +} + +/* Panel de visualización del reporte (cuando está visible) */ +form[action*="AST_rt_whiteboard_rpt.php"] #report_display_panel table.question_td { + background: var(--color-bg-lighter) !important; + border-radius: 12px !important; + padding: 16px !important; + border: 1px solid var(--shadow-text) !important; +} + +form[action*="AST_rt_whiteboard_rpt.php"] #report_display_panel .embossed.border2px { + font-family: var(--font-family) !important; + padding: 10px 12px !important; + border-radius: 8px !important; + border: 1px solid var(--color-primary-light) !important; + background: var(--color-bg-white) !important; +} + +/* ========== Recuadros de ayuda (HelpDisplayDiv / help_info) ========== */ +#HelpDisplayDiv.help_info { + font-family: var(--font-family) !important; + font-size: 13px !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 12px !important; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04) !important; + z-index: 10000 !important; + overflow: hidden !important; +} + +#HelpDisplayDiv.help_info table.help_td { + width: 100% !important; + max-width: 320px !important; + border-collapse: collapse !important; + border-spacing: 0 !important; + margin: 0 !important; +} + +#HelpDisplayDiv.help_info table.help_td td { + padding: 12px 14px !important; + vertical-align: top !important; + border: none !important; +} + +#HelpDisplayDiv.help_info table.help_td tr:first-child td { + background: var(--color-bg-lighter) !important; + border-bottom: 1px solid var(--color-primary-light) !important; + padding: 10px 14px !important; +} + +#HelpDisplayDiv.help_info .help_bold { + font-size: 14px !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; +} + +#HelpDisplayDiv.help_info td[onclick*="ClearAndHideHelpDiv"] { + cursor: pointer !important; + font-size: 14px !important; + color: var(--color-text-dark) !important; + transition: color 0.2s ease, background 0.2s ease !important; +} + +#HelpDisplayDiv.help_info td[onclick*="ClearAndHideHelpDiv"]:hover { + color: var(--color-primary-dark) !important; +} + +#HelpDisplayDiv.help_info td[onclick*="ClearAndHideHelpDiv"] b { + font-weight: 600 !important; +} + +#HelpDisplayDiv.help_info ul { + margin: 8px 0 0 0 !important; + padding-left: 20px !important; + line-height: 1.5 !important; +} + +#HelpDisplayDiv.help_info li { + margin: 6px 0 !important; + padding: 0 !important; +} + +/* ========== Inbound Call Stats / Closer Stats (AST_CLOSERstats.php) ========== */ +form[action*="AST_CLOSERstats.php"] { + font-family: var(--font-family) !important; + color: var(--color-text-dark) !important; + max-width: 1200px !important; + margin: 0 !important; + padding: 20px !important; + box-sizing: border-box !important; +} + +/* Tabla de filtros (bgcolor #D9E6FE) */ +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] { + width: 100% !important; + border-collapse: collapse !important; + background: var(--color-bg-lighter) !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 12px !important; + overflow: hidden !important; + box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important; +} + +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] td { + padding: 12px 14px !important; + vertical-align: top !important; + font-size: 13px !important; + border: none !important; +} + +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] input[type="TEXT"], +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] input[type="text"] { + font-family: var(--font-family) !important; + font-size: 13px !important; + padding: 8px 10px !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 8px !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; +} + +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] select { + font-family: var(--font-family) !important; + font-size: 13px !important; + padding: 8px 10px !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 8px !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; +} + +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] select[size] { + min-height: 80px !important; +} + +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] input[type="submit"] { + font-family: var(--font-family) !important; + font-size: 13px !important; + font-weight: 600 !important; + padding: 10px 20px !important; + color: var(--color-text-light) !important; + background: var(--color-primary-medium) !important; + border: none !important; + border-radius: 8px !important; + cursor: pointer !important; + transition: background 0.2s ease, transform 0.1s ease !important; +} + +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] input[type="submit"]:hover { + background: var(--color-primary-dark) !important; + transform: translateY(-1px) !important; +} + +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] a { + color: var(--color-primary-medium) !important; + text-decoration: none !important; + padding: 2px 6px !important; + border-radius: 4px !important; + transition: background 0.2s ease, color 0.2s ease !important; +} + +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] a:hover { + background: var(--bg-decorative-1) !important; + color: var(--color-primary-dark) !important; +} + +form[action*="AST_CLOSERstats.php"] table[bgcolor="#D9E6FE"] font { + font-family: var(--font-family) !important; + font-size: 13px !important; + color: var(--color-text-dark) !important; +} + +/* Contenedor del reporte (tabla exterior + pre) */ +body:has(form[action*="AST_CLOSERstats.php"]) table[cellpadding="3"]:first-of-type { + width: 100% !important; +} + +body:has(form[action*="AST_CLOSERstats.php"]) pre { + font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace !important; + font-size: 12px !important; + line-height: 1.45 !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; + border: 1px solid var(--shadow-text) !important; + border-radius: 10px !important; + padding: 16px 20px !important; + margin: 16px 0 0 0 !important; + overflow-x: auto !important; + white-space: pre !important; +} + +body:has(form[action*="AST_CLOSERstats.php"]) pre a { + color: var(--color-primary-medium) !important; + text-decoration: none !important; +} + +body:has(form[action*="AST_CLOSERstats.php"]) pre a:hover { + text-decoration: underline !important; + color: var(--color-primary-dark) !important; +} + +body:has(form[action*="AST_CLOSERstats.php"]) pre font[size="2"] { + font-size: 12px !important; +} + +/* Inbound Report (AST_CLOSERstats): título e icono ayuda fijados abajo (flotantes) */ +body:has(form[action*="AST_CLOSERstats.php"]) { + padding-bottom: 56px !important; +} + +body:has(form[action*="AST_CLOSERstats.php"]) > table[bgcolor="#015B91"] + b { + position: fixed !important; + bottom: 0 !important; + left: 0 !important; + right: 0 !important; + z-index: 9998 !important; + margin: 0 !important; + padding: 12px 20px !important; + font-family: var(--font-family) !important; + font-size: 14px !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + background: var(--color-bg-lighter) !important; + border-top: 1px solid var(--color-primary-light) !important; + box-shadow: 0 -2px 10px rgba(0,0,0,0.06) !important; +} + +body:has(form[action*="AST_CLOSERstats.php"]) > table[bgcolor="#015B91"] + b + img[alt="HELP"] { + position: fixed !important; + bottom: 12px !important; + left: 160px !important; + z-index: 9999 !important; + vertical-align: middle !important; +} + +/* ========== Inbound Summary Hourly Report (AST_CLOSERsummary_hourly.php) ========== */ +form[action*="AST_CLOSERsummary_hourly.php"] { + font-family: var(--font-family) !important; + color: var(--color-text-dark) !important; + max-width: 1200px !important; + margin: 0 !important; + padding: 20px !important; + box-sizing: border-box !important; +} + +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] { + width: 100% !important; + border-collapse: collapse !important; + background: var(--color-bg-lighter) !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 12px !important; + overflow: hidden !important; + box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important; +} + +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] td { + padding: 12px 14px !important; + vertical-align: top !important; + font-size: 13px !important; + border: none !important; +} + +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] input[type="TEXT"], +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] input[type="text"] { + font-family: var(--font-family) !important; + font-size: 13px !important; + padding: 8px 10px !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 8px !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; +} + +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] select { + font-family: var(--font-family) !important; + font-size: 13px !important; + padding: 8px 10px !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 8px !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; +} + +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] select[size] { + min-height: 80px !important; +} + +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] input[type="submit"] { + font-family: var(--font-family) !important; + font-size: 13px !important; + font-weight: 600 !important; + padding: 10px 20px !important; + color: var(--color-text-light) !important; + background: var(--color-primary-medium) !important; + border: none !important; + border-radius: 8px !important; + cursor: pointer !important; + transition: background 0.2s ease, transform 0.1s ease !important; +} + +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] input[type="submit"]:hover { + background: var(--color-primary-dark) !important; + transform: translateY(-1px) !important; +} + +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] a { + color: var(--color-primary-medium) !important; + text-decoration: none !important; + padding: 2px 6px !important; + border-radius: 4px !important; + transition: background 0.2s ease, color 0.2s ease !important; +} + +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] a:hover { + background: var(--bg-decorative-1) !important; + color: var(--color-primary-dark) !important; +} + +form[action*="AST_CLOSERsummary_hourly.php"] table[bgcolor="#D9E6FE"] font { + font-family: var(--font-family) !important; + font-size: 13px !important; + color: var(--color-text-dark) !important; +} + +body:has(form[action*="AST_CLOSERsummary_hourly.php"]) table[cellpadding="3"]:first-of-type { + width: 100% !important; +} + +body:has(form[action*="AST_CLOSERsummary_hourly.php"]) pre { + font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace !important; + font-size: 12px !important; + line-height: 1.45 !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; + border: 1px solid var(--shadow-text) !important; + border-radius: 10px !important; + padding: 16px 20px !important; + margin: 16px 0 0 0 !important; + overflow-x: auto !important; + white-space: pre !important; +} + +body:has(form[action*="AST_CLOSERsummary_hourly.php"]) pre a { + color: var(--color-primary-medium) !important; + text-decoration: none !important; +} + +body:has(form[action*="AST_CLOSERsummary_hourly.php"]) pre a:hover { + text-decoration: underline !important; + color: var(--color-primary-dark) !important; +} + +body:has(form[action*="AST_CLOSERsummary_hourly.php"]) pre font[size="2"] { + font-size: 12px !important; +} + +/* Inbound Summary Hourly Report: título e icono ayuda fijados abajo (flotantes) */ +body:has(form[action*="AST_CLOSERsummary_hourly.php"]) { + padding-bottom: 56px !important; +} + +body:has(form[action*="AST_CLOSERsummary_hourly.php"]) > table[bgcolor="#015B91"] + b { + position: fixed !important; + bottom: 0 !important; + left: 0 !important; + right: 0 !important; + z-index: 9998 !important; + margin: 0 !important; + padding: 12px 20px !important; + font-family: var(--font-family) !important; + font-size: 14px !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + background: var(--color-bg-lighter) !important; + border-top: 1px solid var(--color-primary-light) !important; + box-shadow: 0 -2px 10px rgba(0,0,0,0.06) !important; +} + +body:has(form[action*="AST_CLOSERsummary_hourly.php"]) > table[bgcolor="#015B91"] + b + img[alt="HELP"] { + position: fixed !important; + bottom: 12px !important; + left: 280px !important; + z-index: 9999 !important; + vertical-align: middle !important; +} + +/* Inbound Daily Report: título e icono ayuda fijados abajo (flotantes) */ +body:has(form[action*="AST_inbound_daily_report.php"]) { + padding-bottom: 56px !important; +} + +body:has(form[action*="AST_inbound_daily_report.php"]) > table[bgcolor="#015B91"] + b { + position: fixed !important; + bottom: 0 !important; + left: 0 !important; + right: 0 !important; + z-index: 9998 !important; + margin: 0 !important; + padding: 12px 20px !important; + font-family: var(--font-family) !important; + font-size: 14px !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + background: var(--color-bg-lighter) !important; + border-top: 1px solid var(--color-primary-light) !important; + box-shadow: 0 -2px 10px rgba(0,0,0,0.06) !important; } -/* Botón SUBMIT */ -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) input[type="button"][value="SUBMIT"] { - background: var(--color-primary-medium) !important; - color: var(--color-text-light) !important; - border: none !important; - padding: 6px 12px !important; - border-radius: 4px !important; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important; - font-size: var(--font-size-p1) !important; - font-weight: 500 !important; - cursor: pointer !important; - transition: all 0.2s ease !important; +body:has(form[action*="AST_inbound_daily_report.php"]) > table[bgcolor="#015B91"] + b + img[alt="HELP"] { + position: fixed !important; + bottom: 12px !important; + left: 200px !important; + z-index: 9999 !important; + vertical-align: middle !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) input[type="button"][value="SUBMIT"]:hover { - background: var(--color-primary-dark) !important; - transform: translateY(-1px) !important; - box-shadow: 0 2px 6px rgba(0, 139, 139, 0.3) !important; +/* Inbound DID Report: título e icono ayuda fijados abajo (flotantes) */ +body:has(form[action*="AST_DIDstats.php"]) { + padding-bottom: 56px !important; } -/* Tablas de estadísticas - Estilo mejorado - con scroll horizontal cuando sea necesario */ -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) { - background: var(--color-bg-white) !important; - border-collapse: collapse !important; - margin: 8px 0 !important; - border-radius: 8px !important; - overflow-x: auto !important; - overflow-y: visible !important; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important; - border: 1px solid var(--color-bg-lighter) !important; - display: block !important; - width: 100% !important; - max-width: 100% !important; +body:has(form[action*="AST_DIDstats.php"]) > table[bgcolor="#015B91"] + b { + position: fixed !important; + bottom: 0 !important; + left: 0 !important; + right: 0 !important; + z-index: 9998 !important; + margin: 0 !important; + padding: 12px 20px !important; + font-family: var(--font-family) !important; + font-size: 14px !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + background: var(--color-bg-lighter) !important; + border-top: 1px solid var(--color-primary-light) !important; + box-shadow: 0 -2px 10px rgba(0,0,0,0.06) !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) tbody { - display: table !important; - width: 100% !important; - min-width: 100% !important; +body:has(form[action*="AST_DIDstats.php"]) > table[bgcolor="#015B91"] + b + img[alt="HELP"] { + position: fixed !important; + bottom: 12px !important; + left: 200px !important; + z-index: 9999 !important; + vertical-align: middle !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) tbody tr { - display: table-row !important; +/* Inbound DID Summary Report: título e icono ayuda fijados abajo (flotantes) */ +body:has(form[action*="AST_DIDstats_v2.php"]) { + padding-bottom: 56px !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) td { - padding: 8px 12px !important; - border-bottom: 1px solid var(--color-bg-lighter) !important; - transition: background-color 0.2s ease !important; +body:has(form[action*="AST_DIDstats_v2.php"]) > table[bgcolor="#015B91"] + b { + position: fixed !important; + bottom: 0 !important; + left: 0 !important; + right: 0 !important; + z-index: 9998 !important; + margin: 0 !important; + padding: 12px 20px !important; + font-family: var(--font-family) !important; + font-size: 14px !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + background: var(--color-bg-lighter) !important; + border-top: 1px solid var(--color-primary-light) !important; + box-shadow: 0 -2px 10px rgba(0,0,0,0.06) !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) tr:hover td { - background: var(--bg-decorative-1) !important; +body:has(form[action*="AST_DIDstats_v2.php"]) > table[bgcolor="#015B91"] + b + img[alt="HELP"] { + position: fixed !important; + bottom: 12px !important; + left: 260px !important; + z-index: 9999 !important; + vertical-align: middle !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table[cellpadding="0"][cellspacing="0"]:not([bgcolor="#015B91"]) tr:last-child td { - border-bottom: none !important; +/* Agent DID Report: título e icono ayuda fijados abajo (flotantes) */ +body:has(form[action*="AST_agentDIDstats.php"]) { + padding-bottom: 56px !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) font.top_settings_key { - color: var(--color-primary-dark) !important; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important; - font-size: var(--font-size-p1) !important; +body:has(form[action*="AST_agentDIDstats.php"]) > table:first-of-type + b { + position: fixed !important; + bottom: 0 !important; + left: 0 !important; + right: 0 !important; + z-index: 9998 !important; + margin: 0 !important; + padding: 12px 20px !important; + font-family: var(--font-family) !important; + font-size: 14px !important; font-weight: 600 !important; + color: var(--color-primary-dark) !important; + background: var(--color-bg-lighter) !important; + border-top: 1px solid var(--color-primary-light) !important; + box-shadow: 0 -2px 10px rgba(0,0,0,0.06) !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) font.top_settings_val { - color: var(--color-text-dark) !important; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important; - font-size: var(--font-size-p1) !important; - font-weight: 500 !important; +body:has(form[action*="AST_agentDIDstats.php"]) > table:first-of-type + b + img[alt="HELP"] { + position: fixed !important; + bottom: 12px !important; + left: 180px !important; + z-index: 9999 !important; + vertical-align: middle !important; } -/* Tabla de llamadas en tiempo real - con scroll horizontal cuando sea necesario */ -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_calls_table { - background: var(--color-bg-white) !important; - border-radius: 4px !important; - overflow-x: auto !important; - overflow-y: visible !important; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important; - margin: 5px 0 !important; - display: block !important; - width: 100% !important; - max-width: 100% !important; +/* Agent DID Report: estilos del formulario, tabla de filtros y pre */ +form[action*="AST_agentDIDstats.php"] { + font-family: var(--font-family) !important; + color: var(--color-text-dark) !important; + max-width: 1200px !important; + margin: 0 !important; + padding: 20px !important; + box-sizing: border-box !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_calls_table tbody { - display: table !important; +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] { width: 100% !important; - min-width: 100% !important; + border-collapse: collapse !important; + background: var(--color-bg-lighter) !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 12px !important; + overflow: hidden !important; + box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_calls_table tbody tr { - display: table-row !important; +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] td { + padding: 12px 14px !important; + vertical-align: top !important; + font-size: 13px !important; + border: none !important; } -/* Tabla principal de agentes - Estilo mejorado - con scroll horizontal cuando sea necesario */ -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table { - background: var(--color-bg-white) !important; +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] input[type="TEXT"], +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] input[type="text"] { + font-family: var(--font-family) !important; + font-size: 13px !important; + padding: 8px 10px !important; + border: 1px solid var(--color-primary-light) !important; border-radius: 8px !important; - overflow-x: auto !important; - overflow-y: visible !important; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important; - margin: 10px 0 !important; - border: 1px solid var(--color-bg-lighter) !important; - border-collapse: separate !important; - border-spacing: 0 !important; - width: 100% !important; - max-width: 100% !important; - display: block !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tbody { - display: table !important; - width: 100% !important; - min-width: 100% !important; +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] input[type="checkbox"] { + margin-right: 6px !important; + accent-color: var(--color-primary-medium) !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tbody tr { - display: table-row !important; +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] select { + font-family: var(--font-family) !important; + font-size: 13px !important; + padding: 8px 10px !important; + border: 1px solid var(--color-primary-light) !important; + border-radius: 8px !important; + color: var(--color-text-dark) !important; + background: var(--color-bg-white) !important; } -/* Encabezado de la tabla */ -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr[bgcolor="#C6C6C6"] { - background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary-medium) 100%) !important; +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] select[size] { + min-height: 80px !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr[bgcolor="#C6C6C6"] td { - padding: 10px 12px !important; +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] input[type="submit"] { + font-family: var(--font-family) !important; + font-size: 13px !important; font-weight: 600 !important; - border-bottom: 2px solid var(--color-primary-medium) !important; + padding: 10px 20px !important; color: var(--color-text-light) !important; + background: var(--color-primary-medium) !important; + border: none !important; + border-radius: 8px !important; + cursor: pointer !important; + transition: background 0.2s ease, transform 0.1s ease !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr[bgcolor="#C6C6C6"] font.top_head_key { - color: var(--color-text-light) !important; - font-size: var(--font-size-p1) !important; - font-weight: 600 !important; +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] input[type="submit"]:hover { + background: var(--color-primary-dark) !important; + transform: translateY(-1px) !important; } -/* Filas de datos */ -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr:not([bgcolor="#C6C6C6"]) { - background: var(--color-bg-white) !important; - transition: background-color 0.2s ease !important; +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] a { + color: var(--color-primary-medium) !important; + text-decoration: none !important; + padding: 2px 6px !important; + border-radius: 4px !important; + transition: background 0.2s ease, color 0.2s ease !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr:not([bgcolor="#C6C6C6"]):hover { +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] a:hover { background: var(--bg-decorative-1) !important; + color: var(--color-primary-dark) !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr:not([bgcolor="#C6C6C6"]) td { - padding: 8px 12px !important; - border-bottom: 1px solid var(--color-bg-lighter) !important; -} - -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table tr:not([bgcolor="#C6C6C6"]):last-child td { - border-bottom: none !important; +form[action*="AST_agentDIDstats.php"] table[bgcolor="#D9E6FE"] font { + font-family: var(--font-family) !important; + font-size: 13px !important; + color: var(--color-text-dark) !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table font.top_head_key { - color: var(--color-text-dark) !important; - font-size: var(--font-size-p1) !important; - font-weight: 500 !important; +body:has(form[action*="AST_agentDIDstats.php"]) table[cellpadding="3"] { + width: 100% !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table font.top_head_val { +body:has(form[action*="AST_agentDIDstats.php"]) pre { + font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace !important; + font-size: 12px !important; + line-height: 1.45 !important; color: var(--color-text-dark) !important; - font-size: var(--font-size-p1) !important; - font-weight: 500 !important; + background: var(--color-bg-white) !important; + border: 1px solid var(--shadow-text) !important; + border-radius: 10px !important; + padding: 16px 20px !important; + margin: 16px 0 0 0 !important; + overflow-x: auto !important; + white-space: pre !important; } -/* Enlaces dentro de la tabla */ -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table a { +body:has(form[action*="AST_agentDIDstats.php"]) pre a { color: var(--color-primary-medium) !important; text-decoration: none !important; - transition: color 0.2s ease !important; } -body:has(table[cellpadding="0"][cellspacing="0"][bgcolor="#015B91"]) table.realtime_table a:hover { - color: var(--color-primary-dark) !important; +body:has(form[action*="AST_agentDIDstats.php"]) pre a:hover { text-decoration: underline !important; + color: var(--color-primary-dark) !important; } +body:has(form[action*="AST_agentDIDstats.php"]) pre font[size="2"] { + font-size: 12px !important; +} + +/* Inbound Service Level Report: pre debajo del formulario, sin tocar el contenedor */ +body:has(form[action*="AST_CLOSER_service_level"]) pre { + display: block !important; + clear: both !important; + margin-top: 16px !important; + width: 100% !important; + box-sizing: border-box !important; +} + +/* Inbound Service Level Report: título e icono ayuda fijados abajo (flotantes) */ +body:has(form[action*="AST_CLOSER_service_level"]) { + padding-bottom: 56px !important; +} + +body:has(form[action*="AST_CLOSER_service_level"]) > table[bgcolor="#015B91"] + b { + position: fixed !important; + bottom: 0 !important; + left: 0 !important; + right: 0 !important; + z-index: 9998 !important; + margin: 0 !important; + padding: 12px 20px !important; + font-family: var(--font-family) !important; + font-size: 14px !important; + font-weight: 600 !important; + color: var(--color-primary-dark) !important; + background: var(--color-bg-lighter) !important; + border-top: 1px solid var(--color-primary-light) !important; + box-shadow: 0 -2px 10px rgba(0,0,0,0.06) !important; +} + +body:has(form[action*="AST_CLOSER_service_level"]) > table[bgcolor="#015B91"] + b + img[alt="HELP"] { + position: fixed !important; + bottom: 12px !important; + left: 240px !important; + z-index: 9999 !important; + vertical-align: middle !important; +} + + +/* + * ============================================================================= + * ============================================================================= + * FIN ESTILOS DE ADMINISTRACIÓN + * (Wallboards, VERM Custom Report, reportes, estadísticas, realtime, etc.) + * ============================================================================= + * ============================================================================= + * + * INICIO COMPONENTE DE AGENTE (Agent web client) + * Pantalla del agente ViciDial: #vicidial_form, LoadingBox, tabs, overlays, + * transfer, disposition, alertas, footer, enlaces de acción, etc. + * + * ============================================================================= + * ============================================================================= + */ + /* AGENT_AREA */ /* ========== Estilos visuales modernos (agente VICIDIAL) ========== */ @@ -5333,3 +7259,4 @@ body:has(#NeWManuaLDiaLBox[style*="visibility: visible"]) { background: var(--bg-decorative-1) !important; color: var(--color-primary-dark, #2E7D7D) !important; } + diff --git a/Custom/installer/install_custom_css.sh b/Custom/installer/install_custom_css.sh index fa01e5e..7c2917a 100644 --- a/Custom/installer/install_custom_css.sh +++ b/Custom/installer/install_custom_css.sh @@ -13,8 +13,11 @@ # GUÍA DE INSTALACIÓN (también en custom.css al inicio): # 1. Import en vicidial_stylesheet.php (al inicio del CSS) para la mayoría de pantallas. # 2. Link en admin_header.php (antes de ) para pantallas que usan admin_header. -# 3. Welcome y agent login usan el logo en vicidial/images y agc/images respectivamente. -# 4. La página de agente usa el logo en agc/images (mismo archivo que login por defecto). +# 3. Link en VERM/VERM_admin.php (tras VERM_stylesheet.php) para la interfaz VERM admin. +# 4. Link en VERM/VERM_wallboards.php (tras VERM_wallboard_stylesheet.php) para el wallboard. +# 5. Link en VERM/VERM_custom_report.php (tras VERM_stylesheet.php) para el formulario de custom report. +# 6. Welcome y agent login usan el logo en vicidial/images y agc/images respectivamente. +# 7. La página de agente usa el logo en agc/images (mismo archivo que login por defecto). # # LOGOS: # - LogoHome.png → Solo Welcome y Admin (vicidial/images + .gif en raíz vicidial). @@ -42,6 +45,10 @@ CUSTOM_CSS_DEST="${AGC_DIR}/css/custom.css" IMAGES_AGC="${AGC_DIR}/images" VICIDIAL_STYLESHEET="${VICIDIAL_DIR}/vicidial_stylesheet.php" ADMIN_HEADER="${VICIDIAL_DIR}/admin_header.php" +VERM_DIR="${HTDOCS}/VERM" +VERM_ADMIN_PHP="${VERM_DIR}/VERM_admin.php" +VERM_WALLBOARDS_PHP="${VERM_DIR}/VERM_wallboards.php" +VERM_CUSTOM_REPORT_PHP="${VERM_DIR}/VERM_custom_report.php" VICIDIAL_PHP="${AGC_DIR}/vicidial.php" TIMECLOCK_PHP="${AGC_DIR}/timeclock.php" @@ -128,6 +135,18 @@ installed_admin_header() { [[ -f "$ADMIN_HEADER" ]] && grep -q "agc/css/custom.css" "$ADMIN_HEADER" } +installed_verm_ref() { + [[ -f "$VERM_ADMIN_PHP" ]] && grep -q "agc/css/custom.css" "$VERM_ADMIN_PHP" +} + +installed_verm_wallboard_ref() { + [[ -f "$VERM_WALLBOARDS_PHP" ]] && grep -q "agc/css/custom.css" "$VERM_WALLBOARDS_PHP" +} + +installed_verm_custom_report_ref() { + [[ -f "$VERM_CUSTOM_REPORT_PHP" ]] && grep -q "agc/css/custom.css" "$VERM_CUSTOM_REPORT_PHP" +} + # --- Copiar custom.css: hacer backup del destino si existe, luego copiar desde installer --- copy_custom_css() { if [[ ! -f "$CUSTOM_CSS_SOURCE" ]]; then @@ -187,6 +206,69 @@ install_admin_header_ref() { info "Añadido en admin_header.php" } +install_verm_ref() { + if installed_verm_ref; then + info "VERM_admin.php: custom.css ya referenciado." + return 0 + fi + if [[ ! -f "$VERM_ADMIN_PHP" ]]; then + warn "No existe: $VERM_ADMIN_PHP (se omite VERM)." + return 0 + fi + save_pre_agc_backup "$VERM_ADMIN_PHP" + local line_num + line_num=$(grep -n 'href="VERM_stylesheet.php"' "$VERM_ADMIN_PHP" | head -1 | cut -d: -f1) + [[ -n "$line_num" ]] || { warn "No se encontró VERM_stylesheet.php en VERM_admin.php"; return 1; } + local insert_line='' + head -n "$line_num" "$VERM_ADMIN_PHP" > "${VERM_ADMIN_PHP}.tmp" + echo "$insert_line" >> "${VERM_ADMIN_PHP}.tmp" + tail -n +$((line_num + 1)) "$VERM_ADMIN_PHP" >> "${VERM_ADMIN_PHP}.tmp" + mv "${VERM_ADMIN_PHP}.tmp" "$VERM_ADMIN_PHP" + info "Añadido custom.css en VERM_admin.php" +} + +install_verm_wallboard_ref() { + if installed_verm_wallboard_ref; then + info "VERM_wallboards.php: custom.css ya referenciado." + return 0 + fi + if [[ ! -f "$VERM_WALLBOARDS_PHP" ]]; then + warn "No existe: $VERM_WALLBOARDS_PHP (se omite wallboard)." + return 0 + fi + save_pre_agc_backup "$VERM_WALLBOARDS_PHP" + local line_num + line_num=$(grep -n 'href="VERM_wallboard_stylesheet.php"' "$VERM_WALLBOARDS_PHP" | head -1 | cut -d: -f1) + [[ -n "$line_num" ]] || { warn "No se encontró VERM_wallboard_stylesheet.php en VERM_wallboards.php"; return 1; } + local insert_line='' + head -n "$line_num" "$VERM_WALLBOARDS_PHP" > "${VERM_WALLBOARDS_PHP}.tmp" + echo "$insert_line" >> "${VERM_WALLBOARDS_PHP}.tmp" + tail -n +$((line_num + 1)) "$VERM_WALLBOARDS_PHP" >> "${VERM_WALLBOARDS_PHP}.tmp" + mv "${VERM_WALLBOARDS_PHP}.tmp" "$VERM_WALLBOARDS_PHP" + info "Añadido custom.css en VERM_wallboards.php" +} + +install_verm_custom_report_ref() { + if installed_verm_custom_report_ref; then + info "VERM_custom_report.php: custom.css ya referenciado." + return 0 + fi + if [[ ! -f "$VERM_CUSTOM_REPORT_PHP" ]]; then + warn "No existe: $VERM_CUSTOM_REPORT_PHP (se omite custom report)." + return 0 + fi + save_pre_agc_backup "$VERM_CUSTOM_REPORT_PHP" + local line_num + line_num=$(grep -n 'href="VERM_stylesheet.php"' "$VERM_CUSTOM_REPORT_PHP" | head -1 | cut -d: -f1) + [[ -n "$line_num" ]] || { warn "No se encontró VERM_stylesheet.php en VERM_custom_report.php"; return 1; } + local insert_line='' + head -n "$line_num" "$VERM_CUSTOM_REPORT_PHP" > "${VERM_CUSTOM_REPORT_PHP}.tmp" + echo "$insert_line" >> "${VERM_CUSTOM_REPORT_PHP}.tmp" + tail -n +$((line_num + 1)) "$VERM_CUSTOM_REPORT_PHP" >> "${VERM_CUSTOM_REPORT_PHP}.tmp" + mv "${VERM_CUSTOM_REPORT_PHP}.tmp" "$VERM_CUSTOM_REPORT_PHP" + info "Añadido custom.css en VERM_custom_report.php" +} + # --- Logo .gif en raíz vicidial (admin usa este cuando SSweb_logo=default_old) --- install_logo_gif_vicidial_root() { local logo_home="${INSTALADOR_DIR}/LogoHome.png" @@ -257,6 +339,54 @@ uninstall_admin_header_ref() { info "Referencia eliminada en admin_header.php" } +uninstall_verm_ref() { + if ! installed_verm_ref; then + info "VERM_admin.php: no había referencia a custom.css." + return 0 + fi + if [[ ! -f "$VERM_ADMIN_PHP" ]]; then + return 0 + fi + if restore_from_pre_agc_backup "$VERM_ADMIN_PHP"; then + return 0 + fi + warn "No hay backup .bak.pre_agc; quitando referencia con sed." + sed -i '/agc\/css\/custom\.css/d' "$VERM_ADMIN_PHP" + info "Referencia eliminada en VERM_admin.php" +} + +uninstall_verm_wallboard_ref() { + if ! installed_verm_wallboard_ref; then + info "VERM_wallboards.php: no había referencia a custom.css." + return 0 + fi + if [[ ! -f "$VERM_WALLBOARDS_PHP" ]]; then + return 0 + fi + if restore_from_pre_agc_backup "$VERM_WALLBOARDS_PHP"; then + return 0 + fi + warn "No hay backup .bak.pre_agc; quitando referencia con sed." + sed -i '/agc\/css\/custom\.css/d' "$VERM_WALLBOARDS_PHP" + info "Referencia eliminada en VERM_wallboards.php" +} + +uninstall_verm_custom_report_ref() { + if ! installed_verm_custom_report_ref; then + info "VERM_custom_report.php: no había referencia a custom.css." + return 0 + fi + if [[ ! -f "$VERM_CUSTOM_REPORT_PHP" ]]; then + return 0 + fi + if restore_from_pre_agc_backup "$VERM_CUSTOM_REPORT_PHP"; then + return 0 + fi + warn "No hay backup .bak.pre_agc; quitando referencia con sed." + sed -i '/agc\/css\/custom\.css/d' "$VERM_CUSTOM_REPORT_PHP" + info "Referencia eliminada en VERM_custom_report.php" +} + restore_logos() { restore_logo_file "$VICIDIAL_IMAGES" "$LOGO_WELCOME_NAME" || true restore_logo_gif_vicidial_root || true @@ -381,6 +511,9 @@ do_install() { install_logos install_stylesheet_ref install_admin_header_ref + install_verm_ref + install_verm_wallboard_ref + install_verm_custom_report_ref install_placeholders install_relogin_placeholders install_campaign_placeholders @@ -394,6 +527,9 @@ do_uninstall() { info "Raíz: $HTDOCS" uninstall_stylesheet_ref uninstall_admin_header_ref + uninstall_verm_ref + uninstall_verm_wallboard_ref + uninstall_verm_custom_report_ref uninstall_placeholders uninstall_timeclock_placeholders restore_logos @@ -417,6 +553,15 @@ do_status() { if [[ -f "$ADMIN_HEADER" ]]; then installed_admin_header && info "admin_header.php: referenciado" || warn "admin_header.php: no referenciado" fi + if [[ -f "$VERM_ADMIN_PHP" ]]; then + installed_verm_ref && info "VERM_admin.php: referenciado" || warn "VERM_admin.php: no referenciado" + fi + if [[ -f "$VERM_WALLBOARDS_PHP" ]]; then + installed_verm_wallboard_ref && info "VERM_wallboards.php: referenciado" || warn "VERM_wallboards.php: no referenciado" + fi + if [[ -f "$VERM_CUSTOM_REPORT_PHP" ]]; then + installed_verm_custom_report_ref && info "VERM_custom_report.php: referenciado" || warn "VERM_custom_report.php: no referenciado" + fi if [[ -f "$VICIDIAL_PHP" ]]; then has_placeholders && info "vicidial.php: placeholders Phone (size=10) presentes" || warn "vicidial.php: placeholders Phone no presentes" has_relogin_placeholders && info "vicidial.php: placeholders Re-Login presentes" || warn "vicidial.php: placeholders Re-Login no presentes"