﻿.table {
    color: black !important;
}

table th {
    white-space: nowrap; /* Evita que el texto se divida en varias líneas */
    overflow: hidden; /* Oculta el texto que sobrepase el límite */
    text-overflow: ellipsis; /* Muestra '...' cuando el texto es demasiado largo */
    max-width: 200px; /* Ajusta el tamaño máximo del encabezado según sea necesario */
    cursor: pointer; /* Indica que el encabezado es interactivo */
}
    /* Opcionalmente, puedes agregar un tooltip */
    table th[title]:hover::after {
        content: attr(title); /* Muestra el texto completo en el tooltip */
        position: absolute;
        background: rgba(0, 0, 0, 0.75);
        color: white;
        padding: 5px;
        border-radius: 3px;
        font-size: 14px;
        top: 100%;
        left: 0;
        z-index: 999;
    }
/* Carousel */
.carousel-caption p {
    font-size: 20px;
    line-height: 1.4;
}

/* Make .svg files in the carousel display properly in older browsers */
.carousel-inner .item img[src$=".svg"] {
    width: 100%;
}

/* QR code generator */
#qrCode {
    margin: 15px;
}

/* Hide/rearrange for smaller screens */
@media screen and (max-width: 767px) {
    /* Hide captions */
    .carousel-caption {
        display: none;
    }
}

.timeline {
    list-style: none;
    padding: 20px 0 20px;
    position: relative;
}

    .timeline:before {
        top: 0;
        bottom: 0;
        position: absolute;
        content: " ";
        width: 3px;
        background-color: #eeeeee;
        left: 50%;
        margin-left: -1.5px;
    }

    .timeline > li {
        margin-bottom: 20px;
        position: relative;
    }

        .timeline > li:before,
        .timeline > li:after {
            content: " ";
            display: table;
        }

        .timeline > li:after {
            clear: both;
        }

        .timeline > li:before,
        .timeline > li:after {
            content: " ";
            display: table;
        }

        .timeline > li:after {
            clear: both;
        }

        .timeline > li > .timeline-panel {
            width: 46%;
            float: left;
            border: 1px solid #d4d4d4;
            border-radius: 2px;
            padding: 20px;
            position: relative;
            -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
            box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
        }

            .timeline > li > .timeline-panel:before {
                position: absolute;
                top: 26px;
                right: -15px;
                display: inline-block;
                border-top: 15px solid transparent;
                border-left: 15px solid #ccc;
                border-right: 0 solid #ccc;
                border-bottom: 15px solid transparent;
                content: " ";
            }

            .timeline > li > .timeline-panel:after {
                position: absolute;
                top: 27px;
                right: -14px;
                display: inline-block;
                border-top: 14px solid transparent;
                border-left: 14px solid #fff;
                border-right: 0 solid #fff;
                border-bottom: 14px solid transparent;
                content: " ";
            }

        .timeline > li > .timeline-badge {
            color: #fff;
            width: 50px;
            height: 50px;
            line-height: 50px;
            font-size: 1.4em;
            text-align: center;
            position: absolute;
            top: 16px;
            left: 50%;
            margin-left: -25px;
            background-color: #999999;
            z-index: 100;
            border-top-right-radius: 50%;
            border-top-left-radius: 50%;
            border-bottom-right-radius: 50%;
            border-bottom-left-radius: 50%;
        }

        .timeline > li.timeline-inverted > .timeline-panel {
            float: right;
        }

            .timeline > li.timeline-inverted > .timeline-panel:before {
                border-left-width: 0;
                border-right-width: 15px;
                left: -15px;
                right: auto;
            }

            .timeline > li.timeline-inverted > .timeline-panel:after {
                border-left-width: 0;
                border-right-width: 14px;
                left: -14px;
                right: auto;
            }

.timeline-badge.primary {
    background-color: #2e6da4 !important;
}

.timeline-badge.success {
    background-color: #3f903f !important;
}

.timeline-badge.warning {
    background-color: #f0ad4e !important;
}

.timeline-badge.danger {
    background-color: #d9534f !important;
}

