@import url(//fonts.googleapis.com/css?family=Lato:400,900);
body {
    background-color: #f6f6f7;
    min-height: 100vh;
}

/* ⚡ BLOQUEIA CONTEÚDO ENQUANTO LOADER ATIVO (classe 'loading') */
body.loading > *:not(#loader-wrapper) {
    opacity: 0;
    pointer-events: none;
}

body.loading {
    overflow: hidden;
}

/* ⚡ GARANTE QUE LOADER FICA VISÍVEL */
#loader-wrapper {
    opacity: 1;
    pointer-events: auto;
}

/* Mostrar elementos após o loader */
body.loaded .fade-in-up,
body.loaded .fade-in-up-delay-1,
body.loaded .fade-in-up-delay-2,
body.loaded .fade-in-up-delay-3 {
    opacity: 1;
    transform: translateY(0);
}
html {
    scroll-behavior: smooth;
}
/* preloader css */
#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2147483646;
    background: #fff;
    display: block;
    visibility: visible;
    opacity: 1;
    transition: visibility 0.3s ease-out, opacity 0.3s ease-out;
}
#loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #17a2b8;
    -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
    z-index: 2147483646;
}
#loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #17a2b8;
    -webkit-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 3s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}
#loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #17a2b8;
    -webkit-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 1.5s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}
#loader2 {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 95px;
    height: 95px;
    margin: -125px 0 0 -50px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #17a2b8;
    -webkit-animation: spin 1s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 1s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
    z-index: 2147483646;
}
@-webkit-keyframes spin {
    0% { 
        -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg);  /* IE 9 */
        transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
    }
    100% {
        -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg);  /* IE 9 */
        transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
    }
}
@keyframes spin {
    0% { 
        -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg);  /* IE 9 */
        transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
    }
    100% {
        -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg);  /* IE 9 */
        transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
    }
}
#loader-wrapper .loader-section {
    position: fixed;
    top: 0;
    width: 51%;
    height: 100%;
    background: #fff; /* original é #222222 */
    z-index: 2147483645;
    -webkit-transform: translateX(0);  /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(0);  /* IE 9 */
    transform: translateX(0);  /* Firefox 16+, IE 10+, Opera */
}
#loader-wrapper .loader-section.section-left {
    left: 0;
}
#loader-wrapper .loader-section.section-right {
    right: 0;
}
/* Loaded */
.loaded #loader-wrapper .loader-section.section-left {
    -webkit-transform: translateX(-100%);  /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(-100%);  /* IE 9 */
    transform: translateX(-100%);  /* Firefox 16+, IE 10+, Opera */
    -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);  
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader-wrapper .loader-section.section-right {
    -webkit-transform: translateX(100%);  /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(100%);  /* IE 9 */
    transform: translateX(100%);  /* Firefox 16+, IE 10+, Opera */
    -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);  
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader {
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;  
    transition: all 0.3s ease-out;
}
.loaded #loader2 {
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;  
    transition: all 0.3s ease-out;
}
.loaded #loader-wrapper {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(-100%);  /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateY(-100%);  /* IE 9 */
    transform: translateY(-100%);  /* Firefox 16+, IE 10+, Opera */
    -webkit-transition: visibility 0.3s 1s ease-out, opacity 0.3s 1s ease-out, all 0.3s 1s ease-out;  
    transition: visibility 0.3s 1s ease-out, opacity 0.3s 1s ease-out, all 0.3s 1s ease-out;
}
.no-js #loader-wrapper {
    display: none;
}
/* ===========================================
    QUICK ACCESS SECTION - PÁGINA INICIAL
    =========================================== */
.section-header {
    text-align: center;
    margin-bottom: 3rem;
}
.section-title {
    color: #333;
    /* margin-bottom: .75rem; */
}
.section-subtitle {
    font-size: 1.1rem;
    color: #666;
    margin: 0 auto;
}
.quick-access-card {
    background: white;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    height: 100%;
    border: none;
}
.quick-access-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
}
.quick-access-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #17a2b8;
    transition: all 0.3s ease;
}
.quick-access-card:hover .quick-access-icon {
    transform: scale(1.1);
}
.quick-access-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #333;
}
.quick-access-desc {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
}
.quick-access-btn {
    background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
    color: white;
    border: none;
    padding: 0.5rem 1.5rem;
    border-radius: 20px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}
.quick-access-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(23, 162, 184, 0.4);
    color: white;
}
/* Animações para Quick Access */
.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out;
}
.fade-in-up-delay-1 {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out 0.2s;
}
.fade-in-up-delay-2 {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out 0.4s;
}
.fade-in-up-delay-3 {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out 0.6s;
}        
.tv-camara-news .badge-primary, .data-topo {
    color: #fff;
    background-color: #1c93a7 !important;
} 
.tv-camara-news-transmissao {
    padding-right: 0.65rem;
    padding-left: 0.65rem;            
}        
.tv-camara-news .b-0 {
    bottom: 0;
}
.tv-camara-news .bg-shadow {
    background: rgba(0, 0, 0, 0.75);
    background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0.2)), color-stop(30%, rgba(0, 0, 0, 0.4)), color-stop(70%, rgba(0, 0, 0, 0.7)), color-stop(100%, rgba(0, 0, 0, 0.95)));
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.4) 30%, rgba(0, 0, 0, 0.7) 70%, rgba(0, 0, 0, 0.95) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313', GradientType=0 );
}
.tv-camara-news .top-indicator {
    right: 0;
    top: 1rem;
    bottom: inherit;
    left: inherit;
    margin-right: 1rem;
}
.tv-camara-news .overflow {
    position: relative;
    overflow: hidden;
}
.tv-camara-news .zoom img {
    transition: all 0.2s linear;
}
.tv-camara-news .zoom:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.bg-azul {
    background-color: #1c93a7 !important;
}
.jumbotron {
    margin-bottom: 1rem !important;            
}
.jumbotron h4 {
    margin-bottom: 0 !important;            
}
.jumbotron-comunicado {
    padding: 1rem !important;
}
.tv-camara-jumbotron {
    padding: .7rem !important;
    /* padding-left: 1.5rem !important; Espaço extra para a borda lateral */
    text-align: center !important;
    border-left: 4px solid #17a2b8 !important; /* Borda lateral azul */
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important; /* Sombra sutil */
    transition: all 0.3s ease !important;
}
.tv-camara-jumbotron:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
/* Barrinha decorativa nos títulos - Aplica em todos os h1, h2, h3, h4 */
.tv-camara-jumbotron h1,
.tv-camara-jumbotron h2,
.tv-camara-jumbotron h3,
.tv-camara-jumbotron h4,
.tv-camara-jumbotron .section-title {
    position: relative !important;
    display: inline-block !important;
    padding-bottom: 8px !important; /* Espaço para a barrinha */
}
.tv-camara-jumbotron h1::after,
.tv-camara-jumbotron h2::after,
.tv-camara-jumbotron h3::after,
.tv-camara-jumbotron h4::after,
.tv-camara-jumbotron .section-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 150px !important;
    height: 3px !important;
    background: linear-gradient(90deg, #17a2b8 0%, #138496 100%) !important;
    border-radius: 2px !important;
}
.tv-camara-jumbotron .section-subtitle {
    color: #6c757d !important;
}
.tv-camara-jumbotron .display-4 {
    font-weight: 400 !important;
}
.tv-camara-hr {
    margin-top: 1rem;
    margin-bottom: 0.75rem;
    border: 0;
}     
.info-card {
    position: relative;
    font-family: 'Lato', sans-serif;
    margin-bottom: 20px;
    overflow: hidden;
    width: 100%;
    height: auto;  
    background: #fff;
    box-shadow: 0 1px 8px rgba(0,0,0,.1);
    border-radius: 2px;
    transition: all .3s cubic-bezier(.165,.84,.44,1);           
}
.info-card:hover {
    box-shadow: 0 1px 8px rgba(0,0,0,.3);
    transition: all .3s cubic-bezier(.165,.84,.44,1);           
}   
.info-card .animate {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}   
.info-card .info-card-details,
.info-card .info-card-details .info-card-header  {
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -100%;
    left: 0;
    background: #fff;
    text-align: center;
}
.info-card .info-card-details::-webkit-scrollbar {
    width: 8px;
}
.info-card .info-card-details::-webkit-scrollbar-button {
    width: 8px;
    height: 0px;
}
.info-card .info-card-details::-webkit-scrollbar-track {
    background: transparent;
}
.info-card .info-card-details::-webkit-scrollbar-thumb {
    background: rgb(160, 160, 160);
}
.info-card .info-card-details::-webkit-scrollbar-thumb:hover {
    background: rgb(130, 130, 130);
}           
.info-card .info-card-details .info-card-header {
    height: auto;       
    bottom: 100%;
    padding: 10px 5px;
}
.info-card:hover .info-card-details {
    bottom: 0px;
    overflow: auto;
}
.info-card:hover .info-card-details .info-card-header {
    position: relative;
    bottom: 0px;
    padding-top: 45px;
    padding-bottom: 25px;
}
.info-card .info-card-details .info-card-header h1, 
.info-card .info-card-details .info-card-header h3 {
    color: rgb(62, 62, 62);
    font-size: 22px;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0 !important;
    padding: 0 !important;
}
.info-card .info-card-details .info-card-header h3 {
    color: rgb(142, 182, 52);
    font-size: 15px;
    font-weight: 400;
    margin-top: 5px;
}
.info-card .card {
    height: 100%;
}
.info-card .card .card-body img {
    width: 70px;
    height: 70px;
    padding: 10px;
    border-radius: 50%;
}   
.info-card .card .card-body {
    padding: 0.2rem !important;
}   
.info-card .card .card-body p {
    margin-bottom: 0.9rem !important;
}
.info-card .card-footer {
    border-top: 1px solid rgba(0, 0, 0, .03);
}
.info-card .card-header {
    border-radius: 0 !important;
}
.info-card .card-header {
    padding: 0.75rem !important;
}
.info-card-details .btn {
    padding: 0.75rem !important;
}  
/* Botões dos cards de atendimento - tamanho igual aos títulos */
.info-card-details .btn.btn-block {
    font-size: 1.25rem !important; /* Mesmo tamanho do h5 */
    font-weight: 500 !important;
    padding: 1rem 0.75rem !important;
    line-height: 1.2 !important;
}
.info-card-hr {
    margin-top: .3rem !important;
    margin-bottom: 1.5rem !important;
}
/* Botão SIC maior e mais visível */
.info-card .info-card-details .btn.btn-success, .info-card .info-card-details .btn.btn-primary {
    padding: 2.25rem 1rem !important;
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* ===== CARDS DE ADMINISTRADORES ===== */
.admin-card {
    transition: all 0.3s ease;
    overflow: hidden;
}
.admin-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
}
.admin-card .card-header {
    border-radius: 0 !important;
    border: none !important;
    position: relative;
    overflow: hidden;
}
.admin-card .card-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%);
    pointer-events: none;
}
.admin-card .admin-contact-info {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 1.5rem;
    margin-top: 1rem;
}
.admin-card .contact-item {
    background: white;
    border-radius: 8px;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: all 0.2s ease;
}
.admin-card .contact-item:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transform: translateY(-1px);
}
.admin-card .contact-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.admin-card .contact-item a:hover {
    text-decoration: underline !important;
}
.admin-card .badge {
    font-size: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 20px;
}
.admin-card .badge-light {
    background-color: rgba(255,255,255,0.9) !important;
    color: #333 !important;
}        
.card-radar .card-header {
    padding: .3rem 1rem;
}
.card-radar .list-group-item {
    padding: .3rem 1rem;
}        
/**** card menu item ****/
.menu-item {
border: 1px solid rgba(255, 255, 255, 0.70);                       
}
/* Efeito ao passar o mouse */
.menu-item:hover {
    outline: 5px solid rgba(255, 255, 255, 0.70); /* Estilo da borda que será interna */
    outline-offset: -5px; /* Move a borda para dentro, tirando o espaço do padding */         
}        
.menu-item a {
    color: #fff;
    display: block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.menu-item a p {
    font-family: 'Oswald', sans-serif;
    font-weight: 300;
    font-size: 20px;
}
.menu-item a i {
    font-size: 50px;
    padding-bottom: 20px;
}
.menu-item:hover a {
    text-decoration: none;
}
.menu-item-blue {
    background: #28ABE3;
}
.menu-item-green {
    background: #72bf48;
}
.menu-item-red {
    background: #ff5845;
}
.menu-item-light-red {
    background: #ff7558;
}
.menu-item-light-orange {
    background: #ff8f3f;
}
.menu-item-light-green {
    background: #0ECEAB;
}
.menu-item-purple {
    background: #9f5fb9;
}
.menu-item-pink {
    background: #df6979;
}
.menu-item-black {
    background: #0b8973;
}
.menu-item-yellow {
    background: #e3b42e;
}
.alert {
    border-radius: 2px;
}
.badge {
    border-radius: 2px;
}
.btn {
    border-radius: 2px;
}
/* ===============================
   Estilos para Painel de Pesquisa
   =============================== */
.pesquisa-filtros {
    padding: 12px;
    background: #f8f9fa;
    border-radius: 6px;
}
.pesquisa-filtro-btn {
    transition: all 0.2s ease;
}
.pesquisa-filtro-btn.active {
    font-weight: bold;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.pesquisa-termo-destaque {
    background-color: #fff3cd;
    padding: 2px 4px;
    border-radius: 3px;
    font-weight: 600;
}
.pesquisa-filtros .gap-2 {
    gap: 0.5rem;
}
.pesquisa-filtros .d-flex.gap-2 > * {
    margin-right: 0.5rem;
}
.pesquisa-filtros .d-flex.gap-2 > *:last-child {
    margin-right: 0;
}
@media (max-width: 768px) {
    .pesquisa-filtros .d-flex {
        flex-direction: column;
        align-items: flex-start !important;
    }
    .pesquisa-filtro-btn {
        width: 100%;
        margin-bottom: 4px;
    }
}
/* Estilos personalizados para os banners */
#cb-cookie-banner, #ps-satisfaction-banner {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 1050;
    border-radius: 0 !important;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    animation: slideUp 0.3s ease-out;
    transition: all 0.3s ease-out;
    display: none;  
}
#cb-cookie-banner {
    background: linear-gradient(135deg, #d7ebfa 0%, #f8f9fa 100%);   
    border-left: 4px solid #2196f3 !important; 
}
#ps-satisfaction-banner {
    background: linear-gradient(135deg, #e3f2fd 0%, #f8f9fa 100%);   
    border-left: 4px solid #2196f3 !important; 
}   
/* Banner de cookies sempre no topo da pilha */
#cb-cookie-banner {
    z-index: 1060;
}
/* Classe para controlar posicionamento dinâmico */
.banner-stack {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    pointer-events: none;
}
.banner-stack > div {
    pointer-events: auto;
}
@keyframes slideUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
/* Responsividade para mobile */
@media (max-width: 768px) {
    #cb-cookie-banner .btn, #ps-satisfaction-banner .btn {
        font-size: 0.875rem;
        padding: 0.375rem 0.75rem;
    }
    #cb-cookie-banner .col-md-8, #ps-satisfaction-banner .col-md-8 {
        margin-bottom: 0.5rem;
    }
}
.btn.sharp {
    border-radius:0;
}   
.btn-clique-assistir {
    font-size: 1.25rem !important;
}
.btn-pesquisa {
    border-radius: 0rem !important;
}
.embed-legislativo {
    top: -6% !important;
    height: 106% !important;
}
.agenda-plenario .fc-center h2{
    font-size: 26px;
}
.our-webcoderskull .row.heading h4 {
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
}
.our-webcoderskull ul {
    margin:0;
    padding:0;
    list-style:none;
}
.heading.heading-icon {
    display: block;
}
.our-webcoderskull .padding-lg {
    display: block;
    padding-top: 60px;
    padding-bottom: 60px;
}
.our-webcoderskull .cnt-block{ 
    float:left; 
    width:100%; 
    background:#fff !important;
    text-align:center;
    border: none !important;
    border-radius: 3px !important;
    padding: 1rem !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    overflow: hidden !important;
}
.our-webcoderskull .cnt-block::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, #17a2b8 0%, #138496 100%) !important;
    transform: scaleX(0) !important;
    transition: transform 0.4s ease !important;
}
.our-webcoderskull .cnt-block:hover::before {
    transform: scaleX(1) !important;
}
.our-webcoderskull .cnt-block:hover {
    box-shadow: 0 12px 28px rgba(23, 162, 184, 0.15) !important;
    transform: translateY(-6px) !important;
    border: none !important;
}
.our-webcoderskull .cnt-block figure{
    width:148px; 
    height:148px; 
    border-radius:100%; 
    display:inline-block;
    margin-bottom: 15px;
}
.our-webcoderskull .cnt-block img{
    width: 110px !important;
    height: 110px !important;
    border-radius: 50% !important;
    display: inline !important;
    border: 2px solid #e9ecef !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    transition: all 0.4s ease !important;
    }
.our-webcoderskull .cnt-block:hover img {
    border-color: #17a2b8 !important;
    transform: scale(1.05) !important;
    box-shadow: 0 4px 15px rgba(23, 162, 184, 0.2) !important;
}
.our-webcoderskull .cnt-block h3{ 
    color: #2c3e50 !important;
    font-size: 1.05rem !important;
    margin: 0.75rem 0 0.5rem 0 !important;
    text-transform: none !important;
    line-height: 1.4 !important;
}
.our-webcoderskull .cnt-block h3 a{
    text-decoration: none !important;
    color: #2c3e50 !important;
}
.our-webcoderskull .cnt-block h3 a:hover{
    text-decoration: none !important;
    outline: none !important;
    color: #17a2b8 !important;
}
.our-webcoderskull .cnt-block p{ 
    color: #17a2b8 !important;
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 !important;
}
.social-lateral {
    list-style: none;
    position: fixed;
    top: 30%;
    left: 5px;
    color: white;   
    z-index: 997;
    padding: 0px !important;
}
.social-lateral li {
    width: 35px;
    height: 40px;
    background: #e59500;
    margin: 10px 0;
    border-radius: 2px;
    position: relative;
    cursor: pointer;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.social-lateral li .fab {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 20px;
}
.social-lateral li .fas {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 20px;
}
.social-lateral li .fa-sapl {
    width: 30px;
}
.social-lateral li.facebook {
    background: #3b5999;
}
.social-lateral li.twitter {
    background: #55acee;
}
.social-lateral li.youtube {
    background: #dd4b39;
}
.social-lateral li.portal {
    background: #25d366;
}
.social-lateral .slider {
    position: absolute;
    top: 0;
    left: 33px;
    width: 0px;
    height: 40px;
    line-height: 40px;
    background: #eebb5c;
    text-align: center;
    transition: all 0.2s ease;
}
.social-lateral .slider p {
    text-transform: uppercase;
    font-size: 13px;
    opacity: 0;
    font-weight: 900;
    transition: all 0.2s ease;
}
.social-lateral li.facebook div.slider {
    background: #4d669c;
}
.social-lateral li.twitter div.slider {
    background: #65b3ec;
}
.social-lateral li.youtube div.slider {
    background: #d85b4b;
}
.social-lateral li.portal div.slider {
    background: #7bd477;
}
.social-lateral li.ajuda div.slider {
    background: #212529;
}
.social-lateral li:hover .slider {
    width: 85px;
}
.social-lateral li:hover .slider p {
    opacity: 1;
}
.social-lateral a {
    color: white;
}
.social-lateral a:hover {
    color: white;
}
/* Responsividade para barra social - alinhamento com acessibilidade */
@media (max-width: 768px) {
    .social-lateral {
        top: 29%;
    }
}
/**
 * Estilos para Barra de Acessibilidade
 * Controles de tamanho de fonte flutuantes
 */
/* Container principal flutuante - Padrão LAI */
.barra-acessibilidade-flutuante {
    position: fixed;
    right: 5px;
    top: 50%;
    transform: translateY(calc(-50% - 85px)); /* 85px acima do centro */
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 3px;
    transition: all 0.3s ease;
    background: rgba(248, 249, 250, 0.95);
    padding: 4px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(5px);
}
/* Botões de controle - Padrão LAI/PNTP */
.acessibilidade-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f8f9fa;
    color: #495057;
    border: 2px solid #dee2e6;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-family: Arial, sans-serif;
    transition: all 0.2s ease;
    text-decoration: none;
    font-size: 12px;
    line-height: 1;
    position: relative;
}
.acessibilidade-btn:hover {
    background: #e9ecef;
    border-color: #adb5bd;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.acessibilidade-btn:focus {
    outline: 2px solid #17a2b8;
    outline-offset: 2px;
}
.acessibilidade-btn:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
/* Estado ativo - Padrão LAI */
.acessibilidade-btn.ativo {
    background: #17a2b8;
    color: #fff;
    border-color: #166f7e;
    box-shadow: 0 2px 6px rgba(0, 123, 255, 0.3);
}
.acessibilidade-btn.ativo::after {
    content: '✓';
    position: absolute;
    top: -5px;
    right: -5px;
    width: 20px;
    height: 20px;
    background: #28a745;
    border-radius: 50%;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
}
/* Botões específicos - Padrão LAI */
.acessibilidade-btn[data-acao="aumentar"] {
    font-size: 13px;
    font-weight: 700;
}
.acessibilidade-btn[data-acao="normal"] {
    font-size: 11px;
    font-weight: 600;
}
.acessibilidade-btn[data-acao="diminuir"] {
    font-size: 9px;
    font-weight: 700;
}
/* Tooltip CSS usando data-tooltip - evita tooltip nativo */
.acessibilidade-btn {
    position: relative;
}

