*,
*::before,
*::after {
    box-sizing: border-box;
}
html, body{
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
    display: grid;
    grid-template-rows: min-content 1fr;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue,
        Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
}

.pie-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

.barraLineamiento1 .ui-progressbar-value {
    background: #2d5a8e !important;
}

.barraLineamiento2 .ui-progressbar-value {
    background: #8e2d2d !important;
}

.barraLineamiento3 .ui-progressbar-value {
    background: #2d7a4f !important;
}

.barraLineamiento4 .ui-progressbar-value {
    background: #7a5c2d !important;
}

.barraLineamiento5 .ui-progressbar-value {
    background: #2d6a6a !important;
}

.barraLineamiento6 .ui-progressbar-value {
    background: #5c2d8e !important;
}

.barraLineamiento7 .ui-progressbar-value {
    background: #6a2d5c !important;
}


.miBoton .ui-button-text-icon-left {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px;
}

.btn-boletin {
    background: #112645 !important;
    border: none !important;
    color: white !important;
    border-radius: 10px !important;
    padding: 0.8rem 1.3rem !important;
    font-weight: 600 !important;
    transition: all .2s ease;
}

.btn-boletin:hover {
    background: #2e4d7a !important;
    transform: translateY(-2px);
}

.btn-plan {
    background: #00a693 !important;
    border: none !important;
    color: white !important;
    border-radius: 10px !important;
    padding: 0.8rem 1.3rem !important;
    font-weight: 600 !important;
    transition: all .2s ease;
}

.btn-plan:hover {
    background: #00c79c !important;
    transform: translateY(-2px);
}

.btn-boletin .pi,
.btn-plan .pi {
    color: white !important;
}




.filtros-dashboard {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    width: 100%;
}

.erd-lin-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    color: white !important;
    flex-shrink: 0 !important;
}


#titulo-grafico{
    font-size: 0.95rem;
    letter-spacing: 0.02rem;
    font-weight: 800;
    color: white;
    gap:1rem;
}

#titulo-grafico i {
    color: #65A852;
    font-size: 1.4rem;
}


.subtitulo-grafico{
    font-size: 0.75rem;
    opacity: 0.7;
    color: white
}

.erd-lin-row {
    display: grid !important;
    grid-template-columns: 42px 1fr auto 60px !important;
    align-items: center !important;
    gap: 0.75rem !important;
}

.erd-lin-count {
    font-family: 'Nunito', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    text-align: right !important;
    white-space: nowrap !important;
}


.toolbar {
    width: 100% !important;
    background-color: #f8f9fc !important;
    display: flex !important;
    padding: 1rem 2rem !important;
    border-bottom: 1px solid  #ddd8d0 !important;
    flex-wrap: wrap !important;
}




.search {
    padding: 6px 12px !important;
    border: 1.5px solid #ddd8d0 !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-family: 'Source Sans 3', sans-serif !important;
    width: 220px !important;
}

.select {
    padding: 6px 10px !important;
    border: 1.5px solid #ddd8d0 !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-family: 'Source Sans 3', sans-serif !important;
    background: white !important;
    cursor: pointer !important;
}

.panel{
    background: white!important;
    border-radius: 10px !important;
    padding: 10px 18px !important;
    border: 1px solid #ddd8d0 !important;
    text-align: center !important;
    min-width: 110px !important;
    flex-wrap: wrap !important;
}


.toolbar-title {
    font-family: 'Nunito', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    color: #112645 !important;
    margin-right: auto !important;
}

.toolbar-subtittle {
    font-family: 'Nunito', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
    color: #112645 !important;
    margin-right: auto !important;
}


.toolbar-description{
    margin-top: 0.5rem;
    font-family: 'Nunito', sans-serif !important;
    font-size:0.8rem;
    font-weight:700;
    letter-spacing:0.12em;
    color: #00a693;
    margin:0 0 2px 0;
}

.stat-num {
    font-family: 'Nunito', sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    color: var #1a3050;
}


.wrapper{
    width: 100%;
    height: 100%;
    background: #edf0f5;
    margin-left: 0 !important;
    grid-column-start: 1;
    grid-row-start: 2;
}

.above-the-fold-spacer {
    height: calc(100vh - 220px);
    grid-column: 1 / -1;
    grid-row: 1 / span 2;
}

.main{
    flex: 1;
    padding: 0px;
    background: #F2F2F2;
}



.footer {
    grid-row-start: 3;
    width: 100%;
    min-height: 40px;
    padding: 10px;
    background: #08415C;
    color: white;
}

.topbar{
    align-items: center;
    width: 100%;
    background:white;
    padding: 1rem 2.5rem;
    display: flex;
    color: white;
    position: sticky;
    top: 0;
    grid-column-start: 1;
    grid-row-start: 1;
    border-bottom: 3px solid #00a693;
}

.text-label{
    font-weight: 500 !important;
    font-size: 1.05rem !important;
}


.rotate {
    animation: rotation 8s infinite linear;
}

.ui-blockui-content{
    background: white !important;
}

.ui-column-title{
    font-weight: 500 !important;
}

.card-custom{
    border-radius: 5px;
}

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(359deg);
    }
}

.texto-largo{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


@media(max-width: 576px){
    .ocultar-columna{
        display: none !important;
    }

    .separar-texto{
        display: flex !important;
        justify-content: space-between !important;
    }

    body .ui-datatable thead th{
        display: none !important;
    }

    body .ui-datatable.ui-datatable-striped .ui-datatable-data>tr.ui-datatable-odd {
        background: #08415C !important;
        color: white !important;
    }

    .texto-largo{
        white-space: none;
        overflow: initial;
        text-overflow: initial;
    }

    .button-movil .ui-column-title{
        display: none;
    }


}