.timeline-badge.info {
    background-color: #5bc0de !important;
}

.timeline-title {
    margin-top: 0;
    color: inherit;
}

.timeline-body > p,
.timeline-body > ul {
    margin-bottom: 0;
}

    .timeline-body > p + p {
        margin-top: 5px;
    }

/* ===== Header fijo y contenido scrollable ===== */

body {
    overflow: hidden !important;
}

#wrapper {
    height: 100vh !important;
    overflow: hidden !important;
}

#content-wrapper {
    height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1020 !important;
}

.sticky-footer {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 1020 !important;
}

.sidebar {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    overflow-y: auto !important;
}

/* ===== Tipografía GOV.CO ===== */

h1, .h1 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    color: #000000 !important;
    font-size: 40px !important;
    line-height: 3rem !important;
}

h2, .h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    color: #000000 !important;
    font-size: 32px !important;
    line-height: 2.875rem !important;
}

h3, .h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    color: #000000 !important;
    font-size: 24px !important;
    line-height: 2.25rem !important;
}

h4, .h4 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    color: #000000 !important;
    font-size: 20px !important;
    line-height: 1.875rem !important;
}

h5, .h5 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    color: #000000 !important;
    font-size: 18px !important;
    line-height: 1.688rem !important;
}

h6, .h6 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    color: #000000 !important;
    font-size: 16px !important;
    line-height: 1.5rem !important;
}

.sidebar-brand-text,
.card-header,
.modal-title,
.page-heading {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
}

body, p, span, td, li, input, select, textarea,
figcaption, legend, .text-muted, small, .small {
    font-family: 'Work Sans', sans-serif !important;
}

/* ===== Etiquetas ===== */

label,
.control-label,
.col-form-label {
    color: #4B4B4B !important;
    font-family: 'Work Sans', sans-serif !important;
    font-weight: 400 !important;
}

/* ===== Paginación GOV.CO ===== */

.dataTables_paginate,
.pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    box-shadow: none !important;
}

.dataTables_paginate .pagination {
    background: #fff !important;
    padding-left: 0 !important;
}