.acessibilidade-btn::before {
    content: attr(data-tooltip);
    position: absolute;
    right: 60px;
    background: #333;
    color: #fff;
    padding: 8px 12px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    font-size: 14px;
    font-weight: normal;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    z-index: 1000;
}
.acessibilidade-btn::after {
    content: '';
    position: absolute;
    right: 55px;
    border: 6px solid transparent;
    border-left-color: #333;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 1000;
}
.acessibilidade-btn:hover::before,
.acessibilidade-btn:hover::after {
    opacity: 1;
}
/* Separador visual */
.acessibilidade-separador {
    width: 40px;
    height: 2px;
    background: rgba(255, 255, 255, 0.3);
    margin: 4px auto;
    border-radius: 1px;
}
/* Anunciador para leitores de tela */
.sr-only-anunciador {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* Label de acessibilidade */
.label-acessibilidade {
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    background: #495057;
    color: #fff;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    margin-right: 10px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.barra-acessibilidade-flutuante:hover .label-acessibilidade {
    opacity: 1;
}
.label-acessibilidade::after {
    content: '';
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-left-color: #495057;
}
/* Responsividade - mobile */
@media (max-width: 768px) {
    .barra-acessibilidade-flutuante {
        right: 8px;
        top: 50%;
        transform: translateY(calc(-50% - 85px)); /* 85px acima do centro no mobile */
        gap: 2px;
        padding: 3px;
    }
    .acessibilidade-btn {
        width: 28px;
        height: 28px;
        font-size: 10px;
    }
    .acessibilidade-btn[data-acao="aumentar"] {
        font-size: 12px;
    }
    .acessibilidade-btn[data-acao="normal"] {
        font-size: 10px;
    }
    .acessibilidade-btn[data-acao="diminuir"] {
        font-size: 8px;
    }
    /* Tooltips simplificados no mobile */
    .acessibilidade-btn::before {
        display: none;
    }
    .acessibilidade-btn::after {
        display: none;
    }
}
/* Modo de alto contraste - ajuste de cores */
body.high-contrast .acessibilidade-btn {
    background: #000;
    color: #ff0;
    border-color: #ff0;
}
body.high-contrast .acessibilidade-btn:hover {
    background: #ff0;
    color: #000;
}
body.high-contrast .acessibilidade-btn.ativo {
    background: #0f0;
    color: #000;
    border-color: #0f0;
}
/* Animação de entrada */
@keyframes slideInRight {
    from {
        transform: translateX(100px) translateY(-50%);
        opacity: 0;
    }
    to {
        transform: translateX(0) translateY(-50%);
        opacity: 1;
    }
}
.barra-acessibilidade-flutuante {
    animation: slideInRight 0.5s ease-out;
}
/**
 * Sistema Simplificado de Barras Laterais Mobile
 * Baseado em tamanhos de tela pequenos
 */

/* Z-index das barras */
.social-lateral { z-index: 997; }
.barra-acessibilidade-flutuante { z-index: 998; }
div[vw].enabled { z-index: 996 !important; }

/* ========== MODO COLAPSADO (telas pequenas) ========== */

/* Barra de acessibilidade colapsada */
.barra-acessibilidade-flutuante.mobile-collapsed {
    right: 5px !important;
    top: 30% !important;
    transform: translateY(0) !important;
    flex-direction: row !important;
    gap: 0 !important;
    padding: 0 !important;
    border-radius: 20px !important;
    background: rgba(248, 249, 250, 0.95) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    width: 40px !important;
    height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Estado expandido */
.barra-acessibilidade-flutuante.mobile-collapsed.expanded {
    width: auto !important;
    height: 40px !important;
    gap: 6px !important;
    padding: 2px 6px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 120px !important;
    overflow: visible !important;
}

/* Botão principal - reset completo para formato circular */
.mobile-collapsed .acessibilidade-btn[data-acao="principal"] {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border: 2px solid #17a2b8 !important;
    background: #17a2b8 !important;
    color: #fff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
}

/* Botão principal quando expandido - tamanho fixo */
.mobile-collapsed.expanded .acessibilidade-btn[data-acao="principal"] {
    width: 36px !important;
    height: 36px !important;
}

.mobile-collapsed .acessibilidade-btn[data-acao="principal"]:hover {
    background: #138496 !important;
    transform: scale(1.05) !important;
}

/* Botões secundários colapsados */
.mobile-collapsed .acessibilidade-btn:not([data-acao="principal"]) {
    display: none !important;
}

/* Botões secundários expandidos */
.mobile-collapsed.expanded .acessibilidade-btn:not([data-acao="principal"]) {
        display: flex !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    border: 2px solid #dee2e6 !important;
    background: #f8f9fa !important;
    color: #495057 !important;
    border-radius: 50% !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    flex-shrink: 0 !important;
    transition: all 0.3s ease !important;
}

/* Barra social colapsada */
.social-lateral.mobile-collapsed {
    top: 29% !important;
    left: 5px !important;
}

.social-lateral.mobile-collapsed li {
    width: 32px !important;
    height: 38px !important;
    margin: 6px 0 !important;
}

.social-lateral.mobile-collapsed li .fab,
.social-lateral.mobile-collapsed li .fas {
    font-size: 14px !important;
}

.social-lateral.mobile-collapsed .slider {
    left: 30px !important;
    height: 38px !important;
    line-height: 38px !important;
}

.social-lateral.mobile-collapsed .slider p {
    font-size: 10px !important;
}

.social-lateral.mobile-collapsed li:hover .slider {
    width: 70px !important;
}

/* Ocultar elementos desnecessários */
.mobile-collapsed .label-acessibilidade {
    display: none !important;
}

/* VLibras ajustado - posicionado abaixo da barra de acessibilidade */
div[vw].enabled.mobile-collapsed {
    right: -4px !important;
    top: calc(30% + 40px) !important;
    bottom: auto !important;
    transform: translateY(0) !important;
    z-index: 996 !important;
}

div[vw].enabled.mobile-collapsed .vpw-access-button {
    width: 40px !important;
    height: 40px !important;
}
/* Customização VLibras */
div[vw].enabled {
    right: -5px !important;
}
div[vw] .vpw-access-button,
div[vw] .vpw-access-button img,
div[vw] img[src*="access_icon"],
div[vw] img[src*="access_popup"] {
    filter: hue-rotate(325deg) saturate(1) !important;
}
/* Hover no VLibras - manter a cor customizada */
div[vw] .vpw-access-button:hover,
div[vw] .vpw-access-button:hover img {
    filter: hue-rotate(325deg) saturate(1) brightness(1.1) !important;
}
/* Garantir que o filtro seja aplicado em todos os estados */
div[vw] .enabled {
    filter: hue-rotate(325deg) saturate(1) !important;
}

/* Evitar conflito com menu/header em telas pequenas */
@media (max-width: 768px) {
    header,
    nav,
    .navbar {
        z-index: 999 !important;
    }
}

/* Impressão - ocultar */
@media print {
    .barra-acessibilidade-flutuante,
    .social-lateral,
    div[vw].enabled {
        display: none !important;
    }
}
/**
 * Widget de Dados Abertos - Estilos
 * Estilos para o botão de dados abertos integrado ao breadcrumb
 */
/* Botão dentro do breadcrumb */
.dados-abertos-breadcrumb-item {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
}
.dados-abertos-breadcrumb-item .dados-abertos-btn {
    font-size: 0.75rem;
    padding: 4px 8px;
    border-radius: 3px;
    text-decoration: none;
    transition: all 0.2s ease;
    border-color: #6c757d;
    color: #6c757d;
    background-color: transparent;
    white-space: nowrap;
    height: auto;
    line-height: 1.2;
}
.dados-abertos-breadcrumb-item .dados-abertos-btn:hover {
    background-color: #f8f9fa;
    border-color: #6c757d;
    color: #495057;
    text-decoration: none;
}
.dados-abertos-breadcrumb-item .dados-abertos-btn i {
    margin-right: 0.2rem;
    font-size: 0.65rem;
}
/* Ajustar o breadcrumb para usar flexbox */
.breadcrumb {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}
.breadcrumb-item {
    display: flex !important;
    align-items: center !important;
}
/* Responsividade */
@media (max-width: 768px) {
    .dados-abertos-breadcrumb-item {
        margin-left: 0 !important;
        margin-top: 0.5rem;
        width: 100%;
        justify-content: flex-start;
    }
}
.megamenu-li {
    position: static;
    border-left: 1px solid !important;
    border-color: #3d444a !important;
}
.megamenu {
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    padding: 15px;
}
.megamenu-categoria {
    margin-bottom: 1rem;
}
.megamenu-categoria a {
    color: #212529 !important;
}
.megamenu-categoria h5:hover {
    color: #1c93a7 !important;
}              
.dropdown{
    border-radius:0;
    border:0;
}
.dropdown-menu{
    border:0;
    top:80%;
    border-radius:0px 0px 5px 5px;
}
.dropdown-item:hover{
    background:#f3f3f3;
}
.open > .dropdown-menu {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);  
    opacity:1;
}
.dropdown-menu {
    opacity:.3;
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-animation-fill-mode: forwards;  
    animation-fill-mode: forwards; 
    transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
}
.caret-up {
    width: 0; 
    height: 0; 
    border-left: 4px solid rgba(0, 0, 0, 0);
    border-right: 4px solid rgba(0, 0, 0, 0);
    border-bottom: 4px solid;
    display: inline-block;
    margin-left: 2px;
    vertical-align: middle;
}       
.card-body-a:hover {
    text-decoration: none;
}
.form-control {
    border-radius: 0 !important;
}
#calendar {
    width: 100vw;
}
.fc-scroller {
    height: auto !important;
}
.card-producao .card-body {
    padding: 1rem 1.25rem 1.25rem 1.25rem;
}
.card-producao .card-title a {
    color: inherit;
}
.card-producao .card-subtitle a {
    color: inherit;
}
.card-producao .card-title a:hover {
    outline: none !important;
    color: #1c93a7 !important;
}
.card-producao .card-subtitle a:hover {
    outline: none !important;
    color: #1c93a7 !important;
}
.card-producao:hover img {
    opacity: .90;
}               
.card-producao a, a:focus, a:hover{ 
    text-decoration: none;
}       
.card-padding-zero {
    padding: 0 !important;
}
.card-producao .btn-group a {
    display: inline-block;
    background-color: #dc3545;
    padding: 5px 15px;
    color: #fff;
    text-transform: capitalize;
    margin-top: 20px;
    border: 0;
    border-radius: 0;
}
.card-producao .btn-group a::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #cc3241;
    left: -100%;
    top: 0;
    -webkit-transition: .5s;
    transition: .5s;
    z-index: -1;
}
.card-producao .btn-group a {
    overflow: hidden;
    z-index: 2;
    -webkit-transition: .5s;
    transition: .5s;
    position: relative;
    text-decoration:none;
}
.card-producao .btn-group a:hover::before {
    left: 0;
    z-index: -1;
}
.flex-glow {
    flex: 1;
}
.card img {
    width: 100%;
}               
.simple-pagination ul {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
    text-align: center;
}
.simple-pagination li {
    display: inline-block;
    margin-right: 5px;
}
.simple-pagination li a,
.simple-pagination li span {
    color: #666;
    padding: 5px 10px;
    text-decoration: none;
    border: 1px solid #EEE;
    background-color: #FFF;
    box-shadow: 0px 0px 10px 0px #EEE;
}
.simple-pagination .current {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}
.card .list-inline-item {
    margin-right: 0 !important;
}   
.lista-producoes .card {
    float: left; 
    width:100%;
}
.lista-producoes .title-small {
    color: #141517; 
    font-size: 16px; 
    font-weight: 400; 
    line-height: 23px; 
    margin: 6px 0 0;
}
.lista-producoes .title-large a, .title-small a, .title-x-small a {
    color: inherit;
}
.lista-producoes .side-bar .nav-tabs .nav-link {
    color: #565555; 
    border: none;
}
.lista-producoes .side-bar .nav-tabs .nav-link.active, .side-bar .nav-tabs .nav-link:hover {
    border-bottom:2px solid #1c93a7;  
    color: #222;
}
.lista-producoes .sidebar-tabing .media {
    margin-top: 20px;
}
.lista-producoes .sidebar-tabing img {
    width: 120px;height: 100px;
}
.lista-producoes .sidebar-tabing .title-small {
    line-height: 23px; 
    margin-top: 5px; 
    font-size: 18px;
}
.lista-producoes .sidebar-tabing .title-small:hover {
    outline: none !important;
    color: #1c93a7 !important;
}           
.lista-producoes .heading-large {
    border-bottom: 2px solid #1c93a7;
}
.lista-producoes .heading-large::before, .section-01 .heading-large::after {
    background: transparent;
}
.lista-producoes .heading-small {
    border-bottom: 2px solid #222; 
    color: #222; 
    float: left; 
    margin: 7px 0 0; 
    width: 100%; 
    padding-bottom: 10px; 
    font-size: 18px 
}
.lista-producoes .title-small {
    margin-bottom: 5px; 
    font-size:17px 
}
.lista-producoes .news-block {
    border-bottom: 1px dashed #000; 
    padding-bottom: 30px; 
    border: none;
}
.lista-producoes aside > .news-block {
    border-bottom: 1px dashed #000; 
    padding-bottom: 19px;
}
.lista-producoes aside > .news-block:last-child {
    border-bottom: none; 
    margin-bottom: 20px
}
.lista-producoes .card {
    border: none;
}
.lista-producoes .card-block {
    padding: 10px 0;
}
.titulo-eixo-lista-producoes {
    text-transform: uppercase;
    letter-spacing: .02rem;
}       
.subtitulo-eixo-lista-producoes {
    text-transform: uppercase;
    font-weight: 200;
    letter-spacing: .02rem;
    color: #1c93a7;
}
.lista-producoes .card-producao .card-text {
    margin-bottom: .1rem !important;
}
.lista-producoes .card-producao .card-body {
    padding: .7rem .5rem .5rem .5rem;
}
.lista-producoes .row-lista-producoes {
    padding: 0;
    margin: 0;
}
.lista-producoes .small-line-height {
    line-height: 1.3;
    color: #666;
}
.nav-tabs-sessoes .nav-link {
    padding: .5rem .5rem;
}
.card-relacionados .title-small a {
    color: inherit;
}
.card-relacionados .title-small a:hover {
    outline: none !important;
    color: #1c93a7 !important;
}       
.card-relacionados a, a:focus, a:hover{ 
    text-decoration: none;
}  
.container-producao .card {
    border: none !important; 
    float: left; 
    width:100%
}
.container-producao .title-small { 
    color: #141517; 
    font-size: 16px; 
    font-weight: 400; 
    line-height: 23px; 
    margin: 6px 0 0;
}
.container-producao .title-small a {
    color: inherit;
}
.container-producao .card-block {
    padding:0 10px 10px;
}
.container-producao .card-text {
    margin: 0;
}
.container-producao .text-time {
    color: #ff0000; 
    font-weight: 600;
}
.container-producao .card-img-overlay {
    padding: 0; 
    top: 3px; 
    left: 7px; 
    height: 3vh;
}
.container-producao .card .card-boy-05-padding {
    padding-top: 0.1rem !important;
    padding-left: 0rem !important;
    padding-right: 0rem !important;
    padding-bottom: 1.5rem !important;
}
.container-producao .compartilhar-producao {
    font-size: 1.5rem;
}   
.container-producao .compartilhar-producao a {
    color: black;
}
.container-producao .card img {
    transition: all 0.3s ease;
}
.js-copy {
    margin-top: -.6rem;
    padding: .1rem .4rem .1rem .4rem;
    font-size: .7rem;
}
.fb_iframe_widget span {
    display: inline-block;
    position: relative;
    text-align: justify;
    vertical-align: inherit !important;
}
.list-inline-item {
    margin-right: 0 !important;
}       
.list-inline-item img {
    vertical-align: inherit !important;
}
.card-body-row-conteudo-padding {
    padding: 0 !important;
}
.blog-footer {
    color: #999;
    background-color: #f9f9f9;
    border-top: .05rem solid #e5e5e5;           
}
.blog-footer .copyright {
    background-color: #202020; 
}
.blog-footer a {
    color: white; 
}
.blog-footer p {
    margin-bottom: 0rem !important;         
}
.blog-footer .copyright span,
.blog-footer .copyright a {
    color: #878787;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear; 
}
.blog-footer .copyright a:hover {
    color:#1c93a7; 
}
.blog-footer .copyright-menu ul {
    text-align: right;
    margin: 0; 
}
.blog-footer .copyright-menu li {
    display: inline-block;
    padding-left: 20px; 
}           
.blog-footer #irtopo {
    position: relative;
    z-index: 997; 
    bottom: 1rem;
    right: 1rem;            
}
.blog-footer #irtopo a {
    color: #212529;         
}       
.blog-footer #irtopo .btn-dark {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    padding: 0;
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #FA6742;
    border-color: #FA6742;
    display: none;
    z-index: 999;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear; 
}
.blog-footer #irtopo .btn-dark:hover {
    transform: scale(1.1); 
}
.blog-footer .section-title {
    text-align: center;
    color: #007b5e;
    margin-bottom: 50px;
    text-transform: uppercase;
}
.blog-footer {
    background: #343a40!important;
}
.blog-footer h5{
    padding-left: 10px;
    border-left: 3px solid #eeeeee;
    padding-bottom: 6px;
    margin-bottom: 20px;
    color:#ffffff;
}
.blog-footer a, .blog-footer p {
    color: #ccc;
    text-decoration: none !important;
    background-color: transparent;
}
.blog-footer ul.social li {
    padding: 3px 0;
}
.blog-footer ul.social li a i {
    margin-right: 5px;
    font-size:25px;
    -webkit-transition: .5s all ease;
    -moz-transition: .5s all ease;
    transition: .5s all ease;
}
.blog-footer ul.quick-links li {
    padding: 3px 0;
    -webkit-transition: .5s all ease;
    -moz-transition: .5s all ease;
    transition: .5s all ease;
}
.blog-footer ul.quick-links li p i {
    margin-right: .3rem;
}           
.blog-footer ul.quick-links li a:hover {
    color: #1c93a7 !important;
}
.blog-footer ul.quick-links li a i{
    margin-right: .3rem;
}
.blog-footer ul.quick-links li:hover a i {
    font-weight: 700;
}
.blog-footer .hr-footer {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important;            
}
.blog-footer .h5 {
    color: white;
}
.blog-footer ul {
    margin: 0rem !important;
}
.hr-pesquisar {
    margin-top: .4rem !important;
}
.col-interessar-padding-celular {
    padding-right: 0 !important;
}
.col-relacionadas-padding-celular {
    padding-right: 0 !important;
}
.barra-pesquisa-lateral .input-group-btn {
    background-color: #17a2b8;
}
#formulario-comentario .btn {
    border-radius: 0;
}
/* Melhorias UX - Comentários */
#contador-caracteres {
	transition: color 0.3s ease;
	font-size: 0.85rem;
}
#contador-caracteres.text-warning {
	font-weight: 600;
}
#contador-caracteres.text-danger {
	font-weight: 700;
}
#indicador-moderacao {
	animation: pulse-moderacao 2s infinite;
}
@keyframes pulse-moderacao {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0.7;
	}
}
#conteudo_comentario:focus {
	border-color: #17a2b8;
	box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.25);
}
#formulario-comentario .form-control:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}
.caixa-comentario img {
    width: 50px;
    height: 50px;
}
.caixa-comentario .media-left {
    padding-right: 10px;
    width: 65px;
}
.caixa-comentario .media-body p {
    border: 1px solid #ddd;
    padding: 10px;
}
.caixa-comentario .media-body .media p {
    margin-bottom: 0;
}
.caixa-comentario .media-heading {
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    padding: 7px 10px;
    position: relative;
    margin-bottom: -1px;
}
.caixa-comentario .media-heading-responder:before {
    content: "";
    width: 12px;
    height: 12px;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-width: 1px 0 0 1px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(45deg);
    position: absolute;
    top: -6px;
    left: 2px;
}
.caixa-comentario .media-heading a {
    cursor: pointer;
    font-weight: 400 !important;
}       
.caixa-comentario .media-heading a:hover {
    color: #1c93a7;
}
.min-width-comentario {
    min-width: 100%;
}           
.carousel .data-topo {
    position:absolute;
    top: 2%;
    left: 2%;
    padding: 2% 2%;
    background: #dc3545;
    text-align: center;         
}
.carousel .mes{
    font-size: 14px;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
}
.carousel .mes:after{
    content: "";
    display: block;
    border: 1px solid #fff;
}
.carousel .data{
    font-size: 14px;
    color: #fff;
    display: block;
    text-align: center;
    font-weight: bold;
    text-transform:uppercase;           
}   
.carousel-news {
    background: #fff;
    margin: 0 15px;
    box-shadow: 0 1px 2px rgba(43,59,93,0.30);
}
.carousel-news .post-img {
    position:relative;
}
.carousel-news .post-img img {
    width: 100%;
    height: auto;
}
.carousel-news .post-img img:hover {
    opacity: .90;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
}
.carousel-news .post-title a {
    color: #333;
    display: inline-block;
    transition: all 0.3s ease 0s;
}
.carousel-news .post-title a:hover {
    text-decoration: none;
    color: #1c93a7 !important;
}
.carousel-news .data-topo{
    position: absolute;
    top: 3%;
    left: 6%;
    padding: 2% 2%;
    background: #dc3545;
    text-align: center;         
}       
.carousel-news .mes{
    font-size: 14px;
    color:#fff;
    font-weight: bold;
    text-transform:uppercase;
}
.carousel-news .mes:after{
    content:"";
    display: block;
    border:1px solid #fff;
}
.carousel-news .data{
    font-size: 14px;
    color:#fff;
    display: block;
    text-align:center;
    font-weight: bold;
    text-transform:uppercase;           
}
.owl-theme .owl-controls .owl-page.active span, .owl-theme .owl-controls.clickable .owl-page:hover span {
    background: #e67e22;
}
.carousel-news .imagebox {
    background: black;
    padding: 0px;
    position: relative;
    width: 100%;
}
.carousel-news .imagebox .imagebox-desc {
    background-color: rgba(0, 0, 0, 0.6);
    bottom: 0px;
    color: white;
    font-size: 1rem;
    left: 0px;
    padding: 10px 10px;
    position: absolute;
    transition: 0.5s padding;
    width: 100%;
}
.carousel-news .imagebox:hover img {
    opacity: .85;
}
.carousel-news .imagebox:hover .imagebox-desc {
    padding-bottom: 1.3rem;
}
.blog-footer {
    color: #999;
    background-color: #f9f9f9;
    border-top: .05rem solid #e5e5e5;           
}
.blog-footer .copyright {
    background-color: #202020; 
}
.blog-footer a {
    color: white; 
}
.blog-footer p {
    margin-bottom: 0rem !important;         
}
.blog-footer .copyright span,
.blog-footer .copyright a {
    color: #878787;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear; 
}
.blog-footer .copyright a:hover {
    color:#1c93a7; 
}
.blog-footer .copyright-menu ul {
    text-align: right;
    margin: 0; 
}
.blog-footer .copyright-menu li {
    display: inline-block;
    padding-left: 20px; 
}           
.blog-footer #irtopo {
    position: relative;
    z-index: 997; 
    bottom: 1rem;
    right: 1rem;            
}
.blog-footer #irtopo a {
    color: #212529;         
}       
.blog-footer #irtopo .btn-dark {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    padding: 0;
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #1c93a7;
    border-color: #166f7e;
    display: none;
    z-index: 999;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear; 
}
.blog-footer #irtopo .btn-dark:hover {
    transform: scale(1.1); 
}
.blog-footer .section-title {
    text-align: center;
    color: #007b5e;
    margin-bottom: 30px;
    text-transform: uppercase;
}
.blog-footer {
    background: #343a40!important;
}
.blog-footer h5{
    padding-left: 10px;
    border-left: 3px solid #eeeeee;
    padding-bottom: 6px;
    margin-bottom: 20px;
    color:#ffffff;
}
.blog-footer a, .blog-footer p {
    color: #ccc;
    text-decoration: none !important;
    background-color: transparent;
}
.blog-footer ul.social li {
    padding: 3px 0;
}
.blog-footer ul.social li a i {
    margin-right: 5px;
    font-size:25px;
    -webkit-transition: .5s all ease;
    -moz-transition: .5s all ease;
    transition: .5s all ease;
}
.blog-footer ul.quick-links li {
    padding: 3px 0;
    -webkit-transition: .5s all ease;
    -moz-transition: .5s all ease;
    transition: .5s all ease;
}
.blog-footer ul.quick-links li p i {
    margin-right: .3rem;
}           
.blog-footer ul.quick-links li a:hover {
    color: #1c93a7 !important;
}
.blog-footer ul.quick-links li a i{
    margin-right: .3rem;
}
.blog-footer ul.quick-links li:hover a i {
    font-weight: 700;
}
.blog-footer .hr-footer {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important;            
}
.blog-footer .hr-footer-smart {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important;
    display: none;          
}       
.blog-footer .h5 {
    color: white;
}
.blog-footer ul {
    margin: 0rem !important;
}   
.barra-pesquisa input {
    border: 0;
    outline: 0; 
    background: #f0f8ff0d;
    color: white;       
}
.barra-pesquisa input:hover {
    background: #f0f8ff0d;
    color: white;
}
.barra-pesquisa input::placeholder {
    color: #ffffffb5;
}       
.barra-pesquisa .btn-pesquisa {
    border-radius: 0rem !important;
}
.barra-pesquisa .btn.disabled, .btn:disabled {
    opacity: .85;
}
@media (max-width: 768px) {           
    #pesquisa-pagina .btn-primary span {
        display: none;
    }
}
.btn-link {
    color: #000;
}
.btn-link:hover,:focus {
    text-decoration: none !important;
    color: #000;
}
.hr-pesquisar {
    margin-top: .4rem !important;
}
.col-interessar-padding-celular {
    padding-right: 0 !important;
}
.col-relacionadas-padding-celular {
    padding-right: 0 !important;
}
/* ===============================
    Ajustes de responsividade no menu
    =============================== */
.img-logo {
    width: 65px;
    height: 65px;       
}
.navbar-acessibilidade {
    background-color: #2d3236 !important;
    border-bottom: 1px solid;
    border-color: #2e3134;
}
.navbar-span {
    font-size: 0px;
}
.navbar-span--scrolldown {
    font-size: 18px;
    overflow: hidden;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}   
.navbar-logo--scrolldown {
    width: 30px;
    height: 30px;
    overflow: hidden;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}           
