/**
    @author: Juan Pablo Iriarte
    @created Date: 2024-03-14
    @summary: Este archivo integra reglas CSS Adicionadas o Personalizadas implementadas para funcionalidad con el framework Bootsrap.
*/

.SQCard-Options li:hover{
    /* hover en opcion de una tarjeta de opciones (Reports.php)*/
    background-color: #f4f6f6;
}

.dt-layout-row input[type="search"], select {
    width: unset !important;
}

/**
    @author: Juan Pablo Iriarte
    @Created Date: 2024-03-31
    @summary: Tabla minimalista simple
    ** @Note: Se realizan modificaciones no directamente del estilo sino de la ingregracion de las dos variaciones (SQ-Table2 y SQ-Table3) en este diseño. El unico cambio que se hizo en las tablas fue el padding de 1px que, al discutir la idea, suele quedar mejor para los reportes. Cambio realizado por TCR con la ayuda de JPI
*/
.SQ-Table1 thead {border-bottom: 2px solid currentColor; vertical-align: bottom; font-size: .875rem;}
.SQ-Table1 thead th, .SQ-Table1 thead td {border: none;}

.SQ-Table1 tbody {border-top: 2px solid currentColor; font-size: .85rem;}
.SQ-Table1 tbody tr {border-bottom: 1px solid #E2E3E4;}
.SQ-Table1 tbody th, .SQ-Table1 tbody td {border: none;}

.SQ-Table1 tfoot {border-top: 2px solid currentColor; vertical-align: bottom; font-size: .875rem;}
.SQ-Table1 tfoot th, .SQ-Table1 tfoot td {border: none;}

/**
*? Inicio de las configuraciones opcionales
*/
table.SQ-Padding3>tbody>tr>th, table.SQ-Padding3>tbody>tr>td { padding: 3px !important; }
.SQ-Table1.biggerFont1 thead{font-size: .9rem !important;}
.SQ-Table1.biggerFont2 thead{font-size: .95rem;}
.SQ-Table1.biggerFontBody1 tbody{font-size: .88rem;}
.SQ-Table1.monospace thead{font-family: monospace;}
.SQ-Table1.customBorderColor1 tbody tr{border-bottom: 1px solid #bcbcbc;}
.SQ-Table1.customBorderColor2 tbody tr{border-bottom: 1px solid #ddd;}
.SQ-Table1.paddingMedio {padding: 8px !important;}


/**
    @author: Tomas Cardona Ramirez
    @Created Date: 2024-04-12
    @summary: Opciones varias de configuracion CSS que antes pertenecian a SQ-Table2 o SQ-Table3
*/
.toast {
    --bs-toast-max-width: unset !important;
}

.SQ-Container1{ border-radius: 8px; box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.4); overflow: hidden; background: #f8f4f4; padding-left: 12px; padding-right: 12px; }

.botonSQ2 { position: relative; overflow: visible; display: inline-block; padding: 0.5em 0.5em; border: 2px solid rgba(0, 0, 0, 0.4); box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.4); margin: 0; text-decoration: none; text-align: center; color: black; text-shadow: .5px .5px 0 #797D7F; font: 14px/normal sans-serif; white-space: nowrap; cursor: pointer; outline: none; background: inherit; background-color:transparent; border-radius: 50em; }


/**
    @author: Juan Pablo Iriarte
    @Created Date: 2024-04-02
    @summary: Formulario sobrio
*/
.SQ-Form1 input[type = "text"] {
    border-top: none !important;
    border-right: none !important;
    border-left: none !important;
    border-bottom: 1px solid #3b4e60 !important;
    padding: 0.3rem 0.5rem !important;
}

.SQ-input1 {
    border-top: none !important;
    border-right: none !important;
    border-left: none !important;
    border-bottom: 1px solid #3b4e60 !important;
    padding: 0.3rem 0.5rem !important;
    width: unset !important;
}

/**
    @author: Juan Pablo Iriarte
    @Created Date: 2024-04-02
    @summary: Formulario sobrio
*/
.SQ-Form1 input[type = "text"] {
    border-top: none !important;
    border-right: none !important;
    border-left: none !important;
    border-bottom: 1px solid #3b4e60 !important;
    padding: 0.3rem 0.5rem !important;
}

.SQ-input1 {
    border-top: none !important;
    border-right: none !important;
    border-left: none !important;
    border-bottom: 1px solid #3b4e60 !important;
    padding: 0.3rem 0.5rem !important;
    width: unset !important;
}

/*
    @author: Tomas Cardona Ramirez
    @Created Date: 2024-07-05
    @summary: Card o Container basado en el estilo de tablajpi7
*/

.SQ-Container2{
    --CardColor-A: #93afdf; /* Color principal */
    --CardColor-B: #34495e; /* Color secundario */
    border-radius: 15px;
    overflow: hidden;
    background: #fff;
    padding: 16px;
    margin: auto;
    color: var(--CardColor-B);
}

.SQ-Container2-header { background: var(--CardColor-A) ; color: var(--CardColor-B); padding: 10px; border-top-left-radius: 15px; border-top-right-radius: 15px; text-align: center; }
.SQ-Container2-body { padding: 10px; font-size: 1rem; background: #fdfdfd; }
.SQ-Container2-hidden { background-color: #f9e79f; }
.SQ-Container2-large { font-size: large; }
.SQ-Container2 input, .SQ-Container2 select { font-size: 1rem; }
.SQ-Container2-footer { background: var(--CardColor-A); color: var(--CardColor-B); padding: 10px; text-align: center; border-bottom-left-radius: 15px; border-bottom-right-radius: 15px; }

/*
    @author: Santiago Carmona Osorio
    @Created Date: 2024-12-23
    @summary: Manejo de titulos de tabla (<thead>) fijos al hacer scroll 
*/

.SQ-Header-sticky { position: sticky; top: 0; z-index: 99; }

/* 2025-03-18 JPI: Asegura que la fila de encabezados y otras secciones de fullcalendar no incluya un margen adicional al final de la tabla que genera de encabezados. */
.fc-col-header, .fc-scrollgrid-sync-table, .fc-scroller, .fc-scroller-liquid-absolute { margin-bottom: 0 !important; }


/*
    @author: Tomas Cardona Ramirez
    @Created Date: 2025-04-28
    @summary: Manejo de titulos de los eventos en un calendario para no sobrepasar los recuadros preestablecidos.
*/
.fc .fc-daygrid-event .fc-event-main {
    display: block;          /* que ocupe todo el ancho */
    width: 100%;             /* ancho de la celda */
    box-sizing: border-box;  /* para incluir padding/border en el 100% */
    white-space: nowrap;     /* no permitir saltos de línea */
    overflow: hidden;        /* ocultar lo que sobrepase */
    text-overflow: ellipsis; /* mostrar “…” al final */
  }


/* ═══════════════════════════════════════════════════════════════
   root de variables de colores coerrespondientes a la paleta de colores del proyecto
═══════════════════════════════════════════════════════════════ */
:root {
	/* Colores primarios y secundarios */
	--color-dark-blue: #09507c;	/* Backgrounds principales, headings, elementos principales */
	--color-gradient: linear-gradient(135deg, var(--color-dark-blue) 0%, #44ade2 100%); /* para headers */
	--color-light-blue: #bad3dd; /* Backgrounds secundarios, tratamientos de imagen */
	--color-sky-blue: #44ade2; /*  links activos, elementos interactivos */
	--color-dark-gray: #949494; /* Texto body, iconos */
	--color-light-gray: #eaeaea; /* Backgrounds claros, bordes suaves */
	--color-red: #8f1826; /* Alertas, errores, detalles críticos */

	/* COLORES DERIVADOS (para conveniencia) */
	--color-success: #28a745;
	--color-warning: #ffc107;
	--color-white: #ffffff;
	--color-black: #000000;
}

/* ═══════════════════════════════════════════════════════════════
   BT5 — Clases reutilizables para formularios (Bootstrap 5.3)
   Nomenclatura: bt5_nombreDescriptivo
   ═══════════════════════════════════════════════════════════════ */

.bt5_formContainer { max-width: 1400px; margin: 0 auto; background: var(--color-white); border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); overflow: hidden; } /* contenedor principal */
.bt5_formHeader { background: linear-gradient(135deg, var(--color-dark-blue) 0%, #44ade2 100%); } /* header con degradado */
.bt5_headerTitle { font-size: 26px; font-weight: 700; letter-spacing: -0.3px; margin: 0; color: var(--color-dark-blue) } /* h1 del header */
.bt5_headerSubtitle { font-size: 13px; margin: 6px 0 0 0; opacity: 0.9; font-weight: 400; } /* p del header */
.bt5_sectionTitle { font-size: 13px; font-weight: 700; color: var(--color-dark-blue); margin-bottom: 16px; text-transform: uppercase; letter-spacing: 0.5px; } /* h5 título de sección */
.bt5_sectionDivider { border-top: 2px solid var(--color-light-gray); padding-top: 20px; margin-top: 20px; } /* divisor entre secciones */
.bt5_formLabel { font-size: 11px; font-weight: 700; color: var(--color-black); text-transform: uppercase; letter-spacing: 0.4px; } /* label de campo */
.bt5_required { color: var(--color-red); } /* spanasterisco obligatorio (*) */
.bt5_formInput { padding: 8px 11px; font-size: 12px; border: 1.5px solid #ddd; background: #fafbfc; } /* input, select, textarea */
.bt5_formInput:focus { border-color: var(--color-sky-blue); box-shadow: 0 0 0 3px rgba(68, 173, 226, 0.1); } /* focus de inputs */
.bt5_formTextarea { min-height: 75px; resize: vertical; } /* textarea — usar junto con bt5_formInput */
.bt5_formHint { font-size: 10px; color: var(--color-dark-gray); } /* small de ayuda */
.bt5_charCounter { font-size: 10px; color: #bbb; text-align: right; margin-top: 4px; } /* contador de caracteres */
.bt5_checkInput { border: 1.5px solid #ddd; width: 18px; height: 18px; cursor: pointer; } /* checkbox */
.bt5_checkLabel { font-size: 12px; font-weight: 600; color: var(--color-black); margin-left: 6px; cursor: pointer; } /* label de checkbox */
.bt5_btn { padding: 10px 26px; font-weight: 700; font-size: 12px; letter-spacing: 0.3px; text-transform: uppercase; border: none; } /* base compartida botones */
.bt5_btnSecondary { background: #c2c2c2; } /* botón reset/cancelar */
.bt5_btnPrimary {background-color: var(--color-dark-blue);border-radius: 5px; } /* botón submit/guardar */


/* ═══════════════════════════════════════════════════════════════
    BT5 — Tarjeta de grupo reutilizable (Bootstrap 5.3)
    Nomenclatura: bt5_nombreDescriptivo
    ejemplo: QueryThree.php
   ═══════════════════════════════════════════════════════════════ */

.bt5_pageTitle { color: var(--color-dark-blue); font-weight: 700; letter-spacing: -0.5px; font-size: 2.5rem; } /* titulo de pagina */
.bt5_hrDivider { margin: 30px 0; border-color: var(--color-light-gray); } /* separador horizontal */

.bt5_groupCard { border: 1px solid var(--color-light-blue); border-radius: 10px; overflow: hidden; } /* contenedor tarjeta */
.card-header.bt5_groupCardHeader { background-color: var(--color-dark-blue); color: var(--color-white); font-family: 'Montserrat', sans-serif; font-size: 0.9rem; min-height: 42px; display: flex; align-items: center;  } /* encabezado oscuro */
.bt5_groupCardBadge { background: var(--color-sky-blue); color: var(--color-white); } /* badge contador */
.bt5_groupCardBody { font-family: 'Montserrat', sans-serif; } /* cuerpo con Montserrat */
.bt5_groupCardItem { border-color: var(--color-light-gray); } /* item de lista */
.bt5_groupCardFooter { background: var(--color-light-gray); } /* pie con acciones */
.bt5_groupCardFooterReadonly { background: var(--color-light-gray); color: var(--color-dark-gray); font-size: 0.8rem; font-style: italic; } /* pie solo lectura */

.btn.bt5_btnSkyBlue { background-color: var(--color-sky-blue); color: var(--color-white); } /* boton azul claro */
.btn.bt5_btnDarkBlue { background-color: var(--color-dark-blue); color: var(--color-white); } /* boton azul oscuro */
.btn.bt5_btnRemove { color: var(--color-red); } /* boton remover */

.bt5_modalContent { font-family: 'Montserrat', sans-serif; } /* modal con Montserrat */
.bt5_modalHeaderDark { background: var(--color-dark-blue); color: var(--color-white); } /* encabezado modal */

/* para muestra css */
.bt5_codeBlock { background: #f5f5f5; padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 11px; overflow-x: auto; } /* bloque de codigo en pre */
.bt5_descText { font-size: 12px; color: black } /* parrafo descriptivo */
 
/* BT5 — Fondos de color reutilizables */
.bt5_bgDarkBlue { background: var(--color-dark-blue); }
.bt5_bgSkyBlue { background: var(--color-sky-blue); }
.bt5_bgLightBlue { background: var(--color-light-blue); }
.bt5_bgRed { background: var(--color-red); }
.bt5_bgSuccess { background: var(--color-success); }
.bt5_bgWarning { background: var(--color-warning); }
.bt5_bgDarkGray { background: var(--color-dark-gray); }
.bt5_bgLightGray { background: var(--color-light-gray); }
.bt5_bgBlack { background: var(--color-black); }
.bt5_bgWhite { background: var(--color-white); }
.bt5_bgGradient { background: var(--color-gradient); }

/* BT5 — Botones adicionales */
.bt5_btnLight { background: var(--color-white); color: var(--color-dark-blue); border-radius: 5px; border:none; }
.bt5_btnLight:hover { background: rgba(255,255,255,0.85); color: var(--color-dark-blue); }
.bt5_btnSoft { background: var(--color-light-gray); color: var(--color-dark-gray); border: none; border-radius: 5px; }
.bt5_btnSoft:hover { background: var(--color-dark-gray); color: var(--color-white); }

/* BT5 — Badge informativo */
.bt5_badgeInfo { display:inline-block; padding:6px 14px; border-radius:4px; font-size:12px; font-weight:600; background:var(--color-light-blue); color:var(--color-dark-blue); }
.bt5_badgeInfo--empty { background:var(--color-light-gray); color:var(--color-dark-gray); font-weight:400; font-style:italic; font-size:11px; }

/* BT5 — Navegación sticky con pills */
.bt5_navSticky { background: var(--color-white); border: 1.5px solid var(--color-light-blue); top: 10px; z-index: 1020; }
.bt5_navBrand { font-size: 13px; color: var(--color-dark-blue); font-weight: 700; letter-spacing: 0.3px; text-transform: uppercase; }
.nav-link.bt5_navPill { font-size: 12px; color: var(--color-dark-blue); border-radius: 20px !important; }
.nav-link.bt5_navPill:hover { background: var(--color-light-blue); color: var(--color-dark-blue); }
.nav-link.bt5_navPill.active, .nav-link.bt5_navPill:focus { background: var(--color-dark-blue) !important; color: var(--color-white) !important; }
.bt5_navSticky--static { position: relative; top: 0; }

/* BT5 — Links de navegación interna */
.bt5_backLink { color: rgba(255,255,255,0.8); font-size: 11px; text-decoration: none; }
.bt5_backLink:hover { color: var(--color-white); text-decoration: underline; }
.bt5_backLink--light { color: var(--color-dark-blue); font-size: 11px; text-decoration: none; }
.bt5_backLink--light:hover { color: var(--color-sky-blue); text-decoration: underline; }

/* BT5 — Swatches de color para Design System */
.bt5_swatchColor { height: 60px; border-radius: 8px 8px 0 0; }
.bt5_swatchInfo { background: #f5f5f5; padding: 6px 10px; border-radius: 0 0 8px 8px; border: 1px solid #eee; }
.bt5_swatchName { font-size: 11px; display: block; font-weight: 700; }

/* Sincronizacion con scheduleApp */
/* BT5 — Process UI: contenedores, hero y secciones (sincronizado con ScheduleApp) */
.bt5_processShell { max-width:1180px; margin:0 auto; padding:28px 18px 48px; color:var(--color-dark-gray); } /* contenedor de pagina de proceso */
.bt5_reportShell { width:100%; max-width:1380px; margin:0 auto; padding:28px 18px 48px; color:var(--color-dark-gray); box-sizing:border-box; overflow-x:hidden; } /* contenedor de pagina de reporte */
.bt5_processHeroGrid { display:grid; grid-template-columns:minmax(0, 1fr) 330px; gap:22px; align-items:stretch; margin-bottom:34px; } /* texto + acciones del hero */
.bt5_processHero { background:var(--color-gradient); border-radius:18px; padding:30px; color:var(--color-white); box-shadow:0 12px 28px rgba(9,80,124,0.18); margin-bottom:24px; } /* hero con degradado */
.bt5_processHero--large { padding:34px; margin-bottom:0; } /* hero con mas presencia */
.bt5_processHero--menu { margin-bottom:30px; } /* hero para menus */
.bt5_heroEyebrow { display:inline-block; background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.35); border-radius:999px; padding:6px 12px; margin-bottom:14px; font-size:13px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; } /* etiqueta superior del hero */
.bt5_processHeroTitle { margin:0 0 10px; font-size:32px; line-height:1.1; font-weight:800; } /* titulo del hero */
.bt5_processHeroTitle--lg { font-size:34px; } /* titulo grande */
.bt5_processHeroText { margin:0; max-width:850px; color:rgba(255,255,255,0.88); font-size:16px; } /* descripcion del hero */
.bt5_processHeroText--narrow { max-width:720px; } /* descripcion angosta */
.bt5_processHeroText--wide { max-width:900px; } /* descripcion ancha */
.bt5_processSection { margin-bottom:34px; } /* bloque funcional */
.bt5_sectionEyebrow { display:inline-block; background:var(--color-light-blue); color:var(--color-dark-blue); border-radius:999px; padding:5px 11px; margin-bottom:9px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:0.04em; } /* etiqueta de seccion */
.bt5_processSectionTitle { margin:0 0 6px; color:var(--color-dark-blue); font-size:24px; font-weight:800; } /* titulo de seccion */
.bt5_processSectionText { margin:0 0 16px; color:var(--color-dark-gray); max-width:760px; } /* texto de seccion */
.bt5_twoColumnGrid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; } /* layout dos columnas */
.bt5_cardGrid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:18px; } /* grilla autoajustable de tarjetas */

/* BT5 — Cards & Metrics: tarjetas de contenido, acciones y metricas */
.bt5_contentCard { background:var(--color-white); border:1px solid var(--color-light-gray); border-radius:16px; padding:22px; box-shadow:0 8px 20px rgba(0,0,0,0.045); } /* tarjeta funcional */
.bt5_contentCard--spaced { margin-bottom:24px; } /* tarjeta con separacion inferior */
.bt5_cardHeadingRow { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:14px; } /* fila titulo + badge */
.bt5_cardTitle { margin:0; color:var(--color-dark-blue); font-size:19px; font-weight:800; } /* titulo de tarjeta */
.bt5_cardTag { display:inline-block; margin-top:8px; background:rgba(68,173,226,0.12); color:var(--color-sky-blue); border-radius:999px; padding:4px 9px; font-size:12px; font-weight:700; } /* tag de categoria */
.bt5_cardDescription { margin:0 0 16px; color:var(--color-dark-gray); line-height:1.5; } /* descripcion de tarjeta */
.bt5_infoStrip { background:var(--color-light-gray); border-left:4px solid var(--color-sky-blue); border-radius:10px; padding:10px 12px; margin-bottom:18px; color:var(--color-dark-blue); font-size:13px; font-weight:600; } /* tip dentro de tarjeta */
.bt5_actionRow { display:flex; gap:10px; align-items:center; flex-wrap:wrap; } /* fila de botones */
.bt5_actionRow--end { justify-content:flex-end; } /* botones alineados a la derecha */
.bt5_actionRow--spaced { margin-top:18px; } /* fila con separacion superior */
.bt5_actionButton { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:9px 16px; border-radius:10px; font-weight:700; text-decoration:none; cursor:pointer; transition:filter .15s ease, box-shadow .15s ease, transform .15s ease; } /* boton base de accion */
.bt5_actionButton:hover { text-decoration:none; filter:brightness(.97); }
.bt5_actionButton--primary { border:1px solid transparent; background:var(--color-dark-blue); color:var(--color-white); } /* accion principal */
.bt5_actionButton--primary:hover { color:var(--color-white); }
.bt5_actionButton--secondary { border:1px solid var(--color-light-blue); background:var(--color-white); color:var(--color-dark-blue); } /* accion secundaria */
.bt5_actionButton--secondary:hover { color:var(--color-dark-blue); background:var(--color-light-gray); }
.bt5_actionButton--disabled { border:1px solid transparent; background:var(--color-light-gray); color:var(--color-dark-gray); cursor:not-allowed; opacity:.75; } /* accion deshabilitada */
.bt5_metricGrid { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:16px; } /* grilla de metricas */
.bt5_metricCard { background:var(--color-white); border:1px solid var(--color-light-gray); border-radius:16px; padding:18px; box-shadow:0 8px 20px rgba(0,0,0,0.045); } /* tarjeta de metrica */
.bt5_metricValue { font-size:26px; font-weight:800; color:var(--color-dark-blue); } /* valor numerico */
.bt5_metricValue--success { color:var(--color-success); }
.bt5_metricValue--warning { color:#9a7100; }
.bt5_metricValue--danger { color:var(--color-red); }
.bt5_metricLabel { color:var(--color-dark-gray); font-weight:600; } /* etiqueta de metrica */

/* BT5 — Status: badges de estado, alertas y callouts */
.bt5_statusBadge { display:inline-block; flex:0 0 auto; border-radius:999px; padding:6px 10px; font-size:12px; font-weight:800; white-space:nowrap; } /* badge de estado base */
.bt5_statusBadge--large { padding:7px 12px; }
.bt5_statusBadge--success { background:rgba(40,167,69,0.12); color:var(--color-success); }
.bt5_statusBadge--warning { background:rgba(255,193,7,0.18); color:#9a7100; }
.bt5_statusBadge--error { background:rgba(143,24,38,0.12); color:var(--color-red); }
.bt5_statusBadge--info { background:rgba(68,173,226,0.13); color:var(--color-sky-blue); }
.bt5_statusBadge--neutral { background:var(--color-light-gray); color:var(--color-dark-gray); }
.bt5_alertBox { border-left:4px solid; border-radius:12px; padding:14px 16px; margin-top:20px; } /* alerta base */
.bt5_alertBox--warning { background:rgba(255,193,7,0.18); border-left-color:var(--color-warning); color:#6f5200; }
.bt5_alertBox--error { background:rgba(143,24,38,0.08); border-left-color:var(--color-red); color:var(--color-red); }
.bt5_alertTitle { display:block; margin-bottom:8px; } /* titulo de alerta */
.bt5_infoCallout { background:rgba(68,173,226,0.12); border-left:4px solid var(--color-sky-blue); border-radius:12px; padding:14px 16px; margin-bottom:18px; color:var(--color-dark-blue); font-weight:600; } /* informacion destacada */

/* BT5 — Reports: tablas de reporte y detalles tecnicos */
.bt5_resultHeader { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:18px; flex-wrap:wrap; } /* cabecera de resultado */
.bt5_resultTitle { margin:0; color:var(--color-dark-blue); font-size:22px; font-weight:800; }
.bt5_resultText { margin:6px 0 0; color:var(--color-dark-gray); }
.bt5_tablePanel { background:var(--color-white); border:1px solid var(--color-light-gray); border-radius:16px; padding:0; box-shadow:0 8px 20px rgba(0,0,0,0.045); overflow:hidden; width:100%; box-sizing:border-box; } /* marco del reporte */
.bt5_tablePanelHeader { padding:18px 20px; border-bottom:1px solid var(--color-light-gray); } /* cabecera del panel */
.bt5_tableScroller { overflow-x:auto; width:100%; max-width:100%; box-sizing:border-box; } /* scroll horizontal seguro */
.bt5_reportTable { width:100%; border-collapse:collapse; min-width:1350px; } /* tabla ancha de reporte */
.bt5_reportTableHead { background:var(--color-light-gray); color:var(--color-dark-blue); }
.bt5_reportTh { padding:12px; text-align:left; white-space:nowrap; }
.bt5_reportTh--right { text-align:right; }
.bt5_reportRow { border-bottom:1px solid var(--color-light-gray); }
.bt5_reportTd { padding:12px; vertical-align:top; }
.bt5_reportTd--right { text-align:right; }
.bt5_reportTd--range { min-width:170px; white-space:nowrap; }
.bt5_tableMessage { padding:18px; color:var(--color-dark-gray); } /* mensaje de tabla vacia */
.bt5_tableMessage--error { color:var(--color-red); }
.bt5_reportMessage { margin-bottom:8px; max-width:260px; }
.bt5_tableLink { color:var(--color-dark-blue); text-decoration:none; font-weight:600; } /* link dentro de tabla */
.bt5_tableLink:hover { color:var(--color-sky-blue); text-decoration:underline; }
.bt5_metaText { font-size:12px; color:var(--color-dark-gray); } /* texto secundario */
.bt5_detailsBlock { margin-bottom:6px; } /* details desplegable */
.bt5_detailsSummary { cursor:pointer; color:var(--color-dark-blue); font-weight:700; }
.bt5_detailsSummary--error { color:var(--color-red); }
.bt5_payload { white-space:pre-wrap; max-width:420px; background:var(--color-light-gray); border-radius:10px; padding:10px; margin-top:8px; } /* contenido tecnico */
.bt5_payload--error { background:rgba(143,24,38,0.08); }

@media (max-width: 991.98px) {
    .bt5_processHeroGrid { grid-template-columns:1fr; } /* hero en una columna */
}

@media (max-width: 767.98px) {
    .bt5_twoColumnGrid { grid-template-columns:1fr; } /* dos columnas pasa a una */
    .bt5_processShell, .bt5_reportShell { padding:20px 12px 36px; }
    .bt5_processHero, .bt5_processHero--large { padding:24px; }
    .bt5_processHeroTitle, .bt5_processHeroTitle--lg { font-size:28px; }
}


/* BT5 — Navbar superior responsive (sincronizado con ScheduleApp) */
.bt5_topNavbar { width:100%; min-height:66px; background:var(--color-white); border-bottom:1px solid #dbe6ec; box-shadow:0 4px 16px rgba(9,80,124,.08); font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; --bs-navbar-padding-y:.55rem; --bs-navbar-color:var(--color-dark-blue); --bs-navbar-hover-color:var(--color-dark-blue); --bs-navbar-active-color:var(--color-dark-blue); --bs-navbar-brand-color:var(--color-dark-blue); --bs-navbar-brand-hover-color:var(--color-dark-blue); --bs-navbar-toggler-border-color:#cfdee6; z-index:1030; } /* barra superior blanca */
.bt5_topNavbar a { text-decoration:none; }
.bt5_topNavbar--fullBleed { width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); box-sizing:border-box; } /* ocupa todo el viewport aunque este dentro de un contenedor */
.bt5_topNavbar--sticky { position:sticky; top:0; } /* fija al hacer scroll */
body.admin-bar .bt5_topNavbar--sticky { top:32px; } /* compensa la barra de admin de WP */
.bt5_topNavbarInner { min-height:54px; padding-left:clamp(18px, 2vw, 36px); padding-right:clamp(18px, 2vw, 36px); } /* contenedor interno */
.bt5_topNavbarBrand { display:inline-flex; align-items:center; gap:10px; margin-right:22px; padding-top:0; padding-bottom:0; color:var(--color-dark-blue) !important; font-size:16px; font-weight:700; letter-spacing:.1px; white-space:nowrap; } /* marca */
.bt5_topNavbarBrand i { font-size:16px; opacity:.9; }
.bt5_topNavbarLogo { display:block; width:auto; height:46px; max-width:190px; object-fit:contain; } /* logo de la marca */
.navbar .nav-link.bt5_topNavbarLink { position:relative; display:flex; align-items:center; gap:7px; min-height:42px; margin:0 2px; padding:9px 13px; border:1px solid transparent; border-radius:7px; color:var(--color-dark-blue) !important; font-size:15px; font-weight:600; line-height:1.3; letter-spacing:.05px; transition:background-color .16s ease, border-color .16s ease, color .16s ease; } /* link del menu */
.navbar .nav-link.bt5_topNavbarLink:hover, .navbar .nav-link.bt5_topNavbarLink:focus-visible { background:#f1f7fa; border-color:#e0edf3; color:#073f63 !important; }
.navbar .nav-link.bt5_topNavbarLink:focus-visible { outline:none; box-shadow:0 0 0 3px rgba(68,173,226,.16); }
.navbar .nav-link.bt5_topNavbarLink.active { background:#edf6fa; border-color:#d7e8f0; color:var(--color-dark-blue) !important; } /* link activo */
.navbar .nav-link.bt5_topNavbarLink.active::after { content:""; position:absolute; left:13px; right:13px; bottom:4px; height:2px; border-radius:2px; background:var(--color-sky-blue); } /* subrayado del activo */
.bt5_topNavbarToggler { width:42px; height:42px; padding:7px; border:1px solid #cfdee6; border-radius:8px; background:#f8fbfc; color:var(--color-dark-blue); box-shadow:none; } /* boton hamburguesa */
.bt5_topNavbarToggler:hover { background:#f0f7fa; border-color:var(--color-light-blue); }
.bt5_topNavbarToggler:focus { box-shadow:0 0 0 3px rgba(68,173,226,.16); }
.bt5_topNavbarToggler .navbar-toggler-icon { width:1.35em; height:1.35em; }
.bt5_topNavbarDropdown { padding:7px; border:1px solid #dbe6ec; border-radius:10px; background:var(--color-white); box-shadow:0 10px 26px rgba(9,80,124,.12); } /* panel del submenu */
.dropdown-menu .bt5_topNavbarDropdownItem { border-radius:7px; padding:9px 11px; color:var(--color-dark-blue); font-size:14px; font-weight:600; } /* item del submenu */
.dropdown-menu .bt5_topNavbarDropdownItem:hover, .dropdown-menu .bt5_topNavbarDropdownItem:focus { background:#f1f7fa; color:var(--color-dark-blue); }
.dropdown-menu .bt5_topNavbarDropdownItem.active { background:var(--color-dark-blue); color:var(--color-white); }
.bt5_topNavbarNav { align-items:center; } /* lista de links */
.bt5_topNavbarNav--end { flex-shrink:0; margin-left:14px; padding-left:16px; border-left:1px solid #e2eaee; } /* grupo derecho (preferencias) */
.bt5_topNavbarNav--end .bt5_topNavbarLink { background:#f8fbfc; border-color:#dbe6ec; font-weight:700; }
.bt5_topNavbarNav--end .bt5_topNavbarLink:hover, .bt5_topNavbarNav--end .bt5_topNavbarLink:focus-visible { background:#edf6fa; border-color:#c7dde8; }

/* Estado colapsado segun el breakpoint del navbar-expand-* */
@media (max-width: 575.98px) {
    .navbar-expand-sm.bt5_topNavbar .bt5_topNavbarCollapse { margin-top:10px; padding:10px 0 7px; border-top:1px solid #e2eaee; }
    .navbar-expand-sm.bt5_topNavbar .nav-link.bt5_topNavbarLink { margin:3px 0; padding:11px 12px; font-size:15px; }
    .navbar-expand-sm.bt5_topNavbar .bt5_topNavbarDropdown { margin:3px 0 8px; box-shadow:none; }
    .navbar-expand-sm.bt5_topNavbar .bt5_topNavbarNav--end { margin:8px 0 0; padding:10px 0 0; border-left:0; border-top:1px solid #e2eaee; }
}
@media (max-width: 767.98px) {
    .navbar-expand-md.bt5_topNavbar .bt5_topNavbarCollapse { margin-top:10px; padding:10px 0 7px; border-top:1px solid #e2eaee; }
    .navbar-expand-md.bt5_topNavbar .nav-link.bt5_topNavbarLink { margin:3px 0; padding:11px 12px; font-size:15px; }
    .navbar-expand-md.bt5_topNavbar .bt5_topNavbarDropdown { margin:3px 0 8px; box-shadow:none; }
    .navbar-expand-md.bt5_topNavbar .bt5_topNavbarNav--end { margin:8px 0 0; padding:10px 0 0; border-left:0; border-top:1px solid #e2eaee; }
}
@media (max-width: 991.98px) {
    .bt5_topNavbarInner { padding-left:16px; padding-right:16px; }
    .bt5_topNavbarLogo { height:42px; }
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarCollapse { margin-top:10px; padding:10px 0 7px; border-top:1px solid #e2eaee; }
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarNav { align-items:stretch; }
    .navbar-expand-lg.bt5_topNavbar .nav-link.bt5_topNavbarLink { margin:3px 0; padding:11px 12px; font-size:15px; }
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdown { margin:3px 0 8px; box-shadow:none; }
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarNav--end { margin:8px 0 0; padding:10px 0 0; border-left:0; border-top:1px solid #e2eaee; }
}
@media (max-width: 1199.98px) {
    .navbar-expand-xl.bt5_topNavbar .bt5_topNavbarCollapse { margin-top:10px; padding:10px 0 7px; border-top:1px solid #e2eaee; }
    .navbar-expand-xl.bt5_topNavbar .nav-link.bt5_topNavbarLink { margin:3px 0; padding:11px 12px; font-size:15px; }
    .navbar-expand-xl.bt5_topNavbar .bt5_topNavbarDropdown { margin:3px 0 8px; box-shadow:none; }
    .navbar-expand-xl.bt5_topNavbar .bt5_topNavbarNav--end { margin:8px 0 0; padding:10px 0 0; border-left:0; border-top:1px solid #e2eaee; }
}
@media (max-width: 1399.98px) {
    .navbar-expand-xxl.bt5_topNavbar .bt5_topNavbarCollapse { margin-top:10px; padding:10px 0 7px; border-top:1px solid #e2eaee; }
    .navbar-expand-xxl.bt5_topNavbar .nav-link.bt5_topNavbarLink { margin:3px 0; padding:11px 12px; font-size:15px; }
    .navbar-expand-xxl.bt5_topNavbar .bt5_topNavbarDropdown { margin:3px 0 8px; box-shadow:none; }
    .navbar-expand-xxl.bt5_topNavbar .bt5_topNavbarNav--end { margin:8px 0 0; padding:10px 0 0; border-left:0; border-top:1px solid #e2eaee; }
}
@media (max-width: 782px) {
    body.admin-bar .bt5_topNavbar--sticky { top:46px; } /* barra admin de WP mas alta en mobile */
}

/* Dropdown por hover en desktop: solo aplica al li con bt5_topNavbarDropdownParent; en tactil sigue siendo por clic */
@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdownParent { position:relative; }
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdownParent > .bt5_topNavbarDropdown { display:block; top:calc(100% - 1px); left:0; right:auto; min-width:220px; margin-top:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(7px); transition:opacity .15s ease, transform .15s ease, visibility .15s ease; }
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdownParent:hover > .bt5_topNavbarDropdown,
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdownParent:focus-within > .bt5_topNavbarDropdown,
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdownParent > .bt5_topNavbarDropdown.show { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdownParent > .dropdown-toggle::after { margin-left:.38rem; vertical-align:.16em; transition:transform .15s ease; transform-origin:50% 45%; }
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdownParent:hover > .dropdown-toggle::after,
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdownParent:focus-within > .dropdown-toggle::after,
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdownParent > .dropdown-toggle.show::after { transform:rotate(180deg); }
    .navbar-expand-lg.bt5_topNavbar .bt5_topNavbarDropdownParent > .bt5_topNavbarDropdown::before { content:""; position:absolute; left:0; right:0; top:-8px; height:8px; } /* mantiene el area hover continua entre link y panel */
}