.dataTables_paginate .pagination .page-item {
    list-style: none !important;
    line-height: 2.5rem !important;
    text-align: center !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 14px !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Números */
.dataTables_paginate .pagination .page-item .page-link {
    text-decoration: none !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 16px !important;
    color: #0B457F !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 2.5rem !important;
    width: 2.5rem !important;
    border: none !important;
    background: transparent !important;
    border-radius: 4px !important;
    padding: 0 !important;
}

/* Activo */
.dataTables_paginate .pagination .page-item.active .page-link {
    background: #3366CC !important;
    border-radius: 4px !important;
    color: #fff !important;
    border: none !important;
}

/* Hover número no activo */
.dataTables_paginate .pagination .page-item:not(.active):not(.disabled):not(:first-child):not(:last-child) .page-link:hover {
    background: #E6EFFD !important;
    border-radius: 4px !important;
    color: #0B457F !important;
}

/* Focus número */
.dataTables_paginate .pagination .page-item:not(.active) .page-link:focus {
    background: #E6EFFD !important;
    outline: none !important;
    border: 1px solid #000 !important;
    box-shadow: none !important;
}

/* Anterior / Siguiente */
.dataTables_paginate .pagination .page-item:first-child .page-link,
.dataTables_paginate .pagination .page-item:last-child .page-link {
    color: #3366CC !important;
    text-decoration: underline !important;
    width: auto !important;
    padding: 0 0.5rem !important;
    background: transparent !important;
}

.dataTables_paginate .pagination .page-item:first-child .page-link:hover,
.dataTables_paginate .pagination .page-item:last-child .page-link:hover {
    color: #004884 !important;
    background: transparent !important;
    text-decoration: underline !important;
}

/* Disabled */
.dataTables_paginate .pagination .page-item.disabled .page-link {
    pointer-events: none !important;
    color: #BABABA !important;
    opacity: 1 !important;
    background: transparent !important;
    text-decoration: none !important;
}

/* ===== Grids / DataTables ===== */

table.dataTable thead th,
table.dataTable thead td,
.table thead th {
    background-color: #D6E4F7 !important;
    color: #3366CC !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #B3C9EC !important;
    border-top: none !important;
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
    background-color: #D6E4F7 !important;
    color: #3366CC !important;
}

table.dataTable tbody tr {
    background-color: #fff !important;
}

table.dataTable tbody tr:hover {
    background-color: #EEF4FB !important;
}

table.dataTable tbody td,
.table tbody td,
.table tbody th {
    border-top: 1px solid #E3ECF7 !important;
    color: #444 !important;
    font-size: 0.85rem !important;
}

/* ===== Sidebar: item activo (submenú) ===== */

.sidebar .nav-item .collapse .collapse-inner .collapse-item.active,
.sidebar .nav-item .collapsing .collapse-inner .collapse-item.active {
    color: #004884 !important;
    font-weight: 700 !important;
    background-color: transparent !important;
}

/* ===== Sidebar texto e iconos blancos ===== */

.sidebar-dark .nav-item .nav-link {
    color: #fff !important;
}

.sidebar-dark .nav-item .nav-link i {
    color: #fff !important;
}

.sidebar-dark .nav-item .nav-link[data-toggle="collapse"]::after {
    color: #fff !important;
}

/* ===== Colores corporativos ===== */

/* Menú lateral */
.bg-gradient-primary {
    background-color: #3366CC !important;
    background-image: linear-gradient(180deg, #3366CC 10%, #4573D0 100%) !important;
}

/* Tabs predeterminado */
.nav-tabs .nav-link {
    background-color: #F6F8F9 !important;
    color: #004884 !important;
    border-color: #dee2e6 !important;
    border-radius: 0 !important;
    font-size: 0.92rem !important;
    padding: 0.4rem 0.75rem !important;
}

/* Tabs activo */
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    background-color: #fff !important;
    color: #004884 !important;
    font-weight: 700 !important;
    border-color: #dee2e6 #dee2e6 #fff !important;
    border-bottom: 2px solid #004884 !important;
}

/* Tabs hover */
.nav-tabs .nav-link:hover {
    background-color: #004884 !important;
    color: #fff !important;
    border-color: #004884 !important;
}

/* Pills predeterminado */
.nav-pills .nav-link {
    background-color: #F6F8F9 !important;
    color: #004884 !important;
}

/* Pills activo */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: #fff !important;
    color: #004884 !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #004884 !important;
}

/* Pills hover */
.nav-pills .nav-link:hover {
    background-color: #004884 !important;
    color: #fff !important;
}

/* List group activo */
.list-group-item.active {
    background-color: #5881D5 !important;
    border-color: #5881D5 !important;
    color: #fff !important;
}

/* ===== Botones GOV.CO ===== */

.btn {
    border-radius: 1.563rem !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 0.563rem !important;
    padding: 0.75rem 1rem !important;
    border-width: 0.125rem !important;
    border-style: solid !important;
}

/* btn-success = botón default GOV.CO (fill primario) */
.btn-success {
    background-color: #3366CC !important;
    border-color: #3366CC !important;
    color: #FFFFFF !important;
}

.btn-success:hover,
.btn-success:focus-visible {
    background-color: #004884 !important;
    border-color: #004884 !important;
    color: #FFFFFF !important;
}

.btn-success:focus-visible {
    outline: 0.125rem solid #000000 !important;
    outline-offset: 0.188rem !important;
}

.btn-success:disabled,
.btn-success.disabled {
    background-color: #737373 !important;
    border-color: #737373 !important;
    color: #FFFFFF !important;
    pointer-events: none !important;
}

/* btn-outline-success = botón outline GOV.CO */
.btn-outline-success {
    background-color: #FFFFFF !important;
    border-color: #3366CC !important;
    color: #3366CC !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus-visible {
    background-color: #004884 !important;
    border-color: #004884 !important;
    color: #FFFFFF !important;
}

.btn-outline-success:disabled,
.btn-outline-success.disabled {
    background-color: #737373 !important;
    border-color: #737373 !important;
    color: #FFFFFF !important;
    pointer-events: none !important;
}