.navbar-border-bottom {
    border-bottom: 2px solid;
    border-color: #1c93a7;            
}
.navbar-logo {
    margin-right: 0.5rem !important;
    margin-left: 0.1rem !important;
    margin-bottom: 0.1rem !important;
}   
/* Links padrão da navbar-acessibilidade */
.navbar-acessibilidade .navbar-nav .nav-link {
    font-size: 15px;
    white-space: nowrap;      /* impede quebra em 2 linhas */
    text-overflow: ellipsis;  /* se passar, coloca "..." */
    overflow: hidden;
    max-width: 100%;
    padding-top: 0.1rem !important;
    padding-bottom: 0.2rem !important;
}        
/* Links padrão da navbar */
.navbar-nav .nav-link {
    font-size: 18px;
    white-space: nowrap;      /* impede quebra em 2 linhas */
    text-overflow: ellipsis;  /* se passar, coloca "..." */
    overflow: hidden;
    max-width: 100%;
}
/* Links padrão do dropdown */
.dropdown-menu .dropdown-item {
    font-size: 20px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 100%;
}
/* Melhorias no Menu Original */
.navbar {
    z-index: 998;
}
.nav-link.active {
    border: none;
    border-radius:0;
    background-color: #ffffff00 !important;
}
.nav-link:hover {
    border: none;
    background: #17a2b8 !important;
    color:#fff;
    border-radius:0;
    transition:background 0.20s linear;
} 
.navbar-collapse {
    min-height: 60px; /* Mesma altura do logo */
    display: flex;
    align-items: center;
    transition: all 0.5s ease;
}
.navbar-nav .nav-link {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 15px 20px;
    transition: all 0.5s ease;
    border-radius: 1px;
    margin: 0 2px;
    color: white !important;
}
.navbar-nav .nav-link i {
    font-size: 1rem;
    text-align: center;
    opacity: 0.8;
    transition: all 1s ease;
}
.navbar-nav .nav-link:hover i {
    opacity: 1;
}
.navbar h5 {
    font-size: 20px;
    margin: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 100%;
}        
/* Efeito de scroll - barra dos botões */
.navbar-collapse--scrolldown {
    min-height: 45px !important;
}
.navbar-nav--scrolldown .nav-link {
    padding: 10px !important;
}     
/* Mini Menu de Navegação Rápida - Horizontal */
.quick-nav-horizontal {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border-bottom: 2px solid #e9ecef;
    padding: 12px 0;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.quick-nav-container {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 0 20px;
    flex-wrap: wrap;
}
.quick-nav-label {
    font-weight: 500;
    color: #6c757d;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}
.quick-nav-label i {
    color: #17a2b8;
}
.quick-nav-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}
.quick-nav-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 3px;
    color: #495057;
    text-decoration: none;
    transition: all 0.2s ease;
    white-space: nowrap;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.quick-nav-pill i {
    font-size: 11px;
    opacity: 0.7;
}
.quick-nav-pill:hover {
    background: #17a2b8;
    color: white;
    border-color: #17a2b8;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 3px 8px rgba(23,162,184,0.3);
}
.quick-nav-pill:hover i {
    opacity: 1;
}
.quick-nav-pill.active {
    background: #17a2b8;
    color: white;
    border-color: #17a2b8;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(23,162,184,0.4);
}
.quick-nav-pill.active i {
    opacity: 1;
}
/* Responsivo */
@media (max-width: 991px) {
    .quick-nav-container {
        padding: 0 10px;
    }
    .quick-nav-label {
        width: 100%;
        margin-bottom: 5px;
        font-size: 12px;
    }
    .quick-nav-pills {
        gap: 6px;
    }
    .quick-nav-pill {
        font-size: 11px;
        padding: 5px 10px;
    }
}
.lista-demonstrativos {
    background: transparent;
    overflow: hidden;
    padding: 10px 0;
}
.lista-demonstrativos .item-demonstrativo {
    padding: 20px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    background: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.lista-demonstrativos .item-demonstrativo:hover {
    background: #f8f9fa;
    transform: translateX(5px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.lista-demonstrativos .icone-tipo {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    font-size: 20px;
    color: white;
    flex-shrink: 0;
}
.lista-demonstrativos .icone-folha { background: linear-gradient(135deg, #17a2b8 0%, #138496 100%); }
.lista-demonstrativos .icone-fiscal { background: linear-gradient(135deg, #17a2b8 0%, #20c997 100%); }
.lista-demonstrativos .icone-contabil { background: linear-gradient(135deg, #17a2b8 0%, #6f42c1 100%); }
.lista-demonstrativos .icone-lei { background: linear-gradient(135deg, #17a2b8 0%, #28a745 100%); }
.lista-demonstrativos .icone-auditoria { background: linear-gradient(135deg, #17a2b8 0%, #fd7e14 100%); }
.lista-demonstrativos .icone-prestacao { background: linear-gradient(135deg, #17a2b8 0%, #e83e8c 100%); }
.lista-demonstrativos .icone-default { background: linear-gradient(135deg, #17a2b8 0%, #6c757d 100%); }
.lista-demonstrativos .conteudo-item {
    flex: 1;
}
.lista-demonstrativos .titulo-item {
    font-size: 1.1em;
    font-weight: 600;
    margin-bottom: 5px;
    color: #333;
}
.lista-demonstrativos .titulo-item a {
    color: #333;
    text-decoration: none;
}
.lista-demonstrativos .titulo-item a:hover {
    color: #17a2b8;
}
.lista-demonstrativos .info-item {
    font-size: 0.9em;
    color: #666;
    margin-bottom: 3px;
}
.lista-demonstrativos .badge-tipo {
    background: #e9ecef;
    color: #495057;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 0.75em;
    margin-right: 10px;
}
.lista-demonstrativos .data-item {
    color: #17a2b8;
    font-weight: 500;
}
.lista-demonstrativos .btn-ver {
    background: #17a2b8;
    color: white;
    border: none;
    padding: 8px 16px;
    font-size: 0.85em;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}
.lista-demonstrativos.btn-ver:hover {
    background: #138496;
    color: white;
    transform: translateY(-1px);
}
.resultados-header {
    background: white;
    padding: 15px 20px;
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.resultados-header h6 {
    font-weight: 400;
}
.lista-demonstrativos .sem-resultados {
    text-align: center;
    padding: 60px 20px;
    color: #666;
}
.lista-demonstrativos .sem-resultados i {
    font-size: 3em;
    margin-bottom: 20px;
    color: #ccc;
}
/* Destaque sutil nas seções */
.secao-transparencia {
    scroll-margin-top: 80px;
    transition: all 0.3s ease;
}   
#chart-container {
    position: relative;
    height: 420px;
    overflow: auto;
    text-align: center;
}
.orgchart .node .title { 
    background-color: #5c5c5c !important;
}                          
/* Força o título a quebrar linhas e ajustar altura */
.orgchart .title {
    white-space: normal !important;  /* permite múltiplas linhas */
    word-break: break-word;          /* quebra palavras longas */
    text-align: center;              /* centraliza o texto */
    line-height: 1.3em;              /* espaço entre linhas */
    padding: 4px 6px;                /* respiro interno */
    max-width: 220px;                /* ajuste conforme necessário */
    height: auto !important;         /* remove a altura fixa */
    min-height: 24px;                /* altura mínima */
    box-sizing: border-box;
}
.orgchart .content {
    display: none !important;
}
/* Ajuste no node para comportar títulos maiores */
.orgchart .node {
    height: auto !important; /* deixa altura automática */
}  
.card-text-transmissao {
    font-size: 18px;
}
.table-responsive {
    margin: 0;
    padding: 0;
}
.tabela-dados th {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}    
/* Títulos da coluna 1 nunca quebram */
.tabela-dados td:first-child {
    white-space: nowrap;
    width: 1%;
}
/* Valores da coluna 2 quebram normalmente */
.tabela-dados td:last-child {
    word-wrap: break-word;
}
/* Botão de detalhes menor, centralizado, hover */
.btn-detalhes {
    padding: 0.25rem 0.75rem;
    font-size: 0.9rem;
    transition: all 0.2s;
    width: auto;
    display: inline-block;
}
.btn-detalhes:hover {
    transform: scale(1.05);
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
/* Tablets grandes (até 1200px) */
@media (max-width: 1200px) {
    .card-text-transmissao {
    font-size: 16px;
    }            
    .navbar-acessibilidade .navbar-nav .nav-link {
    font-size: 14px;
    }            
    .navbar-nav .nav-link,
    .dropdown-menu .dropdown-item,
    .navbar h5 {
    font-size: 16px;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    }
    .navbar-span--scrolldown {
        font-size: 16px;
    }          
}
/* Tablets médios grandes (até 1100px) */
@media (max-width: 1100px) {
    .card-text-transmissao {
    font-size: 14px;
    }            
    .navbar-acessibilidade .navbar-nav .nav-link {
    font-size: 13px;
    }            
    .navbar-nav .nav-link,
    .dropdown-menu .dropdown-item,
    .navbar h5 {
    font-size: 14px;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    }
    .navbar-span--scrolldown {
        font-size: 14px;
    }          
}
/* Tablets médios (até 991px) */
@media (max-width: 991.98px) {
    .card-text-transmissao {
    font-size: 15px;
    }              
    .navbar-acessibilidade .navbar-nav .nav-link {
    font-size: 12px;
    }              
    .navbar-nav .nav-link,
    .dropdown-menu .dropdown-item,
    .navbar h5 {
    font-size: 12px;
    padding-left: 0.45rem !important;
    padding-right: 0.45rem !important;
    }
    .navbar-nav .nav-link i {
    display: none;
    }
}
/* Celulares médios (até 767px) */
@media (max-width: 767.98px) {
    .card-text-transmissao {
    font-size: 15px;
    }     
    .navbar-acessibilidade .navbar-nav .nav-link {
    font-size: 10px;
    }                     
    .navbar-nav .nav-link,
    .dropdown-menu .dropdown-item,
    .navbar h5 {
    font-size: 11px;
    padding-left: 0.4rem !important;
    padding-right: 0.4rem !important;
    }
}
/* Celulares pequenos (até 575px) */
@media (max-width: 575.98px) {
    .navbar-nav .nav-link,
    .dropdown-menu .dropdown-item,
    .navbar h5 {
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
    }
    .navbar-acessibilidade .navbar-nav .nav-link {
    font-size: 8px;
    }            
}        
.nav-breadcrumb .breadcrumb {
    background-color: white !important;
    padding: .5rem 1rem;
}
.nav-breadcrumb .breadcrumb .breadcrumb-item a {
    color: #212529;
    font-weight: 450;
}
.nav-breadcrumb .breadcrumb .breadcrumb-item a:hover {
    color: #1c93a7 !important;
}
.nav-breadcrumb .breadcrumb .breadcrumb-item+.breadcrumb-item {
    padding-left: 0 !important;
}       
.nav-breadcrumb .breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    content: " / ";
    padding: 0 8px !important;
}        
.modal-full {
    min-width: 100vw;
    margin: 0;
}
.modal-full .modal-content {
    border: 0 !important;
    border-radius: .0rem !important;
    animation-duration: 1.5s;
    background-color: #212529 !important;
}       
.modal-full .modal-content {
    min-height: 100vh;
}
.modal-full h4 {
    color: white;
    text-align: center;
}
.modal-apresentacao .jumbotron {
    padding: 1rem .5rem !important;
    text-align: center;
    border-radius: 0;
}
.modal-apresentacao .jumbotron .display-4 {
    font-size: 2.5rem !important;
}  
.container-org h4 {
    font-size: 9.5px !important;
}
@media (min-width: 576px) {
    .container-org h4 {
    font-size: 12px !important;
    }
}
@media (min-width: 768px) {
    .container-org h4 {
    font-size: 12.5px !important;
    }
}
@media (min-width: 992px) {
    .container-org h4 {
    font-size: 15px !important;
    }
}
@media (min-width: 1200px) {
    .container-org h4 {
    font-size: 18px !important;
    }
}             
.main-timeline1{overflow:hidden;position:relative}
.main-timeline1 .timeline{width:50%;float:right;position:relative;z-index:1}
.main-timeline1 .timeline:after,.main-timeline1 .timeline:before{position:absolute;top:50%;content:"";display:block;clear:both}
.main-timeline1 .timeline:before{width:40%;height:6px;background:#dd4b39;left:0;z-index:-1;transform:translateY(-50%)}
.main-timeline1 .timeline:after{width:6px;height:100%;background:#dd4b39;left:-3px}
.main-timeline1 .timeline-content{width:90%;float:right;margin-right:15px;}
.main-timeline1 .timeline-content:after,.main-timeline1 .timeline-content:before{content:"";width:26px;height:26px;border-radius:50%;background:#dd4b39;position:absolute;top:50%;left:-13px;z-index:1;transform:translateY(-50%)}
.main-timeline1 .content-inner{padding:15px 15px 15px 110px;margin-right:-15px;background:#dd4b39;position:relative}
.main-timeline1 .content-inner:after{border-top:none;border-bottom:10px solid transparent;top:auto;bottom:-10px}
.main-timeline1 .icon{width:110px;height:100%;text-align:center;position:absolute;top:0;left:0}
.main-timeline1 .icon i{font-size:60px;font-weight:700;color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.main-timeline1 .title{font-size:22px;color:#fff;margin:0 0 5px}
.main-timeline1 .description{font-size:14px;color:#fff;margin:0}
.main-timeline1 .timeline:nth-child(2n) .icon,.main-timeline1 .timeline:nth-child(2n):after,.main-timeline1 .timeline:nth-child(2n):before{left:auto;right:0}
.main-timeline1 .timeline:nth-child(2n):after{right:-3px}
.main-timeline1 .timeline:nth-child(2n) .timeline-content{float:left;margin:0 0 0 15px}
.main-timeline1 .timeline:nth-child(2n) .timeline-content:after,.main-timeline1 .timeline:nth-child(2n) .timeline-content:before{left:auto;right:-13px}
.main-timeline1 .timeline:nth-child(2n) .content-inner{padding:15px 110px 15px 15px;margin:0 0 0 -15px;}
.main-timeline1 .timeline:nth-child(2n) .content-inner:after,.main-timeline1 .timeline:nth-child(2n) .content-inner:before{border:none;border-right:15px solid #027dcd;border-top:10px solid transparent;right:auto;left:0}
.main-timeline1 .timeline:nth-child(2n) .content-inner:after{border-top:none;border-bottom:10px solid transparent}
.main-timeline1 .timeline:nth-child(2){margin-top:100px}
.main-timeline1 .timeline:nth-child(odd){margin:-100px 0 0}
.main-timeline1 .timeline:nth-child(even){margin-bottom:100px}
.main-timeline1 .timeline:first-child,.main-timeline1 .timeline:last-child:nth-child(even){margin:0}
.main-timeline1 .timeline:nth-child(2n) .content-inner,.main-timeline1 .timeline:nth-child(2n) .timeline-content:after,.main-timeline1 .timeline:nth-child(2n) .timeline-content:before,.main-timeline1 .timeline:nth-child(2n):after,.main-timeline1 .timeline:nth-child(2n):before{background:#05b1ff}
.main-timeline1 .timeline:nth-child(3n) .content-inner,.main-timeline1 .timeline:nth-child(3n) .timeline-content:after,.main-timeline1 .timeline:nth-child(3n) .timeline-content:before,.main-timeline1 .timeline:nth-child(3n):after,.main-timeline1 .timeline:nth-child(3n):before{background:#00a3a9}
.main-timeline1 .timeline:nth-child(3n) .content-inner:after,.main-timeline1 .timeline:nth-child(3n) .content-inner:before{border-left-color:#006662}
.main-timeline1 .timeline:nth-child(4n) .content-inner,.main-timeline1 .timeline:nth-child(4n) .timeline-content:after,.main-timeline1 .timeline:nth-child(4n) .timeline-content:before,.main-timeline1 .timeline:nth-child(4n):after,.main-timeline1 .timeline:nth-child(4n):before{background:#00a3a9}
.main-timeline1 .timeline:nth-child(4n) .content-inner:after,.main-timeline1 .timeline:nth-child(4n) .content-inner:before{border-right-color:#00a3a9}
.main-timeline1 .timeline:nth-child(5n) .content-inner,.main-timeline1 .timeline:nth-child(5n) .timeline-content:after,.main-timeline1 .timeline:nth-child(5n) .timeline-content:before,.main-timeline1 .timeline:nth-child(5n):after,.main-timeline1 .timeline:nth-child(5n):before{background:#00a3a9}
.main-timeline1 .timeline:nth-child(5n) .content-inner:after,.main-timeline1 .timeline:nth-child(5n) .content-inner:before{border-right-color:#00a3a9}
.main-timeline1 .timeline:nth-child(6n) .content-inner,.main-timeline1 .timeline:nth-child(6n) .timeline-content:after,.main-timeline1 .timeline:nth-child(6n) .timeline-content:before,.main-timeline1 .timeline:nth-child(6n):after,.main-timeline1 .timeline:nth-child(6n):before{background:#00a3a9}
.main-timeline1 .timeline:nth-child(6n) .content-inner:after,.main-timeline1 .timeline:nth-child(6n) .content-inner:before{border-right-color:#00a3a9}
.main-timeline1 .timeline:nth-child(7n) .content-inner,.main-timeline1 .timeline:nth-child(7n) .timeline-content:after,.main-timeline1 .timeline:nth-child(7n) .timeline-content:before,.main-timeline1 .timeline:nth-child(7n):after,.main-timeline1 .timeline:nth-child(7n):before{background:#2fcea5}
.main-timeline1 .timeline:nth-child(7n) .content-inner:after,.main-timeline1 .timeline:nth-child(7n) .content-inner:before{border-right-color:#2fcea5}
.main-timeline1 .timeline:nth-child(8n) .content-inner,.main-timeline1 .timeline:nth-child(8n) .timeline-content:after,.main-timeline1 .timeline:nth-child(8n) .timeline-content:before,.main-timeline1 .timeline:nth-child(8n):after,.main-timeline1 .timeline:nth-child(8n):before{background:#4a3e3f}
.main-timeline1 .timeline:nth-child(8n) .content-inner:after,.main-timeline1 .timeline:nth-child(8n) .content-inner:before{border-right-color:#4a3e3f}                                      
@media only screen and (max-width:990px) and (min-width:768px) {
    .main-timeline1 .timeline:after {
        height:80%;
    }
}
@media (max-width:767px) {
    .blog-footer h5 {
        padding-left: 0;
        border-left: transparent;
        padding-bottom: 0px;
        margin-bottom: 10px;
    }   
    .main-timeline1 .timeline:last-child,.main-timeline1 .timeline:nth-child(even),.main-timeline1 .timeline:nth-child(odd) {
        margin:0;
    }
    .main-timeline1 .timeline {
        width:95%;
        margin:15px 15px 15px 0!important;
    }
    .main-timeline1 .timeline .timeline-content:after,.main-timeline1 .timeline .timeline-content:before,.main-timeline1 .timeline:after,.main-timeline1 .timeline:before {
        display:none;
    }
    .main-timeline1 .timeline-content,.main-timeline1 .timeline:nth-child(2n) .timeline-content {
        width:100%;
        float:none;
        margin:0;
    }
    .main-timeline1 .content-inner,.main-timeline1 .timeline:nth-child(2n) .content-inner {
        padding:35px 15px 35px 110px;
        margin:0 -15px 0 0;
    }
    .main-timeline1 .timeline:nth-child(2n) .content-inner:after,.main-timeline1 .timeline:nth-child(2n) .content-inner:before {
        border:none;
        border-left:15px solid #027dcd;
        border-top:10px solid transparent;
        right:0;
        left:auto;
    }
    .main-timeline1 .timeline:nth-child(2n) .content-inner:after {
        border-top:none;
        border-bottom:10px solid transparent;
    }
    .main-timeline1 .timeline:nth-child(2n) .icon {
        top:0;
        left:0;
    }
    .main-timeline1 .timeline:nth-child(4n) .content-inner:after,.main-timeline1 .timeline:nth-child(4n) .content-inner:before {
        border-left-color:#92070e;
    }
    .navbar-nav .nav-link i {
        display: block;
    }         
}
@media (max-width: 575.98px) { 
    .social-lateral {
        display: none;
    }
    .card-producao .btn-group {
        padding: 0px 10px 0px 10px;             
    }
    .tv-camara-jumbotron .display-4 {
        font-size: 2rem;
    }
    .carousel .h3 {
        font-size: 1rem;
    }
    .slider-lateral .h5 {
        font-size: 1rem;
    }
    .hr-footer {
        display: none;
    }       
    .hr-footer-smart {
        display: block !important;
    }   
}
@media (max-width: 991.98px) { 
    .card-padding-zero-smart {
        padding: .2rem !important;
    }   
}
@media (max-width: 996px) {
    .col-interessar-padding-celular {
        padding: 0 !important;
    }
    .col-relacionadas-padding-celular {
        padding: 0 !important;              
    }
}
/* ===== ANIMAÇÕES PARA CARDS DA TRANSPARÊNCIA ===== */
/* Animação de hover no card principal */
.info-card-animated:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
}
/* Animação do ícone no hover - mantém cor original */
.info-card-animated:hover .card-body i {
    transform: scale(1.1) !important;
}
/* Animação do texto no hover - mantém cor original */
.info-card-animated:hover .card-text {
    font-weight: normal !important;
}
/* Animação do card de detalhes no hover - padrão original */
.info-card-animated:hover .info-card-details {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
/* Garantir que o card de detalhes apareça no hover */
.info-card-animated .info-card-details {
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease-in-out;
}
/* Animação de entrada dos cards */
.info-card-animated {
    animation: fadeInUp 0.6s ease-out;
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* Delay escalonado para os cards */
.info-card-animated:nth-child(1) { animation-delay: 0.1s; }
.info-card-animated:nth-child(2) { animation-delay: 0.2s; }
.info-card-animated:nth-child(3) { animation-delay: 0.3s; }
.info-card-animated:nth-child(4) { animation-delay: 0.4s; }
.info-card-animated:nth-child(5) { animation-delay: 0.5s; }
.info-card-animated:nth-child(6) { animation-delay: 0.6s; }
/* Garantir que as cores originais sejam mantidas */
.menu-item-green .card-text,
.menu-item-green i {
    color: #fff !important;
}
.menu-item-light-green .card-text,
.menu-item-light-green i {
    color: #fff !important;
}
.menu-item-black .card-text,
.menu-item-black i {
    color: #fff !important;
}
.menu-item-blue .card-text,
.menu-item-blue i {
    color: #fff !important;
}
.menu-item-red .card-text,
.menu-item-red i {
    color: #fff !important;
}        
.border-alert-light {
    border: 1px solid #dee2e6 !important;
}
/* ===== SISTEMA DE PAGINAÇÃO MASTER ===== */
/* Classes reutilizáveis para todas as páginas com paginação */
/* Container principal da paginação */
.pagination-master {
    margin-bottom: 1rem;
}
/* Informações de resultados */
.pagination-info {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}
.pagination-info .results-count {
    flex: 1;
}
.pagination-info .results-count h6 {
    margin: 0;
    display: block;
}
.pagination-info .results-count i {
    margin-right: 0.5rem;
}
.pagination-info .page-info {
    text-align: right;
}
.pagination-info .page-info small {
    display: block;
    margin-top: 0.25rem;
}
/* Botões de exportação master */
.export-buttons-master {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: flex-end;
    margin-bottom: 1rem;
}
.export-btn-master {
    background: transparent;
    border: 1px solid;
    border-radius: 2px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.export-btn-master:hover {
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.export-btn-master.csv {
    color: #28a745;
    border-color: #28a745;
}
.export-btn-master.csv:hover {
    background: #28a745;
    color: white;
}
.export-btn-master.pdf {
    color: #dc3545;
    border-color: #dc3545;
}
.export-btn-master.pdf:hover {
    background: #dc3545;
    color: white;
}
.export-btn-master.print {
    color: #6c757d;
    border-color: #6c757d;
}
.export-btn-master.print:hover {
    background: #6c757d;
    color: white;
}
.export-btn-master.excel {
    color: #17a2b8;
    border-color: #17a2b8;
}
.export-btn-master.excel:hover {
    background: #17a2b8;
    color: white;
}
/* Estados de loading */
.pagination-loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}
.pagination-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #007bff;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 1s linear infinite;
}
/* Paginação numérica */
.pagination-master .pagination {
    justify-content: center;
    margin: 0;
}
.pagination-master .page-link {
    color: #007bff;
    border: 1px solid #dee2e6;
    padding: 0.5rem 0.75rem;
    margin: 0 2px;
    border-radius: 4px;
}
.pagination-master .page-item.active .page-link {
    background-color: #007bff;
    border-color: #007bff;
    color: white;
}
.pagination-master .page-item.disabled .page-link {
    color: #6c757d;
    background-color: #fff;
    border-color: #dee2e6;
}
/* Responsividade mobile */
@media (max-width: 768px) {
    .nav-conteudo {
        display: none;
    }
    .nav-rodape {
        display: none;
    }
    .pagination-info {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .pagination-info .page-info {
        text-align: left;
        margin-top: 0.5rem;
    }
    
    .export-buttons-master {
        justify-content: center;
        margin-bottom: 0.5rem;
    }
    
    .export-btn-master {
        padding: 5px 10px;
        font-size: 12px;
        flex: 1;
        min-width: 0;
        text-align: center;
    }
    
    .export-btn-master i {
        font-size: 11px;
    }
}
@media (max-width: 576px) {
    .export-buttons-master {
        flex-direction: column;
        gap: 3px;
    }
    
    .export-btn-master {
        flex: none;
        width: 100%;
    }
}
/* Cards de dados com paginação */
.pagination-card {
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    margin-bottom: 1rem;
    transition: box-shadow 0.3s ease;
}
.pagination-card:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
/* Filtros avançados */
.filters-master {
    margin-bottom: 1rem;
}
.filters-master .form-group label {
    font-weight: 600;
    color: #495057;
}
.filters-master .form-control {
    border-radius: 4px;
    border: 1px solid #ced4da;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.filters-master .form-control:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,0.25);
}
/* Botões de ação */
.action-buttons-master {
    display: flex;
    gap: 10px;
    margin-top: 1rem;
}
.action-buttons-master.justify-content-center {
    justify-content: center;
}
.action-btn-master {
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 500;
    transition: all 0.3s ease;
}
.action-btn-master.primary {
    background: #007bff;
    border: 1px solid #007bff;
    color: white;
}
.action-btn-master.primary:hover {
    background: #0056b3;
    border-color: #0056b3;
}
/* ========================================
    ESTILIZAÇÃO DOS BOTÕES DO DATATABLES
    Baseada no design da licitação
======================================== */
/* Container dos botões do DataTables */
.dt-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    justify-content: flex-end !important;
    margin-bottom: 1rem !important;
}
/* Botões do DataTables */
.dt-buttons .dt-button {
    background: transparent !important;
    border: 1px solid !important;
    border-radius: 2px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    color: inherit !important;
}
.dt-buttons .dt-button:hover {
    text-decoration: none !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}
/* Botão Copy */
.dt-buttons .dt-button.buttons-copy {
    color: #6c757d !important;
    border-color: #6c757d !important;
}
.dt-buttons .dt-button.buttons-copy:hover {
    background: #6c757d !important;
    color: white !important;
}
.dt-buttons .dt-button.buttons-copy::before {
    content: "\f0c5" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    margin-right: 4px !important;
}
/* Botão CSV */
.dt-buttons .dt-button.buttons-csv {
    color: #28a745 !important;
    border-color: #28a745 !important;
}
.dt-buttons .dt-button.buttons-csv:hover {
    background: #28a745 !important;
    color: white !important;
}
.dt-buttons .dt-button.buttons-csv::before {
    content: "\f6dd" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    margin-right: 4px !important;
}
/* Botão Excel */
.dt-buttons .dt-button.buttons-excel {
    color: #17a2b8 !important;
    border-color: #17a2b8 !important;
}
.dt-buttons .dt-button.buttons-excel:hover {
    background: #17a2b8 !important;
    color: white !important;
}
.dt-buttons .dt-button.buttons-excel::before {
    content: "\f1c3" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    margin-right: 4px !important;
}
/* Botão PDF */
.dt-buttons .dt-button.buttons-pdf {
    color: #dc3545 !important;
    border-color: #dc3545 !important;
}
.dt-buttons .dt-button.buttons-pdf:hover {
    background: #dc3545 !important;
    color: white !important;
}
.dt-buttons .dt-button.buttons-pdf::before {
    content: "\f1c1" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    margin-right: 4px !important;
}
/* Botão Print */
.dt-buttons .dt-button.buttons-print {
    color: #6c757d !important;
    border-color: #6c757d !important;
}
.dt-buttons .dt-button.buttons-print:hover {
    background: #6c757d !important;
    color: white !important;
}
.dt-buttons .dt-button.buttons-print::before {
    content: "\f02f" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    margin-right: 4px !important;
}   
/* Responsividade para botões do DataTables */
@media (max-width: 768px) {
    .dt-buttons {
        justify-content: center !important;
        margin-bottom: 0.5rem !important;
    }
    .dt-buttons .dt-button {
        padding: 5px 10px !important;
        font-size: 12px !important;
        flex: 1 !important;
        min-width: 0 !important;
        text-align: center !important;
    }
}
@media (max-width: 576px) {
    .dt-buttons {
        flex-direction: column !important;
        gap: 3px !important;
    }
    .dt-buttons .dt-button {
        flex: none !important;
        width: 100% !important;
    }
}
/* Responsividade mobile para tabelas */
@media (max-width: 768px) {
    .table-responsive .table-sm td {
        padding: 0.5rem;
        font-size: 0.875rem;
    }
    
    .table-responsive .btn-detalhes {
        padding: 6px 15px;
        font-size: 0.8rem;
    }
}
/* Estilização do botão de filtro */
#headingFiltro {
    margin-bottom: 0;
    transition: all 0.3s ease;
}
#headingFiltro:hover {
    background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
}
#headingFiltro .btn-link {
    color: #495057 !important;
    text-decoration: none !important;
    padding: 10px 15px;
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease;
}
#headingFiltro .btn-link:hover {
    color: #212529 !important;
    background: transparent;
}
#headingFiltro .btn-link:focus {
    box-shadow: none;
    outline: none;
}
/* Ícone do filtro */
.filtro-icon {
    font-size: 1.2rem;
    transition: transform 0.3s ease;
    margin-right: 10px;
}
/* Estado quando filtro está aberto */
#headingFiltro .btn-link[aria-expanded="true"] .filtro-icon {
    transform: rotate(180deg);
}
/* Estado quando filtro está fechado */
#headingFiltro .btn-link[aria-expanded="false"] .filtro-icon {
    transform: rotate(0deg);
}
/* Indicador visual do estado */
.filtro-status {
    font-size: 0.85rem;
    opacity: 0.7;
    font-weight: 400;
}
/* Animação suave para o collapse */
.collapse {
    transition: all 0.3s ease;
}
/* Chevron do filtro */
.filtro-chevron {
    font-size: 0.9rem;
    transition: transform 0.3s ease;
    margin-left: 8px;
}
/* Estado quando filtro está aberto - chevron para baixo */
#headingFiltro .btn-link[aria-expanded="true"] .filtro-chevron {
    transform: rotate(180deg);
}
/* Estado quando filtro está fechado - chevron para cima */
#headingFiltro .btn-link[aria-expanded="false"] .filtro-chevron {
    transform: rotate(0deg);
}   
.row-detalhe-futura-licitacao .licitacao-header {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    padding: 2rem 0;
    margin-bottom: 2rem;
}
.row-detalhe-futura-licitacao .licitacao-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}
.row-detalhe-futura-licitacao .licitacao-subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
}
.row-detalhe-futura-licitacao .info-card {
    background: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    padding: 2rem;
    margin-bottom: 2rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.row-detalhe-futura-licitacao .info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}
.row-detalhe-futura-licitacao .info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}
.row-detalhe-futura-licitacao .info-item {
    display: flex;
    align-items: center;
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 5px;
    border-left: 4px solid #28a745;
}
.row-detalhe-futura-licitacao .info-icon {
    font-size: 1.5rem;
    color: #28a745;
    margin-right: 1rem;
    width: 40px;
    text-align: center;
}
.row-detalhe-futura-licitacao .info-content h6 {
    margin: 0;
    font-weight: 600;
    color: #495057;
    font-size: 0.9rem;
}
.row-detalhe-futura-licitacao .info-content p {
    margin: 0;
    font-weight: 500;
    color: #212529;
}
.row-detalhe-futura-licitacao .status-badge {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 25px;
    font-weight: 600;
    font-size: 0.9rem;
}
.row-detalhe-futura-licitacao .status-manifestacao {
    background: #d4edda;
    color: #155724;
}
.row-detalhe-futura-licitacao .tab-content {
    background: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    overflow: hidden;
}
.row-detalhe-futura-licitacao .tab-content .card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.row-detalhe-futura-licitacao .card-header {
    background: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    padding: 2rem;
    margin-bottom: 0;
    border-bottom: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.row-detalhe-futura-licitacao .card-header h4 {
    font-weight: 400;
    margin-bottom: 0;
}
.row-detalhe-futura-licitacao .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}
.row-detalhe-futura-licitacao .nav-tabs {
    border-bottom: none;
    background:#ffffff;
    padding: 0;
}
.row-detalhe-futura-licitacao .nav-tabs .nav-link {
    border: none;
    border-radius: 0;
    padding: 1rem 1.5rem;
    font-weight: 600;
    color: #6c757d;
    transition: all 0.3s ease;
}
.row-detalhe-futura-licitacao .nav-tabs .nav-link:hover {
    background: #d4edda !important;
    color: #28a745 !important;
}
.row-detalhe-futura-licitacao .nav-tabs .nav-link.active {
    background: #28a745 !important;
    color: white !important;
}
.row-detalhe-futura-licitacao .tab-pane {
    padding: .5rem 0 2rem 2rem
}
.row-detalhe-futura-licitacao .table-modern {
    border: none;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}
.row-detalhe-futura-licitacao .table-modern thead {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
}
.row-detalhe-futura-licitacao .table-modern thead th {
    border: none;
    font-weight: 500;
}
.row-detalhe-futura-licitacao .table-modern .badge {
    font-size: .8rem;
}
.row-detalhe-futura-licitacao .table-modern strong {
    font-weight: 500;
}
.row-detalhe-futura-licitacao .table-modern tbody tr {
    transition: background-color 0.3s ease;
}
.row-detalhe-futura-licitacao .table-modern tbody tr:hover {
    background-color: #f8f9fa;
}
.row-detalhe-futura-licitacao .table-modern tbody td {
    border: none;
    padding: 1rem;
    vertical-align: middle;
}
.row-detalhe-futura-licitacao .btn-modern {
    border-radius: 25px;
    padding: 0.5rem 1.5rem;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
}
.row-detalhe-futura-licitacao .btn-primary-modern {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
}
.row-detalhe-futura-licitacao .btn-primary-modern:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(40, 167, 69, 0.4);
    color: white;
}
.row-detalhe-futura-licitacao .btn-secondary-modern {
    background: #6c757d;
    color: white;
}
.row-detalhe-futura-licitacao .btn-secondary-modern:hover {
    background: #5a6268;
    transform: translateY(-2px);
    color: white;
}
.row-detalhe-futura-licitacao .empty-state {
    text-align: center;
    padding: 3rem;
    color: #6c757d;
}
.row-detalhe-futura-licitacao .empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}
.row-detalhe-futura-licitacao .progress-timeline {
    position: relative;
    padding-left: 2rem;
}
.row-detalhe-futura-licitacao .progress-timeline::before {
    content: '';
    position: absolute;
    left: 0.5rem;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e9ecef;
}
.row-detalhe-futura-licitacao .timeline-item {
    position: relative;
    margin-bottom: 2rem;
    padding-left: 2rem;
}
.row-detalhe-futura-licitacao .timeline-item::before {
    content: '';
    position: absolute;
    left: -0.5rem;
    top: 0.5rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #28a745;
    border: 3px solid white;
    box-shadow: 0 0 0 3px #e9ecef;
}
.row-detalhe-futura-licitacao .timeline-item.completed::before {
    background: #28a745;
}
.row-detalhe-futura-licitacao .timeline-item.current::before {
    background: #ffc107;
    animation: pulse-licitacao-futura 2s infinite;
}
@keyframes pulse-licitacao-futura {
    0% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(255, 193, 7, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); }
}
.row-detalhe-futura-licitacao .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}
.row-detalhe-futura-licitacao .stat-card {
    background: white;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
}
.row-detalhe-futura-licitacao .stat-card:hover {
    transform: translateY(-3px);
}
.row-detalhe-futura-licitacao .stat-number {
    font-size: 2rem;
    font-weight: 700;
    color: #28a745;
    margin-bottom: 0.5rem;
}
.row-detalhe-futura-licitacao .stat-label {
    color: #6c757d;
    font-weight: 500;
}
.row-detalhe-futura-licitacao .pmi-info {
    background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);
    border-left: 4px solid #2196f3;
    padding: 1.5rem;
    margin-bottom: 2rem;
}
.row-detalhe-futura-licitacao .pmi-info h5 {
    color: #1976d2;
    margin-bottom: 1rem;
}
.row-detalhe-futura-licitacao .pmi-info p {
    color: #424242;
    margin-bottom: 0;
}
.row-detalhe-futura-licitacao .info-item-objeto {
    grid-column: 1 / -1; /* Ocupa toda a largura */
}
@media (max-width: 768px) {
    .row-detalhe-futura-licitacao .licitacao-title {
        font-size: 1.8rem;
    }
    
    .row-detalhe-futura-licitacao .info-grid {
        grid-template-columns: 1fr;
    }
    
    .row-detalhe-futura-licitacao .nav-tabs .nav-link {
        padding: 0.75rem 1rem;
        font-size: 0.9rem;
    }
    
    .row-detalhe-futura-licitacao .info-item-objeto {
        grid-column: 1;
    }
}  
.row-detalhe-licitacao .licitacao-header {
    background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
    color: white;
    padding: 2rem 0;
    margin-bottom: 2rem;
}
.row-detalhe-licitacao .licitacao-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}
.row-detalhe-licitacao .licitacao-subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
}
.row-detalhe-licitacao .info-card {
    background: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    padding: 2rem;
    margin-bottom: 2rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.row-detalhe-licitacao .info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}
/* Aplicar o mesmo estilo do info-card para o card-header */
.row-detalhe-licitacao .card-header {
    background: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    padding: 2rem;
    margin-bottom: 0;
    border-bottom: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.row-detalhe-licitacao .card-header h4 {
    font-weight: 400;
    margin-bottom: 0;
}
.row-detalhe-licitacao .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}
.row-detalhe-licitacao .info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}
.row-detalhe-licitacao .info-item {
    display: flex;
    align-items: center;
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 5px;
    border-left: 4px solid #17a2b8;
}
.row-detalhe-licitacao .info-icon {
    font-size: 1.5rem;
    color: #17a2b8;
    margin-right: 1rem;
    width: 40px;
    text-align: center;
}
.row-detalhe-licitacao .info-content h6 {
    margin: 0;
    font-weight: 600;
    color: #495057;
    font-size: 0.9rem;
}
.row-detalhe-licitacao .info-content p {
    margin: 0;
    font-weight: 500;
    color: #212529;
}
.row-detalhe-licitacao .status-badge {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 25px;
    font-weight: 600;
    font-size: 0.9rem;
}
.row-detalhe-licitacao .status-em-andamento {
    background: #d4edda;
    color: #155724;
}
.row-detalhe-licitacao .status-homologada {
    background: #cce5ff;
    color: #004085;
}
.row-detalhe-licitacao .status-cancelada {
    background: #f8d7da;
    color: #721c24;
}
.row-detalhe-licitacao .tab-content {
    background: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    overflow: hidden;
}
.row-detalhe-licitacao .tab-content .card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.row-detalhe-licitacao .nav-tabs {
    border-bottom: none;
    background:#ffffff;
    padding: 0;
}
.row-detalhe-licitacao .nav-tabs .nav-link {
    border: none;
    border-radius: 0;
    padding: 1rem 1.5rem;
    font-weight: 600;
    color: #6c757d;
    transition: all 0.3s ease;
}
.row-detalhe-licitacao .nav-tabs .nav-link:hover {
    background: #d1ecf1 !important;
    color: #17a2b8 !important;
}
.row-detalhe-licitacao .nav-tabs .nav-link.active {
    background: #17a2b8 !important;
    color: white !important;
}
.row-detalhe-licitacao .tab-pane {
    padding: .5rem 0 2rem 2rem;
}
.row-detalhe-licitacao .table-modern {
    border: none;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}
.row-detalhe-licitacao .table-modern thead {
    background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
    color: white;
}
.row-detalhe-licitacao .table-modern thead th {
    border: none;
    font-weight: 500;
}
.row-detalhe-licitacao .table-modern .badge {
    font-size: .8rem;
}
.row-detalhe-licitacao .table-modern strong {
    font-weight: 500;
}
.row-detalhe-licitacao .table-modern tbody tr {
    transition: background-color 0.3s ease;
}
.row-detalhe-licitacao .table-modern tbody tr:hover {
    background-color: #f8f9fa;
}
.row-detalhe-licitacao .table-modern tbody td {
    border: none;
    padding: 1rem;
    vertical-align: middle;
}
.row-detalhe-licitacao .btn-modern {
    border-radius: 25px;
    padding: 0.5rem 1.5rem;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
}
.row-detalhe-licitacao .btn-primary-modern {
    background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
    color: white;
}
.row-detalhe-licitacao .btn-primary-modern:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(23, 162, 184, 0.4);
    color: white;
}
.row-detalhe-licitacao .btn-secondary-modern {
    background: #6c757d;
    color: white;
}
.row-detalhe-licitacao .btn-secondary-modern:hover {
    background: #5a6268;
    transform: translateY(-2px);
    color: white;
}
.row-detalhe-licitacao .empty-state {
    text-align: center;
    padding: 3rem;
    color: #6c757d;
}
.row-detalhe-licitacao .empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}
.row-detalhe-licitacao .progress-timeline {
    position: relative;
    padding-left: 2rem;
}
.row-detalhe-licitacao .progress-timeline::before {
    content: '';
    position: absolute;
    left: 0.5rem;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e9ecef;
}
.row-detalhe-licitacao .timeline-item {
    position: relative;
    margin-bottom: 2rem;
    padding-left: 2rem;
}
.row-detalhe-licitacao .timeline-item::before {
    content: '';
    position: absolute;
    left: -0.5rem;
    top: 0.5rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #17a2b8;
    border: 3px solid white;
    box-shadow: 0 0 0 3px #e9ecef;
}

.row-detalhe-licitacao .timeline-item.completed::before {
    background: #28a745;
}

.row-detalhe-licitacao .timeline-item.current::before {
    background: #ffc107;
    animation: pulse-licitacao 2s infinite;
}
@keyframes pulse-licitacao {
    0% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(255, 193, 7, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); }
}
.row-detalhe-licitacao .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}
.row-detalhe-licitacao .stat-card {
    background: white;
    border-radius: 10px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
}
.row-detalhe-licitacao .stat-card:hover {
    transform: translateY(-3px);
}
.row-detalhe-licitacao .stat-number {
    font-size: 2rem;
    font-weight: 700;
    color: #17a2b8;
    margin-bottom: 0.5rem;
}
.row-detalhe-licitacao .stat-label {
    color: #6c757d;
    font-weight: 500;
}
.row-detalhe-licitacao .info-item-objeto {
    grid-column: 1 / -1; /* Ocupa toda a largura */
}
@media (max-width: 768px) {
    .row-detalhe-licitacao .licitacao-title {
        font-size: 1.8rem;
    }
    .row-detalhe-licitacao .info-grid {
        grid-template-columns: 1fr;
    }
    .row-detalhe-licitacao .nav-tabs .nav-link {
        padding: 0.75rem 1rem;
        font-size: 0.9rem;
    }
    .row-detalhe-licitacao .info-item-objeto {
        grid-column: 1;
    }
}       
/* ========================================
    SISTEMA DE IMAGENS OTIMIZADAS
    Integração com ResponsiveFileManager
======================================== */
/* Container da imagem otimizada */
.container-imagem-otimizada {
    display: inline-block;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    width: 100%;
    max-width: 100%;
}
.container-imagem-otimizada:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    transform: translateY(-3px);
}
/* Imagem otimizada */
.img-otimizada {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    display: block;
    border-radius: 4px;
    object-fit: cover;
    transition: all 0.3s ease;
}
.img-otimizada:hover {
    transform: scale(1.02);
}
/* Garantir que Bootstrap controle o tamanho */
.img-otimizada.img-fluid {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
}
.img-otimizada.img-thumbnail {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
}
/* Para imagens em cards */
.card .img-otimizada {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: cover;
}
/* Aspect ratio padrão 16:9 para todas as imagens */
.container-imagem-otimizada {
    aspect-ratio: 16/9;
    overflow: hidden;
}
/* Imagens dentro dos containers */
.container-imagem-otimizada .img-otimizada {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
/* Link do lightbox */
.lightbox-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.lightbox-link:hover {
    text-decoration: none;
    color: inherit;
}
/* Galeria otimizada */
.galeria-otimizada {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
    margin: 20px 0;
}
.galeria-otimizada .galeria-item {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}
/* Loading state */
.img-otimizada[loading="lazy"] {
    opacity: 1;
    transition: opacity 0.3s ease;
}
.img-otimizada[loading="lazy"].loaded {
    opacity: 1;
}
/* Responsividade */
@media (max-width: 768px) {
    .galeria-otimizada {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        gap: 15px;
    }
    .container-imagem-otimizada {
        box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    }
}
@media (max-width: 576px) {
    .galeria-otimizada {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .galeria-otimizada .galeria-item {
        max-width: 100%;
    }
}
/* Lightbox customizado */
.lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.9);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.lightbox-content {
    max-width: 90%;
    max-height: 90%;
    position: relative;
}
.lightbox-image {
    max-width: 100%;
    max-height: 100%;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}
.lightbox-close {
    position: absolute;
    top: -40px;
    right: 0;
    background: rgba(255,255,255,0.9);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
.lightbox-close:hover {
    background: white;
    transform: scale(1.1);
}
.lightbox-title {
    position: absolute;
    bottom: -40px;
    left: 0;
    right: 0;
    text-align: center;
    color: white;
    font-size: 14px;
    background: rgba(0,0,0,0.7);
    padding: 10px;
    border-radius: 4px;
}
.action-btn-master.secondary {
    background: #6c757d;
    border: 1px solid #6c757d;
    color: white;
}
.action-btn-master.secondary:hover {
    background: #545b62;
    border-color: #545b62;
}
/* ===========================================
    HERO SECTION - PÁGINA INICIAL
    =========================================== */
/* Hero Section - Classe específica para index */
.index-hero-section {
    background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
    color: white;
    padding: 1rem 0 0 0;
    position: relative;
    overflow: hidden;
}
.index-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
}
.index-hero-content {
    position: relative;
    z-index: 2;
}
.index-hero-title {
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
.index-hero-subtitle {
    font-size: 1.3rem;
    margin-bottom: 2rem;
    opacity: 0.9;
}
.index-hero-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}
.index-btn-hero {
    padding: 0.75rem 2rem;
    border-radius: 25px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid white;
}
.index-btn-hero-primary {
    background: white;
    color: #17a2b8;
}
.index-btn-hero-primary:hover {
    background: transparent;
    color: white;
    transform: translateY(-2px);
}
.index-btn-hero-secondary {
    background: transparent;
    color: white;
}
.index-btn-hero-secondary:hover {
    background: white;
    color: #17a2b8;
    transform: translateY(-2px);
}
/* Animações específicas para hero section */
@keyframes indexFadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.index-fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out;
}
.index-fade-in-up-delay-1 {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out 0.2s;
}
.index-fade-in-up-delay-2 {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out 0.4s;
}
/* Mostrar elementos após o loader */
body.loaded .index-fade-in-up,
body.loaded .index-fade-in-up-delay-1,
body.loaded .index-fade-in-up-delay-2 {
    opacity: 1;
    transform: translateY(0);
}
/* Responsive para hero section */
@media (max-width: 768px) {
    .index-hero-title {
        font-size: 2rem;
    }
    .index-hero-subtitle {
        font-size: 1.1rem;
    }
    .index-hero-buttons {
        flex-direction: column;
        align-items: center;
    }
}
/**
 * CSS para Sistema de Página Inicial Dinâmica
 * Mantém a identidade visual do portal (#17a2b8, #007bff)
 */
 .btn-hero {
    background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
    color: white;
    border: none;
    padding: 0.5rem 1.5rem;
    border-radius: 20px;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
 }
/* ===== WIDGETS DINÂMICOS ===== */
.widget-dinamico {
    background: white;
    padding: 1rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 10px rgba(0,0,0,0.1);
    border: 1px solid #e9ecef;
    transition: all 0.3s ease;
}
.widget-dinamico:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
}
.widget-dinamico .widget-header {
    border-bottom: 1px solid #17a2b8;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}
.widget-dinamico .widget-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #17a2b8;
    margin: 0;
}
.widget-dinamico .widget-content {
    color: #333;
    line-height: 1.6;
}
.widget-dinamico .widget-content h1,
.widget-dinamico .widget-content h2,
.widget-dinamico .widget-content h3,
.widget-dinamico .widget-content h4,
.widget-dinamico .widget-content h5,
.widget-dinamico .widget-content h6 {
    color: #17a2b8;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}
.widget-dinamico .widget-content a {
    color: #007bff;
    text-decoration: none;
}
.widget-dinamico .widget-content a:hover {
    color: #0056b3;
    text-decoration: underline;
}
/* ===== COMUNICADOS DINÂMICOS ===== */
.comunicado-dinamico {
    background: white;
    padding: 1rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    border-left: 4px solid #17a2b8;
    position: relative;
}
.comunicado-dinamico:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
}
.comunicado-dinamico.comunicado-info {
    border-left-color: #17a2b8;
}
.comunicado-dinamico.comunicado-success {
    border-left-color: #28a745;
}
.comunicado-dinamico.comunicado-warning {
    border-left-color: #ffc107;
}
.comunicado-dinamico.comunicado-danger {
    border-left-color: #dc3545;
}
.comunicado-dinamico .comunicado-header {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}
.comunicado-dinamico .comunicado-icon {
    font-size: 1.5rem;
    margin-right: 0.5rem;
    color: #17a2b8;
}
.comunicado-dinamico .comunicado-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    color: #333;
}
.comunicado-dinamico .comunicado-content {
    color: #555;
    line-height: 1.6;
}
.comunicado-dinamico .comunicado-content a {
    color: #007bff;
    text-decoration: none;
}
.comunicado-dinamico .comunicado-content a:hover {
    color: #0056b3;
    text-decoration: underline;
}
/* ===== RESPONSIVIDADE ===== */
@media (max-width: 768px) {
    .hero-dinamico .hero-title {
        font-size: 2rem;
    }
    .hero-dinamico .hero-subtitle {
        font-size: 1rem;
    }
    .hero-dinamico .hero-buttons {
        flex-direction: column;
        align-items: center;
    }
    .hero-dinamico .btn-hero {
        width: 100%;
        max-width: 300px;
    }
    .acesso-rapido-dinamico .acesso-item {
        margin-bottom: 1rem;
    }
    .widget-dinamico {
        margin-bottom: 1rem;
    }
}
/* ===== ANIMAÇÕES ===== */
.hero-dinamico,
.acesso-rapido-dinamico,
.widget-dinamico,
.comunicado-dinamico {
    animation: fadeInUpHero 0.6s ease-out;
}
@keyframes fadeInUpHero {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ===== INTEGRAÇÃO COM LAYOUT EXISTENTE ===== */
#conteudo .hero-dinamico {
    margin: -1rem -1rem 2rem -1rem;
    border-radius: 0;
}
#conteudo .acesso-rapido-dinamico,
#conteudo .widget-dinamico,
#conteudo .comunicado-dinamico {
    margin-left: 0;
    margin-right: 0;
}
/* ============================================================================
   CSS DO MÓDULO ATENDIMENTO
   Encapsulado em .modulo-atendimento para não interferir no CSS base
   Mesmo padrão visual do módulo cidadão, mas com classes próprias
   ============================================================================ */
   .modulo-atendimento .atendimento-hub-card {
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    height: 100%;
    margin-bottom: 2rem;
}
.modulo-atendimento .atendimento-hub-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.modulo-atendimento .atendimento-hub-card .card-header {
    padding: 2rem 1.5rem;
    border-bottom: none;
    text-align: center;
    border-radius: 3px !important;
}
.modulo-atendimento .atendimento-hub-card .card-header i {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
    text-align: center;
    width: 100%;
}
.modulo-atendimento .atendimento-hub-card .card-header h5 {
    text-align: center;
    margin: 0;
    font-weight: 600;
}
.modulo-atendimento .atendimento-hub-card .card-body {
    padding: 1.5rem;
}
.modulo-atendimento .atendimento-hub-card .card-title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 1rem;
}
.modulo-atendimento .atendimento-hub-card .card-text {
    color: #6c757d;
    line-height: 1.6;
}
.modulo-atendimento .atendimento-hub-card .card-footer {
    background: transparent;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding: 1rem 1.5rem;
}
.modulo-atendimento .atendimento-hub-card .btn-hub {
    padding: 0.75rem 2rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 2px;
    transition: all 0.3s ease;
}
.modulo-atendimento .atendimento-hub-card .btn-hub:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
/* Cores temáticas para cada serviço - usando cores do menu */
.modulo-atendimento .hub-ouvidoria .card-header {
    background: linear-gradient(135deg, #28ABE3 0%, #1e8bc4 100%);
}
.modulo-atendimento .hub-sic .card-header {
    background: linear-gradient(135deg, #72bf48 0%, #5a9a3a 100%);
}
/* Botões com cores do menu */
.modulo-atendimento .hub-ouvidoria .btn-hub.btn-primary {
    background-color: #28ABE3 !important;
    border-color: #28ABE3 !important;
}
.modulo-atendimento .hub-ouvidoria .btn-hub.btn-primary:hover {
    background-color: #1e8bc4 !important;
    border-color: #1e8bc4 !important;
}
.modulo-atendimento .hub-sic .btn-hub.btn-success {
    background-color: #72bf48 !important;
    border-color: #72bf48 !important;
}
.modulo-atendimento .hub-sic .btn-hub.btn-success:hover {
    background-color: #5a9a3a !important;
    border-color: #5a9a3a !important;
}
/* Responsividade */
@media (max-width: 768px) {
    .modulo-atendimento .atendimento-hub-card {
        margin-bottom: 1.5rem;
    }
    .modulo-atendimento .atendimento-hub-card .card-header {
        padding: 1.5rem 1rem;
    }
    .modulo-atendimento .atendimento-hub-card .card-header i {
        font-size: 2.5rem;
    }
}
.modulo-atendimento .atendimento-hub-card {
    animation: fadeInUp 0.6s ease-out;
}
.modulo-atendimento .atendimento-hub-card:nth-child(1) {
    animation-delay: 0.1s;
}
.modulo-atendimento .atendimento-hub-card:nth-child(2) {
    animation-delay: 0.2s;
}
/* ===== DETALHES MANIFESTAÇÃO OUVIDORIA ===== */
.detalhes-manifestacao-ouvidoria {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.detalhes-manifestacao-ouvidoria .manifestation-header {
    background: white;
    padding: 1.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    border-left: 5px solid #17a2b8;
}
.detalhes-manifestacao-ouvidoria .protocol-number {
    color: #2c3e50;
    font-weight: 700;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
}
.detalhes-manifestacao-ouvidoria .protocol-subtitle {
    color: #6c757d;
    margin-bottom: 0;
    font-size: 1rem;
}
.detalhes-manifestacao-ouvidoria .status-badge .badge-lg {
    font-size: 1rem;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    font-weight: 600;
}
.detalhes-manifestacao-ouvidoria .info-card {
    background: white;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    height: 100%;
    border: 1px solid #e9ecef;
    margin-bottom: 0px;
}
.detalhes-manifestacao-ouvidoria .info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}
.detalhes-manifestacao-ouvidoria .info-card-header {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
    display: flex;
    align-items: center;
    font-weight: 600;
    color: #495057;
    font-size: 1rem;
}
.detalhes-manifestacao-ouvidoria .info-card-header i {
    color: #17a2b8;
    margin-right: 0.75rem;
    font-size: 1.1rem;
}
.detalhes-manifestacao-ouvidoria .info-card-body {
    padding: 1.5rem;
    font-size: 1rem;
    color: #495057;
}
.detalhes-manifestacao-ouvidoria .contact-info {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.detalhes-manifestacao-ouvidoria .contact-item {
    display: flex;
    align-items: center;
    color: #495057;
    font-size: 1rem;
}
.detalhes-manifestacao-ouvidoria .contact-item i {
    color: #17a2b8;
    width: 20px;
}
.estrelas-manifestacao-ouvidoria .rating-stars {
    direction: rtl;
    display: inline-block;
}
.estrelas-manifestacao-ouvidoria .rating-stars input[type="radio"] {
    display: none;
}
.estrelas-manifestacao-ouvidoria .rating-stars label {
    color: #ddd;
    font-size: 2.5rem;
    padding: 0;
    cursor: pointer;
    transition: color 0.2s;
}
.estrelas-manifestacao-ouvidoria .rating-stars label:hover,
.estrelas-manifestacao-ouvidoria .rating-stars label:hover ~ label,
.estrelas-manifestacao-ouvidoria .rating-stars input[type="radio"]:checked ~ label {
    color: #ffc107;
}
.estrelas-manifestacao-ouvidoria .rating-stars input[type="radio"]:checked + label {
    color: #ffc107;
}
.estrelas-manifestacao-ouvidoria .btn-avaliar:disabled {
    opacity: 0.6;
    transform: none;
    cursor: not-allowed;
}
/* Responsividade */
@media (max-width: 768px) {
    .detalhes-manifestacao-ouvidoria {
        padding: 1rem;
        margin-bottom: 1rem;
    }
    .detalhes-manifestacao-ouvidoria .manifestation-header {
        padding: 1rem;
        margin-bottom: 1.5rem;
    }
    .detalhes-manifestacao-ouvidoria .protocol-number {
        font-size: 1.3rem;
    }
    .detalhes-manifestacao-ouvidoria .info-card-header {
        padding: 0.75rem 1rem;
        font-size: 0.95rem;
    }
    .detalhes-manifestacao-ouvidoria .info-card-body {
        padding: 1rem;
        font-size: 0.95rem;
    }
}
/* ===== RELATÓRIO DE OUVIDORIA ===== */
.relatorio-ouvidoria {
    --primary-color: #17a2b8;
    --secondary-color: #28a745;
    --warning-color: #ffc107;
    --danger-color: #dc3545;
    --dark-color: #343a40;
    --light-color: #f8f9fa;
    --bg-color: #ffffff;
    --text-color: #333333;
    --border-color: #dee2e6;
}
.relatorio-ouvidoria .chart-container {
    width: 100%;
    max-width: 600px;
    height: 400px;
    margin: 0 auto;
    background: var(--bg-color);
    border-radius: 10px;
    padding: 1rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.relatorio-ouvidoria .stats-card {
    background: #28ABE3;
    color: white;
    padding: 1.5rem;
    margin-bottom: 1rem;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}
.relatorio-ouvidoria .stats-card-green {
    background: #72bf48 !important;
}
.relatorio-ouvidoria .stats-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s;
}
.relatorio-ouvidoria .stats-card:hover::before {
    left: 100%;
}
.relatorio-ouvidoria .stats-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(0,0,0,0.2);
}
.relatorio-ouvidoria .stats-card h3 {
    margin: 0;
    font-size: 3rem;
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
.relatorio-ouvidoria .stats-card p {
    margin: 0.5rem 0 0 0;
    opacity: 0.9;
    font-size: 1.1rem;
}
.relatorio-ouvidoria .counter {
    display: inline-block;
    animation: countUp 2s ease-out;
}
@keyframes countUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.relatorio-ouvidoria .view-toggle {
    margin-bottom: 2rem;
    text-align: center;
}
.relatorio-ouvidoria .view-toggle .btn {
    margin: 0 0.5rem;
    border-radius: 2px;
    padding: 0.75rem 2rem;
    font-weight: 600;
    transition: all 0.3s ease;
}
.relatorio-ouvidoria .grafico-section {
    /*margin-bottom: 3rem;*/
    background: var(--bg-color);
    padding: 2rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border: 1px solid var(--border-color);
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease-in-out;
}
.relatorio-ouvidoria .grafico-section.show {
    opacity: 1;
    transform: translateY(0);
}
.relatorio-ouvidoria .grafico-section h4 {
    text-align: center;
    margin-bottom: 2rem;
    color: var(--text-color);
    border-bottom: 3px solid var(--primary-color);
    padding-bottom: 0.5rem;
    font-weight: 600;
}
.relatorio-ouvidoria .tabela-section {
    /*margin-bottom: 3rem;*/
    background: var(--bg-color);
    padding: 2rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border: 1px solid var(--border-color);
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease-in-out;
}
.relatorio-ouvidoria .tabela-section.show {
    opacity: 1;
    transform: translateY(0);
}
.relatorio-ouvidoria .tabela-section h4 {
    text-align: center;
    margin-bottom: 2rem;
    color: var(--text-color);
    border-bottom: 3px solid var(--primary-color);
    padding-bottom: 0.5rem;
    font-weight: 400;
}
.relatorio-ouvidoria .heatmap {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    margin-top: 1rem;
}
.relatorio-ouvidoria .heatmap-day {
    aspect-ratio: 1;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}
.relatorio-ouvidoria .heatmap-day:hover {
    transform: scale(1.1);
    z-index: 10;
    position: relative;
}
.relatorio-ouvidoria .heatmap-legend {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
    font-size: 0.9rem;
}
.relatorio-ouvidoria .legend-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.relatorio-ouvidoria .legend-color {
    width: 12px;
    height: 12px;
    border-radius: 2px;
}
/* Heatmap Compacto */
.relatorio-ouvidoria .heatmap-compact {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}
.relatorio-ouvidoria .heatmap-month {
    margin-bottom: 25px;
}
.relatorio-ouvidoria .heatmap-month:last-child {
    margin-bottom: 0;
}
.relatorio-ouvidoria .heatmap-month-title {
    font-weight: 600;
    margin-bottom: 10px;
    color: #333;
    font-size: 0.9rem;
}
.relatorio-ouvidoria .heatmap-days-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, 50px);
    gap: 3px;
    justify-content: start;
}
.relatorio-ouvidoria .heatmap-day-compact {
    aspect-ratio: 1;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    min-height: 50px;
    width: 50px;
    max-width: 50px;
    flex-shrink: 0;
}
.relatorio-ouvidoria .heatmap-day-compact:hover {
    transform: scale(1.1);
    z-index: 10;
    position: relative;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.relatorio-ouvidoria .heatmap-day-number {
    font-size: 0.7rem;
    font-weight: 600;
    color: #333;
    line-height: 1;
}
.relatorio-ouvidoria .heatmap-day-count {
    font-size: 0.6rem;
    font-weight: 500;
    color: #666;
    line-height: 1;
    margin-top: 1px;
}
/* Cores do Heatmap */
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="0"] {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
}
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="1"] {
    background-color: #a8d8ea;
}
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="2"] {
    background-color: #7bb3d3;
}
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="3"] {
    background-color: #4a90c2;
}
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="4"] {
    background-color: #1c93a7;
}
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="1"] .heatmap-day-number,
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="2"] .heatmap-day-number,
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="3"] .heatmap-day-number,
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="4"] .heatmap-day-number {
    color: white;
}
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="1"] .heatmap-day-count,
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="2"] .heatmap-day-count,
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="3"] .heatmap-day-count,
.relatorio-ouvidoria .heatmap-day-compact[data-intensity="4"] .heatmap-day-count {
    color: rgba(255,255,255,0.8);
}
.relatorio-ouvidoria .tabela-section .dt-paging {
    padding-top: 1rem !important;
}
.relatorio-ouvidoria .tabela-section .dt-search {
    padding-bottom: 1rem !important;
}	
/* Responsividade do Heatmap */
@media (max-width: 768px) {
    .relatorio-ouvidoria .heatmap-days-grid {
        grid-template-columns: repeat(auto-fit, 30px);
        gap: 2px;
        justify-content: start;
    }
    .relatorio-ouvidoria .heatmap-day-compact {
        min-height: 30px;
        width: 30px;
        max-width: 30px;
    }
    .relatorio-ouvidoria .heatmap-day-number {
        font-size: 0.6rem;
    }
    .relatorio-ouvidoria .heatmap-day-count {
        font-size: 0.5rem;
    }
    .relatorio-ouvidoria .heatmap-legend {
        flex-wrap: wrap;
        gap: 0.5rem;
    }
}
/* Botões de Exportação */
.relatorio-ouvidoria .btn-primary {
    background: #28ABE3;
    border-color: #28ABE3;
}
.relatorio-ouvidoria .btn-primary:hover {
    background: #28ABE3;
    border-color: #28ABE3;
    opacity: 0.9;
}
.relatorio-ouvidoria .btn-primary:focus,
.relatorio-ouvidoria .btn-primary.focus {
    background: #28ABE3;
    border-color: #1c93a7;
    box-shadow: 0 0 0 0.2rem rgba(28, 147, 167, 0.5);
}
.relatorio-ouvidoria .btn-primary:not(:disabled):not(.disabled):active,
.relatorio-ouvidoria .btn-primary:not(:disabled):not(.disabled).active {
    background: #28ABE3;
    border-color: #1c93a7;
}
.relatorio-ouvidoria .btn-primary:not(:disabled):not(.disabled):active:focus,
.relatorio-ouvidoria .btn-primary:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 0 0 0.2rem rgba(28, 147, 167, 0.5);
}
.relatorio-ouvidoria .btn-outline-primary {
    color: #1c93a7;
    border-color: #1c93a7;
}
.relatorio-ouvidoria .btn-outline-primary:hover {
    background: #1c93a7;
    border-color: #1c93a7;
    color: white;
}
.relatorio-ouvidoria .btn-outline-primary:focus,
.relatorio-ouvidoria .btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(28, 147, 167, 0.5);
}
.relatorio-sic .dt-search {
    padding-bottom: 1rem !important;
}
.relatorio-sic .dt-paging {
    padding-top: 1rem !important;
}
.relatorio-ouvidoria .sic-badge-wrap,
.relatorio-ouvidoria .badge.sic-badge-wrap {
    display: inline-block;
    text-align: left;
    line-height: 1.3;
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
    max-width: 260px;
    vertical-align: middle;
}
.btn-outline-green:not(:disabled):not(.disabled):active,
.btn-outline-green:not(:disabled):not(.disabled).active {
    background: #72bf48;
    border-color: #72bf48;
    color: white;
}
.btn-outline-green:not(:disabled):not(.disabled):active:focus,
.btn-outline-green:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 0 0 0.2rem rgba(28, 147, 167, 0.5);
}
/* ============================================================
   ESTATÍSTICAS DE NOTÍCIAS
   ============================================================ */
/* Container de estatísticas */
.estatisticas-container {
	background: #f8f9fa;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important;
	border-radius: 3px;
	padding: .5rem;
}
/* Item de estatística */
.stat-item {
	padding: 0.5rem;
}
.stat-number {
	font-size: 2rem;
	font-weight: 700;
	color: #212529;
	margin-bottom: 0.25rem;
}
.stat-label {
	font-size: 0.875rem;
	color: #6c757d;
	font-weight: 500;
}
.stat-label i {
	margin-right: 0.25rem;
}
/* Cores dinâmicas para estatísticas gerais de notícias */
#estatisticas-noticias-gerais .col-6:nth-child(1) .stat-number,
#estatisticas-noticias-gerais .col-md-2:nth-child(1) .stat-number { color: #007bff; } /* Total */
#estatisticas-noticias-gerais .col-6:nth-child(2) .stat-number,
#estatisticas-noticias-gerais .col-md-2:nth-child(2) .stat-number { color: #28a745; } /* Categorias */
#estatisticas-noticias-gerais .col-6:nth-child(3) .stat-number,
#estatisticas-noticias-gerais .col-md-2:nth-child(3) .stat-number { color: #ffc107; } /* Recentes */

/* Cores dinâmicas para estatísticas filtradas de notícias */
#estatisticas-noticias-filtrados .col-6:nth-child(1) .stat-number,
#estatisticas-noticias-filtrados .col-md-2:nth-child(1) .stat-number { color: #6c757d; } /* Resultados */
#estatisticas-noticias-filtrados .col-6:nth-child(2) .stat-number,
#estatisticas-noticias-filtrados .col-md-2:nth-child(2) .stat-number { color: #28a745; } /* Categorias */
#estatisticas-noticias-filtrados .col-6:nth-child(3) .stat-number,
#estatisticas-noticias-filtrados .col-md-2:nth-child(3) .stat-number { color: #ffc107; } /* Recentes */