/* Botones primary */
.btn-primary {
    background-color: #3366CC !important;
    border-color: #3366CC !important;
    color: #fff !important;
}

.btn-primary:hover {
    background-color: #004884 !important;
    border-color: #004884 !important;
    color: #fff !important;
}

.btn-primary:focus,
.btn-primary.focus {
    background-color: #004884 !important;
    border-color: #004884 !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 72, 132, 0.4) !important;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    background-color: #004884 !important;
    border-color: #003d70 !important;
}

.btn-primary.disabled,
.btn-primary:disabled {
    background-color: #3366CC !important;
    border-color: #3366CC !important;
}

/* ===== GOV.CO Alertas ===== */

/* Fuente iconográfica GOV.CO — colocar el archivo en /vendor/govco/govco-font-icons.ttf */
@font-face {
    font-family: "govco-font";
    src: url('/vendor/govco/govco-font-icons.ttf') format("truetype");
    font-weight: normal;
    font-style: normal;
}

/* Alias de fuentes → Google Fonts ya cargadas en el layout */
@font-face {
    font-family: "Montserrat-Medium";
    src: local("Montserrat Medium"), local("Montserrat-Medium");
    font-weight: 500;
}

@font-face {
    font-family: "Montserrat-SemiBold";
    src: local("Montserrat SemiBold"), local("Montserrat-SemiBold");
    font-weight: 600;
}

@font-face {
    font-family: "WorkSans-Regular";
    src: local("Work Sans Regular"), local("WorkSans-Regular");
    font-weight: 400;
}

@font-face {
    font-family: "WorkSans-Medium";
    src: local("Work Sans Medium"), local("WorkSans-Medium");
    font-weight: 500;
}

@font-face {
    font-family: "WorkSans-SemiBold";
    src: local("Work Sans SemiBold"), local("WorkSans-SemiBold");
    font-weight: 600;
}

.container-alerta-govco {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
}

.alerta-govco {
    width: 100%;
    height: 44px;
    max-width: 826px;
    max-height: 44px;
    border-radius: 3px !important;
    padding: 0px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0px !important;
    text-align: center;
    background-color: #F6F8F9 !important;
    border: 1px solid #3366CC !important;
    box-shadow: 0px 4px 0px #3366CC24;
}

.alerta-govco-sm {
    max-width: 664px;
}

.alerta-success-govco {
    background-color: #CDE6DF !important;
    border: 1px solid #0D684B !important;
    box-shadow: 0px 4px 0px #06846024;
}

.alerta-error-govco {
    background-color: #EECDD2 !important;
    border: 1px solid #B30937 !important;
    box-shadow: 0px 4px 0px #B3093724;
}

.alerta-content-text {
    margin: 0 auto;
    margin-left: 0px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 16px;
}

.alerta-content-text-sm {
    font-size: 12px;
}

.alerta-icon-govco {
    margin-left: 4.5rem;
    margin-right: 10px;
}

.alerta-icon-govco::after {
    font-family: "govco-font";
    font-size: 24px;
}

.alerta-icon-notificacion-govco::after {
    content: "\e9f3";
}

.alerta-icon-success-govco::after {
    content: "\e8a4";
}

.alerta-icon-error-govco::after {
    content: "\eb72";
}

.alerta-link {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    text-decoration: underline !important;
}

.anotificacion,
.anotificacion:hover {
    color: #3366CC;
}

.asuccess,
.asuccess:hover {
    color: #0D684B;
}

.aerror,
.aerror:hover {
    color: #B30937;
}

@media (max-width: 575px) {
    .alerta-govco,
    .alerta-govco-sm {
        height: 55px;
        max-height: 55px;
        max-width: 296px;
    }

    .alerta-icon-govco {
        display: none;
    }

    .alerta-content-text,
    .alerta-content-text-sm {
        font-family: 'Work Sans', sans-serif;
        font-weight: 400;
        font-size: 14px;
        margin: 10px !important;
    }

    .alerta-link {
        font-family: 'Work Sans', sans-serif;
        font-weight: 600;
    }
}