/* ============================================================
   IMAGEM INLINE EM NOTÍCIAS/PRODUÇÃO
   ============================================================ */
.noticia-imagem-inline {
	max-width: 420px;
	margin: 0 auto 1.5rem auto;
}
.noticia-imagem-inline .container-imagem-otimizada {
	width: 100%;
}
.noticia-imagem-inline .img-otimizada {
	width: 100%;
	border-radius: 6px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
@media (min-width: 992px) {
	.noticia-imagem-inline {
		float: right;
		margin: 0 0 1.5rem 2rem;
	}
}
/* Wrapper de conteúdo com imagem para garantir altura mínima */
.conteudo-producao-wrapper {
	position: relative;
	overflow: hidden; /* Previne que conteúdo fora do wrapper invada o espaço da imagem flutuante */
}
/* Aplicar altura mínima apenas quando há imagem */
.conteudo-producao-com-imagem {
	min-height: 200px;
}
.conteudo-producao {
	min-height: inherit;
}
/* Garantir que conteúdo após wrapper com imagem não suba ao lado da imagem */
/* Aplicar clear:both em conteúdo que vem DEPOIS do wrapper quando há imagem flutuante */
/* Funciona tanto para portal quanto gabinete - ambos usam .conteudo-producao-com-imagem quando há imagem */
@media (min-width: 992px) {
	/* Qualquer hr ou conteúdo após wrapper com imagem (portal e gabinete) */
	.conteudo-producao-wrapper.conteudo-producao-com-imagem ~ hr.hr-sumir,
	.conteudo-producao-wrapper.conteudo-producao-com-imagem ~ .fonte-producao,
	.conteudo-producao-wrapper.conteudo-producao-com-imagem ~ .citacoes-noticias-wrapper,
	/* Garantir que hr que vem imediatamente após wrapper também tenha clear */
	.conteudo-producao-wrapper.conteudo-producao-com-imagem + hr.hr-sumir,
	.conteudo-producao-wrapper.conteudo-producao-com-imagem + .fonte-producao,
	.conteudo-producao-wrapper.conteudo-producao-com-imagem + .citacoes-noticias-wrapper {
		clear: both; /* Força conteúdo abaixo da imagem quando ela está flutuando */
	}
}
/* Para gabinete - mesma regra */
.sapl-noticia-imagem-inline {
	max-width: 420px;
	margin: 0 auto 1.5rem auto;
}
.sapl-noticia-imagem-inline .container-imagem-otimizada {
	width: 100%;
}
.sapl-noticia-imagem-inline .img-otimizada {
	width: 100%;
	border-radius: 6px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
@media (min-width: 992px) {
	.sapl-noticia-imagem-inline {
		float: right;
		margin: 0 0 1.5rem 2rem;
	}
}
/* ============================================================
   ORDENAÇÃO E PAGINAÇÃO DE NOTÍCIAS
   ============================================================ */
.noticias-ordenacao-wrapper {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.noticias-ordenacao-select {
	display: inline-block !important;
	width: auto !important;
	min-width: 150px;
}
.noticias-paginacao-info {
	margin-bottom: 0.75rem;
}
.noticias-paginacao-info strong {
	color: #007bff;
	font-weight: 600;
}
@media (max-width: 768px) {
	.noticias-ordenacao-wrapper {
		width: 100%;
		margin-top: 0.5rem;
	}
	
	.noticias-ordenacao-select {
		width: 100% !important;
		min-width: 100%;
	}
	
	.noticias-paginacao-info {
		font-size: 0.85rem;
	}
}
/* ============================================================
   BADGES NOVO/POPULAR PARA NOTÍCIAS
   ============================================================ */
.noticia-badge-novo,
.noticia-badge-popular {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 10;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.5px;
	font-size: 0.75rem;
	padding: 0.35rem 0.65rem;
	animation: fadeInBadge 0.3s ease-in;
	border-radius: 4px;
}
@keyframes fadeInBadge {
	from {
		opacity: 0;
		transform: scale(0.8);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
.noticia-badge-novo {
	background-color: #dc3545 !important;
	color: white !important;
}
.noticia-badge-popular {
	background-color: #ffc107 !important;
	color: #212529 !important;
}
.card-producao .position-relative {
	position: relative !important;
	overflow: hidden !important;
	display: block;
	width: 100%;
}
@media (max-width: 576px) {
	.noticia-badge-novo,
	.noticia-badge-popular {
		font-size: 0.65rem !important;
		padding: 0.25rem 0.5rem !important;
		top: 5px !important;
		right: 5px !important;
	}
}
/* ============================================================
   MELHORIAS VISUAIS PARA CARDS DE NOTÍCIAS
   ============================================================ */
.card-producao .card {
	transition: all 0.3s ease;
	border: 1px solid #dee2e6;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.card-producao .card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15) !important;
	border-color: #007bff;
}
.card-producao .card-img-top {
	transition: transform 0.3s ease;
	object-fit: cover;
	height: 200px;
	width: 100%;
	max-width: 100%;
	flex-shrink: 0;
}
.card-producao .card-body {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.card-producao .card-title a {
	color: #212529;
	text-decoration: none;
	transition: color 0.2s ease;
}
.card-producao .card-title a:hover {
	color: #007bff;
	text-decoration: none;
}
.card-producao .btn-outline-danger {
	transition: all 0.2s ease;
}
.card-producao .btn-outline-danger:hover {
	transform: translateX(3px);
}
/* ============================================================
   ÁREA DE COMPARTILHAMENTO PARA NOTÍCIAS
   ============================================================ */
.compartilhamento-social {
	font-size: 0.75rem;
}
.share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 3px;
	margin-left: 0.25rem;
	text-decoration: none;
	transition: all 0.2s ease;
	border: none;
	cursor: pointer;
	font-size: 13px;
	color: white;
	opacity: 0.85;
}
.share-btn i {
	margin: 0;
}
.share-btn:hover {
	opacity: 1;
	transform: translateY(-1px);
	text-decoration: none;
}
.share-btn:active {
	transform: translateY(0);
}
.share-btn-whatsapp {
	background-color: #25D366;
}
.share-btn-whatsapp:hover {
	background-color: #20BA5A;
	color: white;
}
.share-btn-facebook {
	background-color: #1877F2;
}
.share-btn-facebook:hover {
	background-color: #166FE5;
	color: white;
}
.share-btn-twitter {
	background-color: #1DA1F2;
}
.share-btn-twitter:hover {
	background-color: #1A91DA;
	color: white;
}
.share-btn-copy {
	background-color: #6c757d;
}

.share-btn-copy:hover {
	background-color: #5a6268;
	color: white;
}

.share-btn-copy.btn-success {
	background-color: #28a745 !important;
	opacity: 1;
}
@media (max-width: 576px) {
	.compartilhamento-social {
		justify-content: center !important;
	}
	.compartilhamento-social .text-muted {
		display: none;
	}
}
.btn-blue {
    background: #28ABE3;
    border-color: #28ABE3;
}
.btn-blue:hover {
    background: #28ABE3;
    border-color: #28ABE3;
    opacity: 0.9;
}
.btn-blue:focus,
.btn-blue.focus {
    background: #28ABE3;
    border-color: #28ABE3;
    box-shadow: 0 0 0 0.2rem rgba(28, 147, 167, 0.5);
}
.btn-blue:not(:disabled):not(.disabled):active,
.btn-blue:not(:disabled):not(.disabled).active {
    background: #28ABE3;
    border-color: #28ABE3;
}
.btn-blue:not(:disabled):not(.disabled):active:focus,
.btn-blue:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 0 0 0.2rem rgb(37, 167, 28, 0.5);
}
.btn-outline-blue {
    color: #28ABE3;
    border-color: #28ABE3;
}
.btn-outline-blue:hover {
    background: #28ABE3;
    border-color: #28ABE3;
    color: white;
}
.btn-outline-blue:focus,
.btn-outline-blue.focus {
    box-shadow: 0 0 0 0.2rem rgba(28, 147, 167, 0.5);
}
.btn-outline-blue:not(:disabled):not(.disabled):active,
.btn-outline-blue:not(:disabled):not(.disabled).active {
    background: #28ABE3;
    border-color: #28ABE3;
    color: white;
}
.btn-outline-blue:not(:disabled):not(.disabled):active:focus,
.btn-outline-blue:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 0 0 0.2rem rgba(28, 147, 167, 0.5);
}
.form-satisfacao .rating-stars {
    direction: rtl;
    display: inline-block;
}
.form-satisfacao .rating-stars input[type="radio"] {
    display: none;
}
.form-satisfacao .rating-stars label {
    color: #ddd;
    font-size: 2rem;
    padding: 0 2px;
    cursor: pointer;
    transition: color 0.2s;
}
.form-satisfacao .rating-stars label:hover,
.form-satisfacao .rating-stars label:hover ~ label,
.form-satisfacao .rating-stars input[type="radio"]:checked ~ label {
    color: #ffc107;
}
.form-satisfacao .rating-stars input[type="radio"]:checked + label {
    color: #ffc107;
}
/* Estilo da tabela de perguntas */
.form-satisfacao .table-perguntas {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
}
.form-satisfacao .table-perguntas thead th {
    border: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.form-satisfacao .table-perguntas tbody tr {
    transition: all 0.3s ease;
}
.form-satisfacao .table-perguntas tbody tr:hover {
    background-color: #f8f9fa;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.form-satisfacao .table-perguntas tbody td {
    border-color: #e9ecef;
    vertical-align: middle;
}
.form-satisfacao .badge-pill {
    font-size: 0.9rem;
    padding: 0.5em 0.75em;
}
.form-satisfacao .alerta-validacao {
    border: none;
    border-radius: 12px;
    animation: slideInRight 0.5s ease-out;
}
@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}
.form-satisfacao .table-warning {
    background-color: #fff3cd !important;
    animation: pulse-table-warning 0.5s ease-in-out;
}
@keyframes pulse-table-warning {
    0% { transform: scale(1); }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); }
}
.form-satisfacao .alerta-validacao .close {
    font-size: 1.5rem;
    opacity: 0.7;
}
.form-satisfacao .alerta-validacao .close:hover {
    opacity: 1;
}
.login-container {
    background: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.solicitacoes-container {
    background: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
/* ===== MÓDULO SIC - SOLICITAÇÕES ===== */
.sic-solicitacoes .solicitacao-item {
    transition: all 0.6s ease-in-out;
    opacity: 1;
    transform: translateY(0);
    max-height: 500px;
    overflow: hidden;
}
.sic-solicitacoes .solicitacao-item.fade-out {
    opacity: 0;
    transform: translateY(-20px);
    max-height: 0;
    margin-bottom: 0;
    padding: 0;
    pointer-events: none;
}
.sic-solicitacoes .solicitacao-item.fade-in {
    opacity: 1;
    transform: translateY(0);
    max-height: 500px;
}
.sic-solicitacoes .solicitacao-item.hidden {
    display: none !important;
}
.sic-solicitacoes .filtro-loading {
    position: relative;
}
.sic-solicitacoes .filtro-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #007bff;
    border-radius: 50%;
    animation: sic-spin 2s linear infinite;
}
@keyframes sic-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.sic-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.sic-protocol-badge {
    display: inline-flex;
    align-items: center;
    background: #3d8517;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(61, 133, 23, 0.3);
}
.sic-protocol-badge i {
    margin-right: 0.2rem;
}
.sic-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #212529;
    margin-bottom: 0;
    line-height: 1.3;
}
.sic-document-title h4 {
    color: white;
    margin: 0.5rem 0 0 0;
    font-weight: 600;
}
.sic-status-badge {
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.sic-status-pending { background: #fff3cd; color: #856404; border: 2px solid #ffeaa7; }
.sic-status-analyzing { background: #d1ecf1; color: #0c5460; border: 2px solid #bee5eb; }
.sic-status-answered { background: #d4edda; color: #155724; border: 2px solid #c3e6cb; }
.sic-status-archived { background: #e2e3e5; color: #383d41; border: 2px solid #d6d8db; }
.sic-status-waiting { background: #d1ecf1; color: #0c5460; border: 2px solid #bee5eb; }
.sic-status-appeal1, .sic-status-appeal2 { background: #fff3cd; color: #856404; border: 2px solid #ffeaa7; }
.sic-status-denied, .sic-status-rejected { background: #f8d7da; color: #721c24; border: 2px solid #f5c6cb; }
.sic-status-partial { background: #d4edda; color: #155724; border: 2px solid #c3e6cb; }
.sic-status-complemented { background: #cce5ff; color: #004085; border: 2px solid #b3d7ff; }
.sic-status-appeal1-deferred, .sic-status-appeal2-deferred { background: #d4edda; color: #155724; border: 2px solid #c3e6cb; }
.sic-status-appeal1-denied, .sic-status-appeal2-denied { background: #f8d7da; color: #721c24; border: 2px solid #f5c6cb; }
/* Responsáveis pelo SIC */
.sic-gestor-highlight-card {
    padding: 1rem;
    position: relative;
    overflow: hidden;
    border-radius: 0;
}

.sic-gestor-highlight-card::after {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 180px;
    height: 180px;
    z-index: 0;
}

.sic-gestor-icon {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: #72bf48;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.3rem;
    margin: 0 auto 0.5rem;
    box-shadow: 0 12px 20px rgba(28, 147, 167, 0.25);
    position: relative;
    z-index: 1;
}

.sic-gestor-label {
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1c93a7;
    font-weight: 600;
}

.sic-gestor-nome {
    font-weight: 700;
    color: #1d1d1d;
    position: relative;
    z-index: 1;
}

.sic-gestor-periodo {
    font-size: 0.97rem;
    color: #49616b;
}

.sic-gestor-status-badge {
    font-weight: 600;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    font-size: 0.8rem;
    box-shadow: 0 6px 14px rgba(28, 147, 167, 0.2);
    position: relative;
    z-index: 1;
}

.sic-gestor-info-list li {
    display: flex;
    align-items: flex-start;
    font-size: 0.98rem;
    margin-bottom: 0.6rem;
    color: #444;
}

.sic-gestor-info-list li i {
    font-size: 1rem;
    color: #1c93a7;
    width: 1.6rem;
    margin-right: 0.6rem;
    margin-top: 0.15rem;
}

.sic-gestor-info-list li a {
    color: #1c93a7;
    font-weight: 600;
}

.sic-gestor-info-list li a:hover {
    text-decoration: underline;
}

.sic-gestor-metric-row {
    position: relative;
    z-index: 1;
}

.sic-gestor-metric-card {
    background: #f6fbfd;
    border: 1px solid rgba(28, 147, 167, 0.15);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    height: 100%;
}

.sic-gestor-metric-card strong {
    font-size: 1.6rem;
    color: #1c93a7;
    line-height: 1;
}

.sic-gestor-metric-card span {
    font-size: 0.85rem;
    color: #50727c;
    font-weight: 500;
}

.sic-gestor-historico-card {
    border-radius: 0;
}

.sic-gestor-historico-title {
    font-weight: 600;
    color: #1c4a5a;
}

.sic-gestor-historico-card .badge-light {
    background: rgba(28, 147, 167, 0.12);
    color: #1c93a7;
}

.sic-gestor-historico-card .table thead th {
    background: #f6fbfd;
    border-bottom: 2px solid rgba(28, 147, 167, 0.15);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.sic-gestor-historico-card .table tbody td {
    vertical-align: middle;
    font-size: 0.95rem;
}

.sic-gestor-historico-card .table tbody tr:hover {
    background: rgba(28, 147, 167, 0.06);
}

@media (max-width: 767.98px) {
    .sic-gestor-highlight-card {
        padding: 1.6rem;
    }

    .sic-gestor-metric-card {
        padding: 0.9rem 1rem;
    }
}
/* Página de prazos do SIC */
.sic-prazo-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.sic-prazo-hero-card {
    position: relative;
    overflow: hidden;
}
.sic-prazo-hero-card .card-body {
    position: relative;
    z-index: 1;
}
.sic-prazo-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #1c93a7;
    background: rgba(28, 147, 167, 0.12);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.sic-prazo-hero-title {
    font-size: 1.75rem;
    font-weight: 500;
    margin: 1rem 0 0.75rem;
}
.sic-prazo-hero-subtitle {
    font-size: 1rem;
    color: #39545b;
}
.sic-prazo-hero-list {
    margin: 1rem 0 0;
    padding-left: 1.2rem;
    color: #274046;
    font-size: 0.95rem;
}
.sic-prazo-hero-list li {
    margin-bottom: 0.4rem;
}

.sic-prazo-hero-highlight {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #72bf48;
    color: #fff;
    padding: 1.5rem 2rem;
    border-radius: 3px;
    min-width: 200px;
    box-shadow: 0 18px 26px rgba(28, 147, 167, 0.2);
}

.sic-prazo-hero-value {
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
}
.sic-prazo-hero-value span {
    font-size: 2.4rem;
    margin: 0 0.3rem;
}

.sic-prazo-hero-caption {
    margin-top: 0.4rem;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-align: center;
}
.sic-prazo-hero-caption small {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    letter-spacing: normal;
    text-transform: none;
    opacity: 0.85;
}

.sic-prazo-hero-meta {
    display: inline-flex;
    gap: 0.75rem;
    align-items: center;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
    color: #1c93a7;
    font-weight: 600;
}

.sic-prazo-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}
.sic-prazo-stat-card {
    background: #f7fbfc;
    border: 1px solid rgba(28, 147, 167, 0.12);
    border-radius: 3px;
    padding: 1.1rem 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.sic-prazo-stat-label {
    font-size: 0.85rem;
    color: #3c5c63;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
}
.sic-prazo-stat-card strong {
    font-size: 1.9rem;
    color: #1c93a7;
    line-height: 1;
}
.sic-prazo-stat-card small {
    font-size: 0.8rem;
    color: #5b757d;
}

.sic-prazo-list {
    padding-left: 1.1rem;
    font-size: 0.95rem;
   	color: #334850;
}
.sic-prazo-list li {
    margin-bottom: 0.6rem;
}

.sic-prazo-alert {
    border-radius: 12px;
    padding: 0.85rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.9rem;
    margin-top: 1.1rem;
}
.sic-prazo-alert i {
    font-size: 1.2rem;
}
.sic-prazo-alert.info {
    background: rgba(28, 147, 167, 0.08);
    color: #1c93a7;
    border: 1px solid rgba(28, 147, 167, 0.18);
}
.sic-prazo-alert.warning {
    background: rgba(253, 193, 112, 0.18);
    color: #b25b05;
    border: 1px solid rgba(253, 193, 112, 0.35);
}

.sic-prazo-table thead th {
    text-transform: uppercase;
    font-size: 0.82rem;
    color: #5c7680;
    border-bottom: 2px solid rgba(28, 147, 167, 0.1);
}
.sic-prazo-table tbody td {
    vertical-align: top;
    font-size: 0.92rem;
    color: #2f4046;
}

.sic-prazo-flow {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.sic-prazo-flow-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: #f8fbfc;
    border: 1px solid rgba(28, 147, 167, 0.12);
    border-radius: 2px;
    padding: 1rem 1.2rem;
}
.sic-prazo-flow-index {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #72bf48;
    color: #fff;
    font-weight: 700;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.sic-prazo-flow-content h4 {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1e3a43;
    margin-bottom: 0.35rem;
}
.sic-prazo-flow-content p {
    margin-bottom: 0.3rem;
    color: #415a62;
}
.sic-prazo-flow-note {
    font-size: 0.82rem;
    color: #1c93a7;
    font-weight: 600;
}

.sic-prazo-checklist {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
.sic-prazo-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
    color: #2f474e;
    font-size: 0.95rem;
}
.sic-prazo-checklist li i {
    color: #1c93a7;
    margin-top: 0.15rem;
}

@media (max-width: 991.98px) {
    .sic-prazo-hero-highlight { width: 100%; }
    .sic-prazo-hero-title { font-size: 1.8rem; }
}

@media (max-width: 575.98px) {
    .sic-prazo-stat-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
    .sic-prazo-flow-item { flex-direction: column; }
    .sic-prazo-flow-index { width: 38px; height: 38px; font-size: 1rem; }
}
/* ===== OUVIDORIA LAYOUT ===== */
/* Document Header */
.ouvidoria-document-header {
    background: linear-gradient(135deg, #28ABE3 0%, #1e8bc3 100%);
    color: white;
    padding: 2rem;
    border-radius: 10px;
    margin-bottom: 1rem;
}
.ouvidoria-document-title h4 {
    color: white;
    margin: 0.5rem 0 0 0;
    font-weight: 600;
}
.ouvidoria-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.ouvidoria-protocol-badge {
    display: inline-flex;
    align-items: center;
    background: #007bff;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);    
}
.ouvidoria-protocol-badge i {
    margin-right: 0.2rem;
}
.ouvidoria-status-badge {
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 2px solid rgba(255,255,255,0.3);
}
.ouvidoria-status-pending { background: rgba(255, 193, 7, 0.9); color: #856404; }
.ouvidoria-status-analyzing { background: rgba(13, 202, 240, 0.9); color: #0c5460; }
.ouvidoria-status-answered { background: rgba(25, 135, 84, 0.9); color: white; }
.ouvidoria-status-waiting { background: rgba(13, 202, 240, 0.9); color: #0c5460; }
.ouvidoria-status-archived { background: rgba(108, 117, 125, 0.9); color: white; }
.ouvidoria-status-unknown { background: rgba(108, 117, 125, 0.9); color: white; }
/* Info Grid */
.ouvidoria-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}
.ouvidoria-info-card {
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 1rem;
    transition: all 0.3s ease;
    text-align: center;
}
.ouvidoria-info-card-prazo {
    grid-column: 1 / -1;
    text-align: left;
    padding: 1.5rem;
}
.ouvidoria-prazo-hero-highlight {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #28ABE3;
    color: #fff;
    padding: 1.5rem 2rem;
    border-radius: 3px;
    min-width: 200px;
    box-shadow: 0 18px 26px rgba(28, 147, 167, 0.2);
}
.ouvidoria-prazo-hero-value {
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
}
.ouvidoria-prazo-hero-value span {
    font-size: 2.4rem;
    margin: 0 0.3rem;
}
.ouvidoria-prazo-hero-caption {
    margin-top: 0.4rem;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-align: center;
}
.ouvidoria-prazo-hero-caption small {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    letter-spacing: normal;
    text-transform: none;
    opacity: 0.85;
}
.ouvidoria-prazo-flow {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.ouvidoria-prazo-flow-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: #f8fbfc;
    border: 1px solid rgba(28, 147, 167, 0.12);
    border-radius: 2px;
    padding: 1rem 1.2rem;
}
.ouvidoria-prazo-flow-index {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #28ABE3;
    color: #fff;
    font-weight: 700;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ouvidoria-prazo-flow-content h4 {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1e3a43;
    margin-bottom: 0.35rem;
}
.ouvidoria-prazo-flow-content p {
    margin-bottom: 0.3rem;
    color: #415a62;
}
.ouvidoria-prazo-flow-note {
    font-size: 0.82rem;
    color: #1c93a7;
    font-weight: 600;
}
.ouvidoria-prazo-checklist {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
.ouvidoria-prazo-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
    color: #2f474e;
    font-size: 0.95rem;
}
.ouvidoria-prazo-checklist li i {
    color: #1c93a7;
    margin-top: 0.15rem;
}
@media (min-width: 768px) {
    .ouvidoria-info-card-prazo {
        display: flex;
        align-items: flex-start;
        gap: 1.5rem;
    }
    .ouvidoria-info-card-prazo .ouvidoria-info-icon {
        margin: 0;
    }
    .ouvidoria-info-card-prazo .ouvidoria-info-content {
        text-align: left;
        flex: 1;
    }
}
@media (max-width: 991.98px) {
    .ouvidoria-prazo-hero-highlight { width: 100%; }
}
.ouvidoria-info-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.ouvidoria-info-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #28ABE3 0%, #1e8bc3 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.75rem auto;
}
.ouvidoria-info-icon i {
    color: white;
    font-size: 1.2rem;
}
.ouvidoria-info-content h6 {
    color: #495057;
    font-weight: 600;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ouvidoria-info-content p {
    font-size: 1.1rem;
    color: #212529;
    font-weight: 500;
    margin-bottom: 0.25rem;
    word-break: break-word;
    overflow-wrap: break-word;
}
.ouvidoria-info-content small {
    color: #6c757d;
    font-size: 0.8rem;
}
/* Description Section */
.ouvidoria-description-section {
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1rem;
}
.ouvidoria-section-title {
    font-size: 1.3rem;
    color: #212529;
    font-weight: 600;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e9ecef;    
}
.ouvidoria-description-content {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #495057;
    text-align: justify;
}
/* Process Section */
.ouvidoria-process-section {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1.5rem 1.5rem 0rem 1.5rem;
    margin-bottom: 1rem;
}
.ouvidoria-empty-state {
    text-align: center;
    padding: 3rem 2rem;
    color: #6c757d;
}
.ouvidoria-empty-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #dee2e6;
}
.ouvidoria-empty-state h6 {
    color: #495057;
    margin-bottom: 0.5rem;
}
.ouvidoria-process-timeline {
    position: relative;
    padding-left: 2rem;
    padding-top: .5rem;
}
.ouvidoria-process-item {
    position: relative;
    margin-bottom: 2rem;
    padding-left: 1.5rem;
}
.ouvidoria-process-marker {
    position: absolute;
    left: -2rem;
    top: 0.5rem;
}
.ouvidoria-process-item:not(:last-child)::before {
    content: '';
    position: absolute;
    left: -.85rem;
    top: 2rem;
    width: 2px;
    height: calc(100% + 1rem);
    background: #dee2e6;
}
.ouvidoria-process-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.ouvidoria-process-icon.citizen {
    background: linear-gradient(135deg, #007bff, #0056b3);
}
.ouvidoria-process-icon.manager {
    background: linear-gradient(135deg, #28ABE3 0%, #1e8bc3 100%);
}
.ouvidoria-process-content {
    flex: 1;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.ouvidoria-process-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #dee2e6;
}
.ouvidoria-process-author {
    font-weight: 600;
    color: #495057;
}
.ouvidoria-process-date {
    font-size: 0.9rem;
    color: #6c757d;
    background: white;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    border: 1px solid #dee2e6;
}
.ouvidoria-process-message {
    color: #212529;
    line-height: 1.6;
}
/* Actions Section */
.ouvidoria-actions-section {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1rem;
}
.ouvidoria-action-card {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
}
.ouvidoria-action-card:hover {
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.ouvidoria-action-card.ouvidoria-archived {
    background: #f8f9fa;
    border-color: #dee2e6;
}
.ouvidoria-action-card.ouvidoria-waiting {
    background: #e3f2fd;
    border-color: #bbdefb;
}
.ouvidoria-action-header {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}
.ouvidoria-action-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #28ABE3 0%, #1e8bc3 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    flex-shrink: 0;
}
.ouvidoria-action-icon i {
    color: white;
    font-size: 1.2rem;
}
.ouvidoria-action-title h6 {
    color: #495057;
    font-weight: 600;
    margin-bottom: 0.25rem;
}
.ouvidoria-action-title p {
    color: #6c757d;
    margin: 0;
    font-size: 0.95rem;
}
.ouvidoria-textarea {
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 1rem;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}
.ouvidoria-textarea:focus {
    border-color: #28ABE3;
    box-shadow: 0 0 0 0.2rem rgba(40, 171, 227, 0.25);
}
.ouvidoria-action-buttons {
    text-align: center;
    margin-top: 1.5rem;
}
.ouvidoria-btn {
    background: linear-gradient(135deg, #28ABE3 0%, #1e8bc3 100%);
    border: none;
    padding: 0.75rem 2rem;
    border-radius: 6px;
    font-weight: 600;
    transition: all 0.3s ease;
}
.ouvidoria-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(40, 171, 227, 0.4);
}
/* Legal Section */
.ouvidoria-legal-section {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}
.ouvidoria-legal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}
.ouvidoria-legal-card {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;    
}
.ouvidoria-legal-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.ouvidoria-legal-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #28ABE3 0%, #1e8bc3 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.ouvidoria-legal-icon i {
    color: white;
    font-size: 1.5rem;
}
.ouvidoria-legal-content h6 {
    color: #495057;
    font-weight: 600;
    margin-bottom: 0.5rem;
}
.ouvidoria-legal-law {
    color: #6c757d;
    font-weight: 500;
    margin-bottom: 1rem;
}
.ouvidoria-legal-items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.ouvidoria-legal-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #495057;
    font-size: 0.9rem;
}
.ouvidoria-legal-item i {
    color: #28ABE3;
    width: 16px;
    text-align: center;
}
.ouvidoria-legal-status {
    color: #28ABE3;
    font-weight: 600;
    margin-bottom: 1rem;
}
.ouvidoria-legal-description {
    color: #6c757d;
    line-height: 1.5;
}
/* Evaluation Section */
.ouvidoria-evaluation-section {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}
.ouvidoria-evaluation-card {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 2rem 2rem 0 2rem;
    transition: all 0.3s ease;
}
.ouvidoria-evaluation-card:hover {
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.ouvidoria-evaluation-header {
    display: flex;
    align-items: center;
    justify-content: center;
}
.ouvidoria-evaluation-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    flex-shrink: 0;
}
.ouvidoria-evaluation-icon i {
    color: white;
    font-size: 1.2rem;
}
.ouvidoria-evaluation-content h5 {
    color: #495057;
    font-weight: 600;
    margin-bottom: 0.25rem;
}
.ouvidoria-evaluation-content p {
    color: #6c757d;
    margin: 0;
    font-size: 0.95rem;
}
.ouvidoria-evaluation-form {
    text-align: center;
}
/* Actions Footer */
.ouvidoria-actions-footer {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 2rem;
    margin-bottom: 2rem;
}
/* Responsive */
@media (max-width: 768px) {
    .ouvidoria-header-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .ouvidoria-info-grid {
        grid-template-columns: 1fr;
    }
    .ouvidoria-legal-grid {
        grid-template-columns: 1fr;
    }
    .ouvidoria-process-timeline {
        padding-left: 1.5rem;
    }
    .ouvidoria-process-marker {
        left: -1.5rem;
    }
    .ouvidoria-process-item:not(:last-child)::before {
        left: -.3rem;
    }
}
/* ===== EDITOR RICO SEGURO ===== */
.rich-editor {
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
    background: white;
}
.editor-toolbar {
    background: #f8f9fa;
    padding: 8px;
    border-bottom: 1px solid #ddd;
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}
.editor-toolbar button {
    background: none;
    border: 1px solid #ddd;
    padding: 6px 8px;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.2s;
    color: #495057;
    font-size: 14px;
}
.editor-toolbar button:hover {
    background: #e9ecef;
    border-color: #adb5bd;
}
.editor-toolbar button.active {
    background: #007bff;
    color: white;
    border-color: #007bff;
}
.editor-content {
    min-height: 120px;
    padding: 12px;
    outline: none;
    font-family: inherit;
    line-height: 1.5;
    font-size: 14px;
    color: #495057;
}
.editor-content:empty:before {
    content: attr(data-placeholder);
    color: #6c757d;
    font-style: italic;
}
.editor-content p {
    margin: 0 0 8px 0;
}
.editor-content ul, .editor-content ol {
    margin: 8px 0;
    padding-left: 20px;
}
.editor-content li {
    margin: 4px 0;
}
/* Estilos para o editor na ouvidoria */
.ouvidoria-rich-editor .editor-toolbar button.active {
    background: #28ABE3;
    border-color: #28ABE3;
}
.ouvidoria-rich-editor .editor-content {
    border: 1px solid #e9ecef;
    border-top: none;
}
/* Estilos para o editor no SIC */
.sic-rich-editor .editor-toolbar button.active {
    background: #72bf48;
    border-color: #72bf48;
}
.sic-rich-editor .editor-content {
    border: 1px solid #e9ecef;
    border-top: none;
}
/* Responsividade */
@media (max-width: 768px) {
    .editor-toolbar {
        padding: 6px;
        gap: 2px;
    }
    .editor-toolbar button {
        padding: 4px 6px;
        font-size: 12px;
    }
    .editor-content {
        min-height: 100px;
        padding: 8px;
        font-size: 13px;
    }
}
/* ===== SIC LAYOUT ===== */
/* Rating Stars - Sistema Geral */
.rating-stars {
    direction: rtl;
    display: inline-block;
}
.rating-stars input[type="radio"] {
    display: none;
}
.rating-stars label {
    color: #ddd;
    font-size: 2rem;
    padding: 0 2px;
    cursor: pointer;
    transition: color 0.2s;
}
.stars-grande label {
    font-size: 3rem !important;
}
.stars-atendimento label {
    font-size: 3rem !important;
}
.rating-stars label:hover,
.rating-stars label:hover ~ label,
.rating-stars input[type="radio"]:checked ~ label {
    color: #ffc107;
}
.rating-stars input[type="radio"]:checked + label {
    color: #ffc107;
}
/* Evaluation Section */
.sic-evaluation-section {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}
.sic-evaluation-card {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 2rem 2rem 0 2rem;
    transition: all 0.3s ease;
}
.sic-evaluation-card:hover {
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.sic-evaluation-header {
    display: flex;
    align-items: center;
    justify-content: center;
}
.sic-evaluation-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    color: white;
    font-size: 1.2rem;
}
.sic-evaluation-card.sic-evaluated .sic-evaluation-icon {
    background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%);
}
.sic-evaluation-content h5 {
    color: #212529;
    font-weight: 600;
    margin-bottom: 0.25rem;
}
.sic-evaluation-content p {
    color: #6c757d;
    margin-bottom: 0;
    font-size: 0.95rem;
}
.sic-evaluation-form {
    text-align: center;
}
.sic-evaluation-buttons {
    text-align: center;
    margin-top: 1.5rem;
}
/* Document Header */
.sic-document-header {
    background: linear-gradient(135deg, #72bf48 0%, #5a9a3a 100%);
    color: white;
    padding: 2rem;
    border-radius: 10px;
    margin-bottom: 1rem;
}
/* Info Grid */
.sic-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}
.sic-info-card {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sic-info-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.sic-info-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #72bf48 0%, #5a9a3a 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    margin-bottom: 0.75rem;
    flex-shrink: 0;
}
.sic-info-card-prazo,
.sic-info-card-recursos,
.sic-info-card-sigilo {
    padding: 1.5rem;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
    flex-wrap: wrap;
    text-align: left;
}
.sic-info-card-prazo .sic-info-icon,
.sic-info-card-recursos .sic-info-icon,
.sic-info-card-sigilo .sic-info-icon {
    margin-bottom: 0;
    flex: 0 0 auto;
}
.sic-info-card-prazo .sic-info-content,
.sic-info-card-recursos .sic-info-content,
.sic-info-card-sigilo .sic-info-content {
    flex: 1 1 220px;
    min-width: 220px;
}
.sic-info-card h6 {
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #495057;
    margin-bottom: 0.5rem;
}
@media (max-width: 576px) {
    .sic-info-card-prazo,
    .sic-info-card-recursos,
    .sic-info-card-sigilo {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .sic-info-card-prazo .sic-info-content,
    .sic-info-card-recursos .sic-info-content,
    .sic-info-card-sigilo .sic-info-content {
        text-align: center;
    }
}
.sic-info-card-recursos h5 {
    font-size: 0.95rem;
    margin-bottom: 0.35rem;
    font-weight: 500;
    text-transform: none;
}
.sic-recurso-block + .sic-recurso-block {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e9ecef;
}
.sic-recurso-block p {
    margin-bottom: 0.35rem;
}
.sic-recurso-block .badge {
    font-size: 0.8rem;
}
.sic-recurso-detalhes li {
    margin-bottom: 0.25rem;
    color: #495057;
    font-size: 0.95rem;
}
.sic-recurso-detalhes i {
    color: #adb5bd;
    margin-right: 0.35rem;
}
.sic-info-content h6 {
    font-weight: 600;
    color: #495057;
    margin-bottom: 0.25rem;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.sic-info-content p {
    font-size: 1.1rem;
    font-weight: 500;
    color: #212529;
    margin-bottom: 0;
}
.sic-info-content small {
    color: #6c757d;
    font-size: 0.8rem;
}
/* Description Section */
.sic-description-section {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1rem;
}
.sic-section-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: #212529;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e9ecef;
}
.sic-description-content {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #495057;
    text-align: justify;
}
/* Process Section */
.sic-process-section {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1.5rem 1.5rem 0rem 1.5rem;
    margin-bottom: 1rem;
}
.sic-empty-state {
    text-align: center;
    padding: 3rem 2rem;
}
.sic-empty-icon {
    font-size: 4rem;
    color: #6c757d;
    margin-bottom: 1rem;
}
.sic-empty-state h6 {
    font-size: 1.3rem;
    color: #495057;
    margin-bottom: 0.5rem;
}
.sic-empty-state p {
    color: #6c757d;
    font-size: 1.1rem;
}
/* Process Timeline */
.sic-process-timeline {
    position: relative;
    padding-left: 2rem;
    padding-top: .5rem;
}
.sic-process-item {
    position: relative;
    margin-bottom: 2rem;
    padding-left: 1.5rem;
}
.sic-process-marker {
    position: absolute;
    left: -2rem;
    top: 0.5rem;
}
.sic-process-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.sic-process-icon.citizen {
    background: linear-gradient(135deg, #007bff, #0056b3);
}
.sic-process-icon.manager {
    background: linear-gradient(135deg, #72bf48 0%, #5a9a3a 100%);
}
.sic-process-icon.timeline-warning {
    background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%);
}
.sic-process-icon.timeline-info {
    background: linear-gradient(135deg, #17a2b8 0%, #117a8b 100%);
}
.sic-process-icon.timeline-success {
    background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%);
}
.sic-process-icon.timeline-neutral {
    background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
}
.sic-process-item:not(:last-child)::before {
    content: '';
    position: absolute;
    left: -.85rem;
    top: 2rem;
    width: 2px;
    height: calc(100% + 1rem);
    background: #dee2e6;
}
.sic-process-content {
    flex: 1;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.sic-process-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #dee2e6;
}
.sic-process-author {
    font-weight: 600;
    color: #495057;
    font-size: 1rem;
}
.sic-process-author small {
    font-size: 0.8rem;
    font-weight: 400;
    color: #6c757d;
}
.sic-process-date {
    font-size: 0.9rem;
    color: #6c757d;
    background: white;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    border: 1px solid #dee2e6;
}
.sic-process-message {
    font-size: 1rem;
    line-height: 1.6;
    color: #495057;
}
/* Actions Section */
.sic-actions-section {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1rem;
}
.sic-action-card {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    margin-bottom: 1.5rem;
    overflow: hidden;
}
.sic-action-card:last-child {
    margin-bottom: 0;
}
.sic-action-card.sic-expired {
    background: #f8d7da;
    border-color: #f5c6cb;
}
.sic-action-header {
    background: white;
    padding: 1.5rem;
    border-bottom: 1px solid #e9ecef;
    display: flex;
    align-items: center;
}
.sic-action-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #72bf48 0%, #5a9a3a 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    margin-right: 1rem;
    flex-shrink: 0;
}
.sic-action-card.sic-expired .sic-action-icon {
    background: linear-gradient(135deg, #dc3545, #c82333);
}
.sic-action-title h6 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 0.25rem;
}
.sic-action-title p {
    color: #6c757d;
    margin-bottom: 0;
    font-size: 0.95rem;
}
.sic-action-content {
    padding: 1.5rem;
}
.sic-deadline-info {
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 6px;
    padding: 1rem;
    margin-bottom: 1rem;
    color: #856404;
    font-size: 0.95rem;
}
.sic-textarea {
    border: 2px solid #e9ecef;
    border-radius: 6px;
    padding: 0.75rem;
    font-size: 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.sic-textarea:focus {
    border-color: #72bf48;
    box-shadow: 0 0 0 0.2rem rgba(114, 191, 72, 0.25);
    outline: none;
}
.sic-action-buttons {
    text-align: center;
    margin-top: 1.5rem;
}
.sic-btn {
    padding: 0.75rem 2rem;
    font-weight: 600;
    border-radius: 6px;
    font-size: 1rem;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.sic-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
/* Legal Section */
.sic-legal-section {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1rem;
}
.sic-legal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.sic-legal-card {
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sic-legal-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.sic-legal-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #72bf48 0%, #5a9a3a 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 1rem;
    flex-shrink: 0;
}
.sic-legal-content h6 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 0.5rem;
}
.sic-legal-law {
    font-size: 0.9rem;
    color: #6c757d;
    font-weight: 500;
    margin-bottom: 1rem;
}
.sic-legal-status {
    font-size: 1rem;
    font-weight: 600;
    color: #72bf48;
    margin-bottom: 1rem;
    padding: 0.25rem 0.75rem;
    background: #e7f3ff;
    border-radius: 12px;
    display: inline-block;
}
.sic-legal-items {
    width: 100%;
    text-align: left;
}
.sic-legal-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
    color: #495057;
}
.sic-legal-item:last-child {
    margin-bottom: 0;
}
.sic-legal-item i {
    width: 20px;
    height: 20px;
    background: #72bf48;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    margin-right: 0.75rem;
    flex-shrink: 0;
}
/* Responsividade */
@media (max-width: 768px) {
    .sic-document-header {
        padding: 1rem;
    }
    .sic-header-row {
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
    }
    .sic-info-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .sic-info-card {
        padding: 1rem;
    }
    .sic-info-icon {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }
    .sic-process-timeline {
        padding-left: 1.5rem;
    }
    .sic-process-marker {
        left: -1.5rem;
    }
    .sic-process-item:not(:last-child)::before {
        left: -.3rem;
    }
    .sic-action-header {
        flex-direction: column;
        text-align: center;
    }
    .sic-action-icon {
        margin-right: 0;
        margin-bottom: 1rem;
    }
    .sic-legal-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .sic-legal-card {
        padding: 1rem;
    }
    .sic-legal-icon {
        width: 50px;
        height: 50px;
        font-size: 1.2rem;
    }
}
/* SIC Sigilo Badge */
.sic-sigilo-badge {
    background: linear-gradient(135deg, #dc3545, #c82333);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 4px rgba(220, 53, 69, 0.3);
    border: 1px solid #c82333;
    display: inline-block;
    animation: sic-sigilo-pulse 2s infinite;
}
@keyframes sic-sigilo-pulse {
    0% { box-shadow: 0 2px 4px rgba(220, 53, 69, 0.3); }
    50% { box-shadow: 0 4px 8px rgba(220, 53, 69, 0.5); }
    100% { box-shadow: 0 2px 4px rgba(220, 53, 69, 0.3); }
}
#senha-criterios {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 5px;
    padding: 10px;
}
#senha-criterios ul li {
    margin-bottom: 5px;
    font-size: 0.9rem;
}
#senha-criterios ul li:last-child {
    margin-bottom: 0;
}
#senha-criterios .text-success {
    color: #28a745 !important;
}
#senha-criterios .text-muted {
    color: #6c757d !important;
}
.senha-gerada {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    border-radius: 5px;
    padding: 15px;
    margin: 15px 0;
    font-family: 'Courier New', monospace;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    color: #155724;
}
.senha-gerada .senha {
    background: #fff;
    border: 2px solid #28a745;
    border-radius: 3px;
    padding: 10px;
    margin: 10px 0;
    display: inline-block;
    min-width: 200px;
}
.info-localhost {
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 5px;
    padding: 10px;
    margin: 15px 0;
    color: #856404;
}
/* Estilos para o sistema de avaliação fixo no footer - baseado na ouvidoria */
.portal-avaliacao-container {
    background: white;
}
.portal-avaliacao-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 65px;
}
.portal-avaliacao-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    flex-shrink: 0;
}
.portal-avaliacao-icon i {
    color: white;
    font-size: 1.2rem;
}
.portal-avaliacao-content {
    text-align: center;
}
.portal-avaliacao-content h5 {
    color: #495057;
    margin-bottom: 0.25rem;
}
.portal-avaliacao-content p {
    color: #6c757d;
    margin: 0;
    font-size: 0.9rem;
}
.portal-avaliacao-form {
    text-align: center;
}
.portal-avaliacao-stars .rating-stars {
    display: inline-flex;
    gap: 8px;
}
.portal-avaliacao-stars .rating-stars input[type="radio"] {
    display: none;
}
.portal-avaliacao-stars .rating-stars label.star {
    font-size: 2.5rem;
    color: #e9ecef;
    cursor: pointer;
    transition: color 0.2s;
    user-select: none;
    margin-bottom: 0 !important;
}
.portal-avaliacao-stars .rating-stars label.star:hover,
.portal-avaliacao-stars .rating-stars label.star:hover ~ label.star,
.portal-avaliacao-stars .rating-stars input[type="radio"]:checked ~ label.star,
.portal-avaliacao-stars .rating-stars input[type="radio"]:checked + label.star {
    color: #ffc107;
}
.portal-avaliacao-comment {
    margin: 1.5rem 0;
    text-align: left;
}
.portal-avaliacao-comment textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ced4da;
    resize: vertical;
    min-height: 80px;
    transition: all 0.3s ease;
}
.portal-avaliacao-comment textarea:focus {
    outline: none;
    border-color: #667eea;
    background: white;
    box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}
.portal-avaliacao-actions {
    text-align: center;
    margin-top: 1.5rem;
}
.portal-avaliacao-ja-avaliado {
    text-align: center;
}
.portal-avaliacao-ja-avaliado .portal-avaliacao-icon {
    background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%)
}
/* Responsividade */
@media (max-width: 768px) {
    .portal-avaliacao-container {
        padding: 1rem;
    }
    .portal-avaliacao-header {
        flex-direction: column;
        text-align: center;
    }
    .portal-avaliacao-icon {
        margin-right: 0;
        margin-bottom: 0.5rem;
    }
    .portal-avaliacao-stars .rating-stars label.star {
        font-size: 2rem;
    }
    .portal-avaliacao-header {
        text-align: center;
        margin-right: 0;
    }
    .portal-avaliacao-actions .btn-avaliar {
        padding: 10px 25px;
        font-size: 13px;
    }
}
/* ========================================
   DEMONSTRATIVO DETALHE - ESTILOS ESPECÍFICOS
   ======================================== */
.demonstrativo-detalhe .hero-section {
    background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
    color: white;
    padding: 1.5rem 0;
    margin-bottom: 2rem;
}
.demonstrativo-detalhe .hero-content {
    text-align: center;
}
.demonstrativo-detalhe .hero-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin: 0 auto .5rem;
}
.demonstrativo-detalhe .hero-subtitle {
    font-size: 1rem;
    opacity: 0.9;
    margin-bottom: 1rem;
}
.demonstrativo-detalhe .hero-badges {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
.demonstrativo-detalhe .hero-badge {
    background: rgba(255,255,255,0.2);
    color: white;
    padding: 8px 16px;
    border-radius: 5px;
    font-size: 0.9em;
    font-weight: 500;
}
.demonstrativo-detalhe .hero-export-btn {
    background: rgba(255,255,255,0.9);
    color: #17a2b8;
    border: 2px solid rgba(255,255,255,0.3);
    padding: 8px 16px;
    border-radius: 5px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
    font-size: 0.9em;
    display: inline-flex;
    align-items: center;
}
.demonstrativo-detalhe .hero-export-btn:hover {
    background: white;
    color: #17a2b8;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    text-decoration: none;
}
.demonstrativo-detalhe .document-section {
    background: white;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    margin-bottom: 2rem;
    overflow: hidden;
}
.demonstrativo-detalhe .document-header {
    padding: 25px 15px 0px 30px;
}
.demonstrativo-detalhe .document-header h4 {
    margin: 0;
    color: #333;
    font-weight: 400;
    display: flex;
    align-items: center;
}
.demonstrativo-detalhe .document-header i {
    margin-right: 10px;
}
.demonstrativo-detalhe .document-body {
    padding: 30px;
}
.demonstrativo-detalhe .info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}
.demonstrativo-detalhe .info-item {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 5px;
    border-left: 4px solid #17a2b8;
}
.demonstrativo-detalhe .info-label {
    font-weight: 600;
    color: #495057;
    font-size: 0.9em;
    margin-bottom: 8px;
}
.demonstrativo-detalhe .info-value {
    color: #333;
    font-size: 1em;
}
.demonstrativo-detalhe .description-section {
    background: #f8f9fa;
    padding: 25px;
    margin-top: 20px;
}
.demonstrativo-detalhe .description-title {
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
}
.demonstrativo-detalhe .description-title i {
    margin-right: 8px;
    color: #17a2b8;
}
.demonstrativo-detalhe .description-content {
    color: #555;
    line-height: 1.6;
}
.demonstrativo-detalhe .arquivo-principal {
    background: linear-gradient(135deg, #17a2b8 0%, rgba(102, 126, 234, 0.8) 100%);
    color: white;
    padding: 30px;
    text-align: center;
    margin-top: 30px;
}
.demonstrativo-detalhe .arquivo-principal h5 {
    margin-bottom: 20px;
    font-weight: 600;
}
.demonstrativo-detalhe .btn-principal {
    background: rgba(255,255,255,0.2);
    color: white;
    border: 2px solid rgba(255,255,255,0.3);
    padding: 15px 30px;
    border-radius: 25px;
    font-size: 1.1em;
    font-weight: 600;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}
.demonstrativo-detalhe .btn-principal:hover {
    background: rgba(255,255,255,0.3);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
/* Estilos para a tabela de anexos com DataTables */
.demonstrativo-detalhe #tabelaAnexos th {
    background-color: #f8f9fa;
    border-top: none;
    font-weight: 600;
    color: #495057;
    padding: 12px 8px;
}
.demonstrativo-detalhe #tabelaAnexos td {
    padding: 12px 8px;
    vertical-align: middle;
}
.demonstrativo-detalhe .anexo-titulo strong {
    color: #333;
    font-size: 0.95em;
}
.demonstrativo-detalhe .anexo-titulo small {
    font-size: 0.8em;
    line-height: 1.3;
}
/* Link do título sem decoração */
.demonstrativo-detalhe .anexo-titulo-link {
    text-decoration: none !important;
    color: inherit;
}
.demonstrativo-detalhe .anexo-titulo-link:hover {
    text-decoration: none !important;
    color: inherit;
}
/* Margens para DataTables */
.demonstrativo-detalhe .dt-search {
    margin-bottom: .8rem !important;
}
.demonstrativo-detalhe .dt-info {
    margin-top: .8rem !important;
}
.demonstrativo-detalhe .dt-paging {
    margin-top: .8rem !important;
}
/* Badges */
.demonstrativo-detalhe .badge-light {
    background-color: #e9ecef;
    color: #495057;
    font-size: 0.8em;
}
/* Botões de ação */
.demonstrativo-detalhe #tabelaAnexos .btn-sm {
    padding: 6px 12px;
    font-size: 0.8em;
    white-space: nowrap;
}
.demonstrativo-detalhe .animated-card {
    transition: all 0.3s ease;
    transform: translateY(0);
}
.demonstrativo-detalhe .animated-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}
/* Animações para os cards de estatística */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}
.demonstrativo-detalhe .stat-item.animated-card {
    animation: fadeInUp 0.6s ease-out;
}
.demonstrativo-detalhe .stat-item.animated-card:nth-child(1) { animation-delay: 0.1s; }
.demonstrativo-detalhe .stat-item.animated-card:nth-child(2) { animation-delay: 0.2s; }
.demonstrativo-detalhe .stat-item.animated-card:nth-child(3) { animation-delay: 0.3s; }
.demonstrativo-detalhe .stat-item.animated-card:nth-child(4) { animation-delay: 0.4s; }
.demonstrativo-detalhe .stat-item.animated-card:hover .stat-value {
    animation: pulse 0.6s ease-in-out;
}
.demonstrativo-detalhe .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}
.demonstrativo-detalhe .stat-item {
    text-align: center;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 10px;
}
.demonstrativo-detalhe .stat-value {
    font-size: 2em;
    font-weight: 700;
    color: #17a2b8;
    margin-bottom: 5px;
}
.demonstrativo-detalhe .stat-label {
    color: #666;
    font-size: 0.9em;
}
/* Responsividade */
@media (max-width: 768px) {
    .demonstrativo-detalhe .hero-title {
        font-size: 2em;
    }
    .demonstrativo-detalhe .info-grid {
        grid-template-columns: 1fr;
    }
    .demonstrativo-detalhe .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .demonstrativo-detalhe #tabelaAnexos {
        font-size: 0.8em;
    }
    .demonstrativo-detalhe #tabelaAnexos th,
    .demonstrativo-detalhe #tabelaAnexos td {
        padding: 8px 4px;
    }
}
/* Tema da API Documentation */
.api-documentation h3 {
    color: #495057;
}
/* API Documentation Styles */
.api-documentation {
    margin-top: 2rem;
}
.api-documentation .api-header {
    padding: 2rem;
    margin-bottom: 2rem;
    border: 1px solid #dee2e6
}
.api-documentation .api-header h3 {
    color: #495057;
    margin: 0 0 1rem 0;
    font-size: 2rem;
    font-weight: 600;
}
.api-documentation .api-base-url {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: rgba(207, 207, 207, 0.2);
    padding: 1rem;
    backdrop-filter: blur(10px);
}
.api-documentation .api-base-url .label {
    font-weight: 500;
    opacity: 0.9;
}
.api-documentation .base-url {
    background: rgba(255,255,255,0.2);
    padding: 0.5rem 1rem;
    font-family: 'Courier New', monospace;
    flex: 1;
    margin: 0;
    color: #495057;
}
.api-documentation .btn-copy {
    background: rgba(255,255,255,0.2);
    border: none;
    color: white;
    padding: 0.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
}
.api-documentation .btn-copy:hover {
    background: rgba(255,255,255,0.3);
    transform: translateY(-2px);
}
.api-documentation .api-section {
    margin-bottom: 3rem;
}
.api-documentation .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #e9ecef;
}
.api-documentation .section-header h3 {
    margin: 0;
    color: #495057;
    font-size: 1.5rem;
    font-weight: 600;
}
.api-documentation .section-count {
    background: #6c757d;
    color: white;
    padding: 0.25rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
}
.api-documentation .endpoints-grid {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.api-documentation .endpoint-card {
    background: white;
    border: 1px solid #e9ecef;
    padding: 1.5rem;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: start;
}
.api-documentation .endpoint-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #17a2b8, #138496);
}
.api-documentation .endpoint-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.1);
    border-color: #17a2b8;
}
.api-documentation .endpoint-header {
    margin-bottom: 1rem;
}
.api-documentation .endpoint-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.5rem;
}
.api-documentation .endpoint-title h4 {
    margin: 0;
    color: #495057;
    font-size: 1.25rem;
    font-weight: 600;
    flex: 1;
}
.api-documentation .endpoint-badges {
    display: flex;
    gap: 0.5rem;
}
.api-documentation .endpoint-badges .badge {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
}
.api-documentation .endpoint-description p {
    color: #6c757d;
    margin-bottom: 0.75rem;
    line-height: 1.5;
}
.api-documentation .endpoint-notes {
    background: #e3f2fd;
    border-left: 4px solid #2196f3;
    padding: 0.75rem;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}
.api-documentation .endpoint-notes i {
    color: #2196f3;
    margin-top: 0.125rem;
}
.api-documentation .endpoint-notes span {
    color: #1976d2;
    font-size: 0.875rem;
    line-height: 1.4;
}
.api-documentation .endpoint-examples {
    margin: 1.5rem 0;
}
.api-documentation .endpoint-examples h5 {
    color: #495057;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 1rem;
}
.api-documentation .example-urls {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.api-documentation .url-example {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: #f8f9fa;
    padding: 0.75rem;
    border-radius: 2px;
    border: 1px solid #e9ecef;
}
.api-documentation .method {
    background: #28a745;
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    min-width: 40px;
    text-align: center;
}
.api-documentation .url-example code {
    flex: 1;
    background: none;
    padding: 0;
    font-family: 'Courier New', monospace;
    font-size: 0.875rem;
    color: #495057;
    word-break: break-all;
}
.api-documentation .btn-copy-small {
    background: #6c757d;
    border: none;
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 2px;
    cursor: pointer;
    font-size: 0.75rem;
    transition: all 0.3s ease;
}
.api-documentation .btn-copy-small:hover {
    background: #5a6268;
    transform: scale(1.05);
}
.api-documentation .endpoint-details {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
}
.api-documentation .details-section h6 {
    color: #495057;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}
.api-documentation .filters-list, .api-documentation .fields-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.api-documentation .filter-tag, .api-documentation .field-tag {
    background: #e9ecef;
    color: #495057;
    padding: 0.25rem 0.5rem;
    border-radius: 2px;
    font-size: 0.75rem;
    font-family: 'Courier New', monospace;
}
.api-documentation .no-filters {
    color: #6c757d;
    font-style: italic;
    font-size: 0.875rem;
}
/* Code Examples Styles */
.api-documentation .code-examples {
    margin-top: 3rem;
}
.api-documentation .examples-header {
    text-align: center;
    margin-bottom: 2rem;
}
.api-documentation .examples-header h3 {
    color: #495057;
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}
.api-documentation .examples-header p {
    color: #6c757d;
    font-size: 1.1rem;
}
.api-documentation .examples-grid {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.api-documentation .code-example-card {
    background: #2d3748;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    display: grid;
    grid-template-columns: 200px 1fr;
    min-height: 200px;
}
.api-documentation .code-example-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.15);
}
.api-documentation .code-header {
    background: #1a202c;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #4a5568;
    text-align: center;
}
.api-documentation .language-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    color: white;
    font-weight: 600;
}
.api-documentation .language-info i {
    font-size: 1.25rem;
}
.api-documentation .btn-copy-code {
    background: #4a5568;
    border: none;
    color: white;
    padding: 0.5rem;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 1rem;
}
.api-documentation .btn-copy-code:hover {
    background: #2d3748;
    transform: scale(1.05);
}
.api-documentation .code-content {
    display: flex;
    align-items: center;
    padding: 1.5rem;
}
.api-documentation .code-example-card pre {
    margin: 0;
    background: #2d3748;
    overflow: visible;
    white-space: pre-wrap;
    word-wrap: break-word;
    width: 100%;
}
.api-documentation .code-example-card code {
    color: #e2e8f0;
    font-family: 'Courier New', monospace;
    font-size: 0.875rem;
    line-height: 1.5;
}
/* Responsive */
@media (max-width: 768px) {
    .api-documentation .endpoint-card {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .api-documentation .code-example-card {
        grid-template-columns: 1fr;
    }
    .api-documentation .code-header {
        border-right: none;
        border-bottom: 1px solid #4a5568;
    }
    .api-base-url {
        flex-direction: column;
        align-items: stretch;
    }
    .api-documentation .endpoint-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}
/* Animation */
@keyframes fadeInUpApiDocumentation {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes slideInRightApiDocumentation {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}
@keyframes slideOutRightApiDocumentation {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}
.api-documentation .endpoint-card {
    animation: fadeInUpApiDocumentation 0.6s ease-out;
}
.api-documentation .code-example-card {
    animation: fadeInUpApiDocumentation 0.6s ease-out;
}
.api-documentation .api-endpoint {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    padding: 15px;
    margin: 10px 0;
}
.api-documentation .api-endpoint h4 {
    color: #007bff;
    margin-bottom: 10px;
}
.api-documentation .api-url {
    background: #e9ecef;
    padding: 8px;
    border-radius: 3px;
    font-family: monospace;
    font-size: 14px;
    margin: 5px 0;
}
.api-documentation .format-badge {
    display: inline-block;
    padding: 3px 8px;
    background: #28a745;
    color: white;
    border-radius: 3px;
    font-size: 12px;
    margin: 2px;
}
/* Radar da Transparência Pública */
.radar-transparencia-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin: 1rem 0;
}
.radar-transparencia-card-item {
    background: #f8f9fa;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.radar-transparencia-card-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.radar-transparencia-card-link {
    display: flex;
    align-items: center;
    padding: 1.5rem;
    text-decoration: none;
    color: inherit;
    height: 100%;
}
.radar-transparencia-card-link:hover {
    text-decoration: none;
    color: inherit;
}
.radar-transparencia-card-icon {
    font-size: 2rem;
    color: #495057;
    margin-right: 1rem;
    flex-shrink: 0;
}
.radar-transparencia-card-content h6 {
    color: #495057;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    font-size: 1.1rem;
}
.radar-transparencia-card-content p {
    color: #6c757d;
    font-size: 0.95rem;
    margin: 0;
    line-height: 1.4;
}
/* Responsividade */
@media (max-width: 768px) {
    .radar-transparencia-cards {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    .radar-transparencia-card-link {
        padding: 1.25rem;
    }
    .radar-transparencia-card-icon {
        font-size: 1.75rem;
        margin-right: 0.75rem;
    }
    .radar-transparencia-card-content h6 {
        font-size: 1rem;
    }
    .radar-transparencia-card-content p {
        font-size: 0.9rem;
    }
}
@media (max-width: 576px) {
    .radar-transparencia-card-link {
        padding: 1rem;
    }
    .radar-transparencia-card-icon {
        font-size: 1.5rem;
        margin-right: 0.75rem;
    }
    .radar-transparencia-card-content h6 {
        font-size: 0.95rem;
    }
    .radar-transparencia-card-content p {
        font-size: 0.85rem;
    }
}/* === SIC Sigilo Page === */
.sic-sigilo-section {
    background: #ffffff;
    border: 1px solid #d9eef4;
    border-radius: 18px;
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: 0 18px 40px rgba(28, 147, 167, 0.08);
}
.sic-sigilo-section-header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
}
.sic-sigilo-section-header h3 {
    margin: 0;
    font-weight: 700;
    color: #155b6a;
}
.sic-sigilo-section-header p {
    margin: 0;
    color: #43727a;
}
.sic-sigilo-section-icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: linear-gradient(135deg, #71d8f0 0%, #1c93a7 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.65rem;
    box-shadow: 0 12px 28px rgba(28, 147, 167, 0.25);
}
.sic-sigilo-indicator-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
    margin-bottom: 1.75rem;
}
.sic-sigilo-indicator-grid.compact {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.sic-sigilo-indicator {
    background: linear-gradient(135deg, #f4fbfe 0%, #ddeff6 100%);
    border: 1px solid #c8e7f1;
    border-radius: 16px;
    padding: 1.35rem 1.6rem;
    box-shadow: 0 12px 26px rgba(28, 147, 167, 0.09);
    display: flex;
    flex-direction: column;
    min-height: 150px;
}
.sic-sigilo-indicator-title {
    font-weight: 600;
    text-transform: uppercase;
    color: #1c5865;
    font-size: 0.92rem;
    letter-spacing: 0.03em;
    margin-bottom: 0.6rem;
}
.sic-sigilo-indicator-value {
    font-size: 2rem;
    font-weight: 700;
    color: #0f3a45;
    margin-bottom: 0.4rem;
}
.sic-sigilo-indicator-subtitle {
    color: #3f6670;
    font-size: 0.85rem;
    line-height: 1.4;
}
.sic-sigilo-indicator-badge {
    margin: 0.35rem 0 0.5rem;
    align-self: flex-start;
}
.sic-sigilo-card {
    border: 1px solid #dbe7ec;
    border-radius: 16px;
    margin-bottom: 1.75rem;
    overflow: hidden;
}
.sic-sigilo-card-header {
    background: linear-gradient(135deg, #eef8fb 0%, #e0f1f7 100%);
    padding: 1.15rem 1.6rem;
    border-bottom: 1px solid #d4e7ef;
}
.sic-sigilo-card-header h4 {
    margin: 0;
    font-weight: 600;
    color: #155b6a;
}
.sic-sigilo-card-body {
    background: #ffffff;
    padding: 1.5rem;
}
.sic-sigilo-alert {
    border-radius: 12px;
    border-color: #bde3ee;
    background: #eff9fc;
    color: #296b79;
}
.sic-sigilo-accordion {
    border: 1px solid #dbe7ec;
    border-radius: 14px;
    margin-bottom: 1rem;
    box-shadow: 0 6px 18px rgba(17, 84, 96, 0.08);
}
.sic-sigilo-accordion-header {
    background: #f5fbfd;
    border-bottom: 1px solid #dbe7ec;
}
.sic-sigilo-accordion-header .btn-link {
    color: #1c5865;
    font-weight: 600;
}
.sic-sigilo-accordion .card-body {
    background: #ffffff;
}
.sic-sigilo-observacao {
    border-radius: 12px;
    background: #fff8e6;
    border-color: #f5d48f;
    color: #8a6220;
}
@media (max-width: 576px) {
    .sic-sigilo-section {
        padding: 1.35rem;
        border-radius: 14px;
    }
    .sic-sigilo-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    .sic-sigilo-section-icon {
        width: 56px;
        height: 56px;
        font-size: 1.4rem;
    }
    .sic-sigilo-indicator {
        min-height: auto;
        padding: 1.1rem 1.25rem;
    }
}
.sic-sigilo-title {
    font-size: 1.5rem;
    font-weight: 600;
}
.sic-sigilo-section-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.sic-sigilo-section-title {
    font-size: 1.25rem;
    font-weight: 600;
}
.sic-sigilo-alert {
    border-radius: 10px;
    border: 1px solid #d7e3f9;
    background: #f3f8ff;
    color: #1a3d6d;
    padding: 0.875rem 1.25rem;
    font-size: .95rem;
}
.sic-sigilo-indicador.card {
    border-radius: 14px;
    border: 1px solid #edf2f7;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}
.sic-sigilo-indicador-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #eef4ff;
    color: #2f80ed;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}
.sic-sigilo-indicador .card-body {
    padding: 1.2rem 1.3rem;
}
.sic-sigilo-timeline {
    position: relative;
    border-left: 2px solid #e2e8f0;
    margin-top: 1.5rem;
    padding-left: 1.5rem;
}
.sic-sigilo-timeline-item {
    position: relative;
    margin-bottom: 1.5rem;
    padding-left: 0.5rem;
}
.sic-sigilo-timeline-icon {
    position: absolute;
    left: -1.3rem;
    top: 0.15rem;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #edf2ff;
    color: #2f80ed;
    font-size: 0.9rem;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.1);
}
.sic-sigilo-timeline-content {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
}
.sic-sigilo-timeline-item.timeline-warning .sic-sigilo-timeline-icon {
    background: rgba(255, 193, 7, 0.15);
    color: #d97706;
}
.sic-sigilo-timeline-item.timeline-info .sic-sigilo-timeline-icon {
    background: rgba(14, 165, 233, 0.15);
    color: #0ea5e9;
}
.sic-sigilo-timeline-item.timeline-success .sic-sigilo-timeline-icon {
    background: rgba(34, 197, 94, 0.15);
    color: #16a34a;
}
.sic-sigilo-timeline-item.timeline-neutral .sic-sigilo-timeline-icon {
    background: rgba(148, 163, 184, 0.2);
    color: #475569;
}
.sic-sigilo-timeline-content h6 {
    font-size: 1rem;
    font-weight: 600;
    color: #1f2937;
}
.sic-sigilo-timeline-content p {
    font-size: .95rem;
    color: #475569;
}
.sic-sigilo-timeline-content small {
    color: #6b7280;
}
.sic-sigilo-timeline::before {
    content: '';
    position: absolute;
    left: -2px;
    top: -15px;
    bottom: -15px;
    border-left: 2px solid #e2e8f0;
}
.collapse-toggle {
    color: #1a365d;
}
.collapse-toggle:hover {
    text-decoration: none;
}
.collapse-toggle i {
    transition: transform .2s ease;
}
.collapse-toggle.collapsed i {
    transform: rotate(180deg);
}
@media (max-width: 768px) {
    .sic-sigilo-timeline {
        padding-left: 1.25rem;
    }
    .sic-sigilo-timeline-icon {
        left: -1.6rem;
    }
}
.btn-green {
    background: #72bf48;
    border-color: #72bf48;
}
.btn-green:hover {
    background: #72bf48;
    border-color: #72bf48;
    opacity: 0.9;
}
.btn-green:focus,
.btn-green.focus {
    background: #72bf48;
    border-color: #72bf48;
}
.btn-outline-green {
    color: #72bf48;
    border-color: #72bf48;
}
.btn-outline-green:hover {
    background: #72bf48;
    border-color: #72bf48;
    color: white;
}
.btn-outline-green:focus,
.btn-outline-green.focus {
    box-shadow: 0 0 0 0.2rem rgba(28, 147, 167, 0.5);
}
/* ===== NOTÍCIAS INDEX - FEEDBACK VISUAL ===== */
/* Transições suaves em elementos interativos */
.noticias-index-feedback .card-producao .card,
.noticias-index-feedback .btn,
.noticias-index-feedback .badge,
.noticias-index-feedback .form-control,
.noticias-index-feedback .page-link {
	transition: all 0.3s ease;
}
/* Estados hover mais visíveis em cards */
.noticias-index-feedback .card-producao .card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 16px rgba(0,0,0,0.15) !important;
}
/* Garantir que título NÃO mude de cor no hover - sobrescreve estilos globais */
.noticias-index-feedback .card-producao .card-title a,
.noticias-index-feedback .card-producao .card-title a:hover,
.noticias-index-feedback .card-producao .card:hover .card-title a,
.noticias-index-feedback .card-producao:hover .card-title a {
	color: inherit !important;
	transition: none !important;
}
/* Estados hover em botões */
.noticias-index-feedback .btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.noticias-index-feedback .btn:active {
	transform: translateY(0);
}
/* Feedback visual no botão pesquisar */
.noticias-index-feedback #btn-pesquisar-noticias:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}
.noticias-index-feedback #btn-pesquisar-noticias:not(:disabled):hover {
	background-color: #0056b3;
	border-color: #0056b3;
}
/* Indicadores visuais de filtros ativos */
.noticias-index-feedback .badge-info {
	transition: all 0.2s ease;
}
.noticias-index-feedback .badge-info:hover {
	background-color: #138496 !important;
	transform: scale(1.05);
}
/* Melhor contraste e estados de foco */
.noticias-index-feedback .form-control:focus {
	border-color: #80bdff;
	box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
	transform: scale(1.01);
	outline: 2px solid #0056b3;
	outline-offset: 2px;
}
.noticias-index-feedback .page-link:focus {
	box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
	outline: 2px solid #0056b3;
	outline-offset: 2px;
}
.noticias-index-feedback .btn:focus {
	outline: 2px solid #0056b3;
	outline-offset: 2px;
}
/* Foco visível em todos os elementos interativos */
.noticias-index-feedback a:focus,
.noticias-index-feedback button:focus,
.noticias-index-feedback select:focus,
.noticias-index-feedback input:focus,
.noticias-index-feedback textarea:focus {
	outline: 2px solid #0056b3;
	outline-offset: 2px;
}
/* Remover outline apenas no hover (não no foco) */
.noticias-index-feedback .card-producao a:hover {
	outline: none;
}
/* Links em cards */
.noticias-index-feedback .card-producao a {
	transition: color 0.2s ease;
}
.noticias-index-feedback .card-producao a:hover {
	text-decoration: none;
}
/* Badges de filtro ativo com animação */
.noticias-index-feedback .badge-info i.fa-times {
	transition: transform 0.2s ease;
}
.noticias-index-feedback .badge-info:hover i.fa-times {
	transform: rotate(90deg);
}
/* Select com feedback visual */
.noticias-index-feedback select.form-control:focus {
	background-color: #fff;
}
/* Cards de notícias com hover suave */
.noticias-index-feedback .card-producao .card-img-top {
	transition: transform 0.3s ease;
}
.noticias-index-feedback .card-producao:hover .card-img-top {
	transform: scale(1.05);
}
/* Botão "Leia mais" com feedback */
.noticias-index-feedback .btn-outline-danger:hover {
	background-color: #dc3545;
	border-color: #dc3545;
	color: #fff;
}
/* Responsividade para formulário de busca em telas menores */
@media (max-width: 991.98px) {
	.noticias-index-feedback #form-filtros-noticias .row.align-items-end {
		flex-direction: column;
	}
	.noticias-index-feedback #form-filtros-noticias .col-lg-9,
	.noticias-index-feedback #form-filtros-noticias .col-lg-3 {
		width: 100%;
		max-width: 100%;
		margin-bottom: 1rem;
	}
	.noticias-index-feedback #form-filtros-noticias .col-lg-3:last-child {
		margin-bottom: 0;
	}
}
@media (max-width: 767.98px) {
	.noticias-index-feedback #form-filtros-noticias .col-md-6 {
		width: 100%;
		max-width: 100%;
	}
	.noticias-index-feedback #form-filtros-noticias label {
		font-size: 0.9rem;
		margin-bottom: 0.5rem;
	}
	.noticias-index-feedback #form-filtros-noticias .form-control {
		font-size: 0.9rem;
	}
	.noticias-index-feedback #form-filtros-noticias .btn-group {
		width: 100%;
	}
	.noticias-index-feedback #form-filtros-noticias .btn-group .btn {
		flex: 1;
	}
}
@media (max-width: 575.98px) {
	.noticias-index-feedback #form-filtros-noticias {
		padding: 0.75rem;
	}
	.noticias-index-feedback #form-filtros-noticias .mb-2 {
		margin-bottom: 0.75rem !important;
	}
	.noticias-index-feedback #form-filtros-noticias label {
		font-size: 0.85rem;
	}
	.noticias-index-feedback #form-filtros-noticias .form-control {
		font-size: 0.85rem;
		padding: 0.5rem;
	}
	.noticias-index-feedback #form-filtros-noticias .btn {
		font-size: 0.9rem;
		padding: 0.5rem 1rem;
	}
}
/* ============================================
   HUB TV CÂMARA - ESTILOS ESPECÍFICOS
   Todas as classes com prefixo 'hub-' para evitar conflitos
   IMPORTANTE: Usar !important quando necessário para garantir especificidade
   ============================================ */
/* CARDS DE FALAS DOS VEREADORES */
.hub-card-fala {
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	border: 1px solid #e9ecef !important;
}
.hub-card-fala:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}
/* CARDS DE TRANSMISSÃO MELHORADOS */
.hub-card-transmissao {
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    border: none !important;
}
.hub-card-transmissao:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}
.hub-card-transmissao .card-header {
    border-bottom: 2px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 0 !important;
}
.hub-card-transmissao .card-title a {
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.hub-card-transmissao .card-title a:hover {
    color: #17a2b8 !important;
}
.hub-card-transmissao .btn-info {
    border-radius: 0 !important;
}
/* SISTEMA DE ABAS */
.hub-tabs {
    border-bottom: 2px solid #dee2e6;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
/* Em mobile, garantir que as abas quebrem sem criar scroll horizontal */
@media (max-width: 768px) {
    .hub-tabs {
        flex-wrap: wrap;
        overflow-y: visible;
    }
    .hub-tabs .nav-item {
        flex: 1 1 calc(50% - 0.125rem);
        min-width: 0;
        max-width: calc(50% - 0.125rem);
    }
    /* Se houver 5 abas, a última ocupa toda a largura */
    .hub-tabs .nav-item:nth-child(5) {
        flex: 1 1 100%;
        max-width: 100%;
    }
    .hub-tabs .hub-tab-link {
        width: 100%;
        text-align: center;
        padding: 0.75rem 0.5rem;
        font-size: 0.875rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
/* Em telas maiores, manter comportamento normal */
@media (min-width: 769px) {
    .hub-tabs {
        flex-wrap: nowrap;
    }
    
    .hub-tabs .nav-item {
        flex: 0 0 auto;
    }
}
/* Classe específica para evitar interferência do base.css */
.hub-tabs .hub-tab-link {
    color: #6c757d !important;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 0.75rem 1.5rem;
    transition: all 0.3s ease;
    margin-right: 0.25rem;
    border-radius: 0.25rem 0.25rem 0 0;
    position: relative;
    background-color: transparent !important;
}
.hub-tabs .hub-tab-link::before {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    right: 0;
    height: 3px;
    background-color: #17a2b8;
    transform: scaleX(0);
    transition: transform 0.3s ease;
    transform-origin: left;
}
.hub-tabs .hub-tab-link:hover {
    color: #6c757d !important;
    text-decoration: none;
    transform: translateY(-2px);
    background-color: transparent !important;
}
.hub-tabs .hub-tab-link:hover::before {
    transform: scaleX(1);
}
.hub-tabs .hub-tab-link.active {
    color: #17a2b8 !important;
    border-bottom-color: #17a2b8;
    background-color: transparent !important;
}
.hub-tabs .hub-tab-link.active:hover {
    color: #17a2b8 !important;
    background-color: transparent !important;
    transform: translateY(-2px);
    border-bottom-color: #17a2b8;
}
.hub-tab-content {
    padding-top: 1rem;
}
/* Agenda */
.hub-agenda-plenario {
    background-color: #fff;
    padding: 1rem;
    border-radius: 0.25rem;
}
/* ESTATÍSTICAS - HUB TV CÂMARA */
.hub-stat-item {
    padding: 1rem !important;
    transition: transform 0.2s ease !important;
}
.hub-stat-item:hover {
    transform: translateY(-5px) !important;
}
.hub-stat-icon {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    color: white !important;
    font-size: 1.5rem !important;
}
.hub-stat-item h3 {
    margin: 0 !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
}
.hub-stat-item small {
    font-size: 0.875rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.hub-stat-period {
    padding: 0.5rem !important;
    border-radius: 0.25rem !important;
    transition: background-color 0.2s ease !important;
}
.hub-stat-period:hover {
    background-color: #f8f9fa !important;
}
/* Progress bar para distribuição */
.hub-stat-period .progress {
    border-radius: 0.5rem;
    overflow: hidden;
}
.hub-stat-period .progress-bar {
    font-size: 0.75rem;
    line-height: 25px;
    font-weight: 600;
}
/* Espaçamento entre colunas de estatísticas */
.hub-estatisticas-row {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}
.hub-estatisticas-col {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}
@media (min-width: 768px) {
    .hub-estatisticas-row {
        margin-left: -0.75rem;
        margin-right: -0.75rem;
    }
    .hub-estatisticas-col {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
}
/* Responsividade para Estatísticas em Mobile */
@media (max-width: 768px) {
    /* Ajustar cards de estatísticas em mobile */
    .hub-stat-item {
        padding: 0.75rem;
    }
    .hub-stat-icon {
        width: 50px;
        height: 50px;
        font-size: 1.25rem;
    }
    .hub-stat-item h3 {
        font-size: 1.5rem;
    }
    .hub-stat-item small {
        font-size: 0.75rem;
    }
    /* Ajustar estatísticas do YouTube em mobile */
    .hub-card-body .row.text-center .col-4 {
        margin-bottom: 1rem !important;
    }
    .hub-card-body .row.text-center .col-4 .hub-stat-item h3 {
        font-size: 1.25rem;
    }
    /* Melhorar espaçamento dos cards em mobile */
    .hub-container-fluid.hub-lista-producoes .row .col-12 .row .col-12,
    .hub-container-fluid.hub-lista-producoes .row .col-12 .row .col-md-6 {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    /* Ajustar título da seção em mobile */
    .hub-container-fluid.hub-lista-producoes h4 {
        font-size: 1.25rem;
        margin: 1.5rem 0 !important;
    }
    /* Melhorar list-group em mobile */
    .hub-list-group-item h6 {
        font-size: 0.875rem;
        line-height: 1.4;
    }
    .hub-list-group-item p {
        font-size: 0.75rem;
    }
}
/* BADGES DINÂMICOS */
.hub-badge-ao-vivo {
    animation: hub-pulse 2s infinite;
}
@keyframes hub-pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}
/* LOADING STATES */
.hub-skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: hub-loading 1.5s infinite;
    border-radius: 4px;
}
@keyframes hub-loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}
.hub-skeleton-text {
    height: 1rem;
    margin-bottom: 0.5rem;
}
.hub-skeleton-title {
    height: 1.5rem;
    width: 60%;
    margin-bottom: 1rem;
}
.hub-skeleton-card {
    padding: 1.5rem;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    margin-bottom: 1rem;
}
/* EMPTY STATES */
.hub-empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: #6c757d;
}
.hub-empty-state i {
    font-size: 4rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}
.hub-empty-state h4 {
    color: #495057;
    margin-bottom: 0.5rem;
}
.hub-empty-state p {
    margin-bottom: 0;
}
/* BUSCA RÁPIDA */
.hub-busca-rapida {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
}
.hub-busca-rapida h5 {
    color: white;
    margin-bottom: 1rem;
}
.hub-busca-rapida .btn {
    margin: 0.25rem;
    border-color: rgba(255, 255, 255, 0.3);
    color: white;
}
.hub-busca-rapida .btn:hover {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
}
/* RESPONSIVIDADE */
@media (max-width: 768px) {
    .hub-tabs .nav-link {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
    .hub-stat-item h3 {
        font-size: 1.5rem;
    }
    .hub-card-transmissao {
        margin-bottom: 1rem;
    }
}
@media (max-width: 576px) {
    .hub-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .hub-tabs .nav {
        flex-wrap: nowrap;
        min-width: max-content;
    }
    .hub-tabs .nav-link {
        white-space: nowrap;
    }
}
/* ANIMAÇÕES */
.hub-fade-in {
    animation: hub-fadeIn 0.5s ease-in;
}
@keyframes hub-fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* INTEGRAÇÃO YOUTUBE */
.hub-youtube-stats {
    font-size: 0.875rem;
    color: #6c757d;
}
.hub-youtube-stats i {
    margin-right: 0.25rem;
}
/* HERO SECTION - TRANSMISSÃO AO VIVO */
.hub-hero-transmissao {
    background: #f8f9fa !important;
    color: #212529 !important;
    padding: 1.75rem 2rem !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid #e9ecef !important;
    /*border-left: 4px solid #17a2b8 !important;*/
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0.25rem !important;
}
.hub-hero-content {
    position: relative !important;
    z-index: 1 !important;
}
.hub-hero-header {
    display: flex !important;
    align-items: flex-start !important;
    gap: 1rem !important;
    margin-bottom: 1rem !important;
}
.hub-hero-icon {
    flex-shrink: 0 !important;
    width: 48px !important;
    height: 48px !important;
    background: #17a2b8 !important;
    color: white !important;
    border-radius: 0.5rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.25rem !important;
}
.hub-hero-title-section {
    flex: 1 !important;
    min-width: 0 !important;
}
.hub-hero-title {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 0 0 0.5rem 0 !important;
    color: #212529 !important;
}
.hub-hero-meta {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    font-size: 0.875rem !important;
    color: #6c757d !important;
}
.hub-hero-meta-item {
    display: flex !important;
    align-items: center !important;
    gap: 0.375rem !important;
}
.hub-hero-meta-separator {
    margin: 0 0.25rem !important;
    color: #adb5bd !important;
}
.hub-hero-meta i {
    font-size: 0.75rem !important;
    color: #6c757d !important;
}
.hub-hero-description {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    margin-bottom: 1.25rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid #dee2e6 !important;
    color: #495057 !important;
}
.hub-hero-actions {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    flex-wrap: wrap !important;
}
.hub-badge-ao-vivo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    border: 1px solid rgba(220, 53, 69, 0.8) !important;
    color: #ff2d43 !important;
    padding: 0.5rem 0.875rem !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    position: relative !important;
    backdrop-filter: blur(10px) !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    background: rgba(255, 255, 255, 0.1) !important;
}
.hub-badge-pulse {
    width: 8px;
    height: 8px;
    background: #dc3545;
    border-radius: 50%;
    animation: hub-pulse-ao-vivo 2s infinite;
}
@keyframes hub-pulse-ao-vivo {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.5;
        transform: scale(1.2);
    }
}
.hub-btn-assistir {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background: #17a2b8 !important;
    color: white !important;
    padding: 0.5rem 1.25rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(23, 162, 184, 0.2) !important;
    border: none !important;
}
.hub-btn-assistir:hover {
    background: #138496 !important;
    color: white !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(23, 162, 184, 0.3) !important;
    text-decoration: none !important;
}
.hub-btn-assistir:active {
    transform: translateY(0);
}
.hub-btn-assistir i {
    font-size: 0.75rem;
}
/* Responsividade Hero */
@media (max-width: 768px) {
    .hub-hero-transmissao {
        padding: 1.5rem;
    }
    .hub-hero-title {
        font-size: 1.25rem;
    }
    .hub-hero-header {
        flex-direction: column;
        gap: 0.75rem;
    }
    .hub-hero-icon {
        width: 40px;
        height: 40px;
        font-size: 1.1rem;
    }
    .hub-hero-actions {
        flex-direction: column;
        width: 100%;
    }
    .hub-btn-assistir {
        width: 100%;
        justify-content: center;
    }
}
/* Estilos personalizados para o glossário */
.item-glossario {
    transition: all 0.3s ease;
}
.item-glossario:hover {
    transform: translateY(-2px);
}
.item-glossario .card-header button:hover {
    color: #007bff !important;
}
.item-glossario .card-header button:focus {
    outline: none;
    box-shadow: none;
}
.item-glossario .card-body {
    font-size: 1rem;
}
@media (max-width: 768px) {
    .item-glossario .card-header button {
        font-size: 1rem !important;
    }
    .item-glossario .card-body {
        padding: 1rem !important;
    }
}
/* ========================================
   OTIMIZAÇÃO BARRA DE PESQUISA - Navbar
   Apenas ajuste de largura por breakpoint
   ======================================== */
/* Telas extra grandes (1920px+) */
@media (min-width: 1920px) {
    .navbar-js .navbar-barra-pesquisa .input-group {
        width: 500px !important;
    }
}
/* Telas grandes (1400px - 1919px) */
@media (min-width: 1400px) and (max-width: 1919px) {
    .navbar-js .navbar-barra-pesquisa .input-group {
        width: 380px !important;
    }
}