/* ===============================
   layout2026.css
   Base moderna para PF4
   =============================== */

html, body{
    margin:0;
    padding:0;
}


:root{
    --layout-bg:#E6EBFB;
    --sidebar-bg:white;
    --sidebar-border:#E5E7EB;
    --content-bg:#E6EBFB;
    --card-bg:#ffffff;
    --text-color:#374151;
    --text-muted:#6B7280;
    --primary:#009835;
    --primary-soft:#E9F7EF;
    --radius:12px;
    --shadow-sm:0 1px 3px rgba(0,0,0,0.08);
    --shadow-md:0 4px 12px rgba(0,0,0,0.08);
    --sidebar-width:270px;
    --topbar-height:35px;
}

/* ===============================
   BODY
   =============================== */

body{
    background:var(--layout-bg);
    color:var(--text-color);
}

/* ===============================
   LAYOUT
   =============================== */

#layout{
    min-height:100vh;
}

#sidebar{
    position: fixed;
    top: 0;
    left: 0;
    width: var(--sidebar-width);
    height: 100vh;
    overflow-y: auto;
    background-color: white !important;
    border-right: 1px solid var(--sidebar-border);
    box-shadow: var(--shadow-sm);
    z-index: 900;
}

#main{
    margin-left:var(--sidebar-width);
    min-height:100vh;
    background:var(--content-bg) !important;
}

.layout2026-content{
    padding:1rem 1.25rem;
}

/* ===============================
   CARD PADRÃO
   =============================== */

.layout2026-card{
    background:var(--card-bg);
    border-radius:var(--radius);
    border:1px solid #ECEFF3;
    box-shadow:var(--shadow-sm);
    padding:1rem;
    margin-bottom:1rem;
}

/* ===============================
   MENU LATERAL (HTML)
   =============================== */

.layout2026-menu{
    display:flex;
    flex-direction:column;
    padding:10px;
    gap:4px;
    background-color:white !important;
}

/* item */
.menu-item{
    display:flex;
    align-items:center;
    gap:12px;

    padding:10px 14px;
    border-radius:8px;

    font-size:14px;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;

    text-decoration:none;

    color:#111827 !important;

    transition:all .2s ease;
}

/* ícone */
.menu-item i{
    width:18px;
    text-align:center;
    color:#9A99F2 !important;
    font-size:16px;
}

/* texto */
.menu-item span{
    color:#111827 !important;
    font-weight:500;
}

/* hover */
.menu-item:hover{
    background:#F3F4F6;
}

/* item ativo */
.menu-active{
    background:var(--primary-soft) !important;
    font-weight:600;
}

.menu-active span{
    color:var(--primary) !important;
}

.menu-active i{
    color:var(--primary) !important;
}

/* ===============================
   BOTÕES PRIMEFACES
   =============================== */

.ui-button{
    border-radius:8px;
    box-shadow:none;
}

.btconfirma{
    background:var(--primary);
    border:none;
    color:#fff;
}

.btconfirma:hover{
    background:#00b548;
}

.btcancelar{
    background:#f3f4f6;
    border:none;
}

/* ===============================
   INPUTS
   =============================== */

.ui-inputfield{
    border-radius:8px;
    border:1px solid #D1D5DB;
    padding:.55rem .65rem;
}

.ui-inputfield:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 1px var(--primary-soft);
}

/* ===============================
   TABVIEW
   =============================== */

.ui-tabs{
    border:none;
}

.ui-tabs-nav{
    background:transparent;
    border:none;
}

.ui-tabs-selected{
    border-bottom:3px solid var(--primary);
}

/* ===============================
   DATATABLE
   =============================== */

.ui-datatable{
    border:none;
}

.ui-datatable thead th{
    background:#F9FAFB;
    border-bottom:1px solid #E5E7EB;
    font-weight:600;
}

.ui-datatable tbody tr{
    border-bottom:1px solid #F1F5F9;
}

.ui-datatable tbody tr:hover{
    background:#F9FAFB;
}

/* ===============================
   RESPONSIVO
   =============================== */

@media (max-width:900px){

    #sidebar{
        display:none;
    }

    #main{
        margin-left:0;
    }

}

/* ===============================
   FONT AWESOME
   =============================== */

.fa{
    font-family:"Font Awesome 6 Free";
    font-weight:900;
}

/* Font Awesome em p:commandButton do PrimeFaces 4 */
.ui-button-icon-left.fa-solid,
.ui-button-icon-right.fa-solid,
.ui-button-icon-left.fa,
.ui-button-icon-right.fa {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    text-indent: 0 !important;
    background-image: none !important;
    width: auto !important;
    height: auto !important;
    margin-top: -0.5em !important;
}

.ui-button-text-icon-left .ui-button-text,
.ui-button-text-icon-right .ui-button-text {
    padding-top: .4em !important;
    padding-bottom: .4em !important;
}

/* ===============================
   FOOTER / RODAPÉ 2026
   =============================== */

.layout2026-footer{
    background: transparent !important;
    border: none !important;
    margin-top: 0 !important;
    padding: 1.25rem 1.25rem 2rem 1.25rem;
}

.layout2026-footer-container{
    max-width: 1200px;
    margin: 0 auto;
}

.layout2026-footer-header{
    text-align: center;
    margin-bottom: 1.75rem;
}

.layout2026-footer-heading{
    font-family: "Inter","Segoe UI",Arial,sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #64748B !important;
    letter-spacing: .1px;
}

.layout2026-footer-grid{
    align-items: flex-start;
}

.layout2026-footer-item{
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.layout2026-footer-item-icon{
    width: 48px;
    height: 48px;
    min-width: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;
    background: #EEF0FF;
}

.layout2026-footer-item-body{
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 0;
}

/* ===============================
   TEXTO PADRÃO DO RODAPÉ
   =============================== */

.txRodape{
    font-family: "Inter","Segoe UI",Arial,sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #64748B !important;
    font-weight: 400 !important;
}

.txRodapeTitulo{
    font-family: "Inter","Segoe UI",Arial,sans-serif !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    color: #334155 !important;
}

/* ícones do rodapé */
.layout2026-rodape-icone{
    color: #5557CD !important;
    font-size: 20px !important;
}

/* responsivo */
@media (max-width: 768px){
    .layout2026-footer{
        padding: 1rem 1rem 1.5rem 1rem;
    }

    .layout2026-footer-header{
        margin-bottom: 1.25rem;
    }

    .layout2026-footer-item{
        gap: .85rem;
        margin-bottom: 1rem;
    }

    .layout2026-footer-item-icon{
        width: 42px;
        height: 42px;
        min-width: 42px;
        border-radius: 12px;
    }

    .layout2026-rodape-icone{
        font-size: 18px !important;
    }

    .txRodape,
    .txRodapeTitulo{
        font-size: 13px !important;
    }
}

/* ===============================
   TIPOGRAFIA DE TÍTULOS
   =============================== */

.layout2026-title,
.layout2026-h1,
.layout2026-h2,
.layout2026-h3{
    font-family:"Inter","Segoe UI",Arial,sans-serif;
    color:#64748B !important;
    font-weight:600;
    margin:0;
}

/* Título principal da página */
.layout2026-h1{
    font-size:26px;
    margin-bottom:14px;
}

/* Subtítulo grande */
.layout2026-h2{
    font-size:20px;
    margin-bottom:10px;
}

/* Subtítulo menor */
.layout2026-h3{
    font-size:16px;
    margin-bottom:8px;
}

/* título padrão para cards */
.layout2026-title{
    font-size:18px;
}

/* ===============================
   TIPOGRAFIA GLOBAL
   =============================== */

body{
    font-family:"Inter","Segoe UI",Arial,sans-serif;
}

/* ===============================
   TÍTULOS PADRÃO DO SISTEMA
   =============================== */

h1,h2,h3{
    font-family:"Inter","Segoe UI",Arial,sans-serif !important;
    color:#334155 !important;
    font-weight:600 !important;
    margin:0;
    letter-spacing:.2px;

    text-decoration:none !important;
    border-bottom:none !important;
}

/* garantir que nenhum filho herde underline */
h1 *, h2 *, h3 *{
    text-decoration:none !important;
    border-bottom:none !important;
}

/* garantir que links dentro de títulos também não sublinhem */
h1 a, h2 a, h3 a{
    text-decoration:none !important;
}

/* título principal da página */
h1{
    font-size:26px;
    margin-bottom:14px;
}

/* subtítulo */
h2{
    font-size:20px;
    margin-bottom:10px;
}

/* subseção */
h3{
    font-size:16px;
    margin-bottom:8px;
}

/* ===============================
   PAGE HEADER 2026
   =============================== */

.layout2026-page-header{
    margin-bottom: 1.25rem;
}

.layout2026-page-header-breadcrumb{
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .7rem;

    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 13px;
    color: #94A3B8;
}
.layout2026-page-header-breadcrumb-parent{
    font-weight: 500;
    color: #94A3B8;
}

.layout2026-page-header-breadcrumb-item{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 20px;
    height: 20px;

    color: #94A3B8;
}

.layout2026-page-header-breadcrumb-icon{
    font-size: 11px;
    color: #94A3B8 !important;
}

.layout2026-page-header-breadcrumb-sep{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #CBD5E1;
    font-size: 10px;
}

.layout2026-page-header-breadcrumb-current{
    font-weight: 600;
    color: #64748B;
}

.layout2026-page-header-main{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;

    background: transparent;
}

.layout2026-page-header-texts{
    min-width: 0;
}

.layout2026-page-header-title{
    margin:0 !important;

    font-family:"Inter","Segoe UI",Arial,sans-serif !important;
    font-size:24px !important;
    font-weight:700 !important;
    letter-spacing:-0.3px;

    padding-left:10px;

    color:#334155 !important;

    text-decoration:none !important;
}

.layout2026-page-header-title *,
.layout2026-page-header-title a{
    text-decoration:none !important;
}

.layout2026-page-header-subtitle{
    margin-top: .45rem;

    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;

    color: #94A3B8 !important;
}

.layout2026-page-header-actions{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.layout2026-page-header-title {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.layout2026-page-header-title-icon {
    color: #5557CD;
    font-size: 1.05em;
}

@media (max-width: 768px){
    .layout2026-page-header-main{
        flex-direction: column;
        align-items: flex-start;
    }

    .layout2026-page-header-actions{
        width: 100%;
        justify-content: flex-start;
    }

    .layout2026-page-header-title{
        font-size: 20px !important;
    }
}

.chart-box{
    position: relative;
    width: 100%;
    height: 360px;
}

.chart-box-sm{
    height: 300px;
}

.chart-box-lg{
    height: 420px;
}

.chart-box-xl{
    height: 680px;
}

/* ===============================
   TOP CARDS DA HOME
   =============================== */

.layout2026-topcard-link{
    display: block;
    text-decoration: none !important;
}

.layout2026-topcard{
    display: flex;
    align-items: center;
    gap: 1rem;

    min-height: 118px;
    padding: 1rem 1.1rem;

    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);

    transition: all .2s ease;
}

.layout2026-topcard:hover{
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    border-color: #D6DBF5;
}

.layout2026-topcard-icon{
    width: 56px;
    height: 56px;
    min-width: 56px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;
    background: #EEF0FF;
    color: #4547A9;
    font-size: 24px;
}

.layout2026-topcard-body{
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.layout2026-topcard-value{
    display: block;
    margin: 0;

    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: #4547A9 !important;
}

.layout2026-topcard-label{
    display: block;
    margin: 0;

    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    color: #64748B !important;
}

@media (max-width: 768px){
    .layout2026-topcard{
        min-height: 104px;
        padding: .9rem 1rem;
    }

    .layout2026-topcard-icon{
        width: 48px;
        height: 48px;
        min-width: 48px;
        font-size: 20px;
    }

    .layout2026-topcard-value{
        font-size: 18px;
    }
}

/* ===============================
   NAV CARDS / BOTÕES DE ACESSO
   =============================== */

.layout2026-navcard-link{
    display: block;
    text-decoration: none !important;
}

.layout2026-navcard{
    display: flex;
    align-items: center;
    gap: 1rem;

    min-height: 92px;
    padding: 1rem 1.15rem;

    background: #FFFFFF;
    border: 1px solid #E4E7FB;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(85, 87, 205, 0.06);

    transition: all .2s ease;
}

.layout2026-navcard:hover{
    transform: translateY(-2px);
    border-color: #C9CCFA;
    box-shadow: 0 10px 24px rgba(85, 87, 205, 0.12);
    background: #FFFFFF;
}

.layout2026-navcard-icon{
    width: 54px;
    height: 54px;
    min-width: 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;
    background: #EEF0FF;
    color: #5557CD;

    font-size: 22px;
}

.layout2026-navcard-body{
    min-width: 0;
    display: flex;
    align-items: center;
}

.layout2026-navcard-title{
    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    color: #64748B !important;
}

@media (max-width: 768px){
    .layout2026-navcard{
        min-height: 84px;
        padding: .95rem 1rem;
    }

    .layout2026-navcard-icon{
        width: 48px;
        height: 48px;
        min-width: 48px;
        font-size: 20px;
    }

    .layout2026-navcard-title{
        font-size: 15px;
    }
}


/* ===============================
   ACCESSBAR / TOPO DE ACESSIBILIDADE
   =============================== */

.layout2026-accessbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;

    min-height:60px;
    padding:.75rem 1rem;

    background:#FFFFFF;
    border-bottom:1px solid #E4E7FB;
    box-shadow:0 2px 10px rgba(85, 87, 205, 0.05);
}

.layout2026-accessbar-left{
    display:flex;
    align-items:center;
    gap:.9rem;
    min-width:0;
    flex:1;
}

.layout2026-accessbar-icon{
    width:40px;
    height:40px;
    min-width:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:12px;
    background:#EEF0FF;
    color:#5557CD;
    font-size:20px;
}

.layout2026-accessbar-links{
    display:flex;
    align-items:center;
    gap:.45rem;
    flex-wrap:wrap;
    min-width:0;
}

.layout2026-accessbar-link{
    font-family:"Inter","Segoe UI",Arial,sans-serif;
    font-size:13px;
    font-weight:500;
    text-decoration:none !important;
    color:#64748B !important;
    transition:color .2s ease;
}

.layout2026-accessbar-link:hover{
    color:#5557CD !important;
}

.layout2026-accessbar-text{
    font-family:"Inter","Segoe UI",Arial,sans-serif;
    font-size:13px;
    font-weight:500;
    color:#64748B !important;
}

.layout2026-accessbar-sep{
    color:#CBD5E1;
    font-size:12px;
    font-weight:400;
}

.layout2026-accessbar-button.ui-button{
    min-width:30px;
    height:30px;
    padding:0 !important;
    border-radius:8px;
    font-size:12px !important;
}

/* direita */

.layout2026-accessbar-right{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.75rem;
    min-width:360px;
}

.layout2026-accessbar-search{
    display:flex;
    align-items:center;
    gap:.35rem;
    width:100%;
    max-width:320px;
}

.layout2026-accessbar-search-input{
    flex:1;
}

.layout2026-accessbar-search-input .ui-inputfield{
    width:100% !important;
    font-size:14px !important;
    border-radius:10px !important;
    height:38px;
}

.layout2026-accessbar-search-button{
    width:42px;
    min-width:42px;
}

.layout2026-accessbar-search-submit.ui-button{
    width:42px !important;
    height:38px !important;
    padding:0 !important;
    border-radius:10px !important;
}

.layout2026-accessbar-login{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:36px;
}

/* responsivo */

@media (max-width: 1200px){
    .layout2026-accessbar{
        flex-direction:column;
        align-items:stretch;
    }

    .layout2026-accessbar-right{
        min-width:0;
        width:100%;
    }

    .layout2026-accessbar-search{
        max-width:none;
    }
}

@media (max-width: 768px){
    .layout2026-accessbar{
        padding:.75rem;
    }

    .layout2026-accessbar-links{
        gap:.35rem;
    }

    .layout2026-accessbar-link,
    .layout2026-accessbar-text{
        font-size:12px;
    }

    .layout2026-accessbar-icon{
        width:36px;
        height:36px;
        min-width:36px;
        font-size:18px;
    }
}





/*boptao login acessa*/


.layout2026-login-button{
    display:flex;
    align-items:center;
    justify-content:center;

    width:42px;
    height:42px;

    border-radius:12px;
    background:#EEF0FF;

    text-decoration:none !important;

    transition:all .2s ease;
}

.layout2026-login-button i{
    font-size:18px;
    color:#5557CD !important;
}

.layout2026-login-button:hover{
    background:#E0E4FF;
}

.layout2026-login-button:hover i{
    color:#4547A9 !important;
}

/* ===============================
   IDENTIDADE DO PORTAL
   (acima da logo da prefeitura)
   =============================== */

.layout2026-portal-identidade{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    padding:1rem 1rem .75rem 1rem;
}

/* badge portal */

.layout2026-portal-badge{
    display:flex;
    align-items:center;
    gap:.5rem;

    padding:.45rem .8rem;

    border-radius:999px;

    background:#EEF0FF;
    color:#5557CD;

    font-family:"Inter","Segoe UI",Arial,sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:.2px;

    margin-bottom:.6rem;
}

.layout2026-portal-badge i{
    font-size:13px;
}

/* logo */

.layout2026-portal-logo{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

.layout2026-portal-logo img{
    max-width:190px;
    height:auto;
}

/* email */

.layout2026-portal-email{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:.35rem;

    margin-top:.3rem;

    font-size:11px;
    color:#64748B;
}

.layout2026-portal-email i{
    font-size:12px;
    color:#9CA3AF;
}

/* ===============================
   SCROLLBAR DO SIDEBAR
   =============================== */

#sidebar{
    scrollbar-width: thin;
    scrollbar-color: #C9CCFA transparent;
}

#sidebar::-webkit-scrollbar{
    width: 10px;
}

#sidebar::-webkit-scrollbar-track{
    background: transparent;
}

#sidebar::-webkit-scrollbar-thumb{
    background: #C9CCFA;
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: content-box;
}

#sidebar::-webkit-scrollbar-thumb:hover{
    background: #9A99F2;
    background-clip: content-box;
}

/* ===============================
   CONTEÚDO INTERNO DO SIDEBAR
   =============================== */

.layout2026-sidebar-inner{
    display: flex;
    flex-direction: column;
    min-height: 100%;
    width: 100%;
}

.layout2026-menu{
    display: flex;
    flex-direction: column;
    padding: 10px;
    gap: 4px;
    background-color: white !important;
    width: 100%;
}

/* ===============================
   COOKIE BAR / LGPD
   =============================== */

.layout2026-cookiebar{
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 99999;

    width: 100%;
    padding: 1rem 1.25rem;

    display: flex;
    align-items: center;
    gap: 1rem;

    background: rgba(255, 255, 255, 0.98);
    border-top: 1px solid #E4E7FB;
    box-shadow: 0 -6px 20px rgba(15, 23, 42, 0.10);
    backdrop-filter: blur(8px);
}

.layout2026-cookiebar-icon{
    width: 52px;
    height: 52px;
    min-width: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;
    background: #EEF0FF;
    color: #5557CD;
    font-size: 22px;
}

.layout2026-cookiebar-content{
    flex: 1;
    min-width: 0;
}

.layout2026-cookiebar-title{
    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #334155;
    margin-bottom: .25rem;
}

.layout2026-cookiebar-text{
    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 13px;
    line-height: 1.55;
    color: #64748B;
}

.layout2026-cookiebar-actions{
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-shrink: 0;
}

.layout2026-cookiebar-link{
    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #5557CD !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.layout2026-cookiebar-link:hover{
    color: #4547A9 !important;
    text-decoration: none !important;
}

.layout2026-cookiebar-button.ui-button{
    white-space: nowrap;
}

/* responsivo */
@media (max-width: 900px){
    .layout2026-cookiebar{
        flex-direction: column;
        align-items: flex-start;
        padding: 1rem;
    }

    .layout2026-cookiebar-actions{
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .layout2026-cookiebar-icon{
        width: 46px;
        height: 46px;
        min-width: 46px;
        font-size: 20px;
    }
}

/* ===============================
   SECTION HEADER / BLOCOS INTERNOS
   =============================== */

.layout2026-section-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.layout2026-section-title-wrap{
    display: flex;
    align-items: flex-start;
    gap: .9rem;
}

.layout2026-section-icon{
    width: 48px;
    height: 48px;
    min-width: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;
    background: #EEF0FF;
    color: #5557CD;
    font-size: 20px;
}

.layout2026-section-title{
    font-family: "Inter","Segoe UI",Arial,sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #334155 !important;
    margin: 0 !important;
    text-decoration: none !important;
}

.layout2026-section-subtitle{
    margin-top: .25rem;
    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 13px;
    line-height: 1.45;
    color: #64748B !important;
}

/* ===============================
   TERMO PESQUISADO - AJUSTE DE ALTURA
   =============================== */

.layout2026-termo-pesquisado{
    padding: .9rem 1rem !important;
}

.layout2026-termo-pesquisado .layout2026-filter-block-title{
    margin-bottom: .55rem !important;
}

.layout2026-termo-pesquisado .layout2026-section-subtitle{
    margin-top: 0 !important;
    margin-bottom: .2rem !important;
}

.layout2026-termo-pesquisado-valor{
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
}

/* ===============================
   PAINEL DE AJUDA
   =============================== */

.layout2026-help-panel{
   
    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 13px;
    line-height: 1.55;
    color: #475569;
}

.layout2026-help-panel h3{
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    margin: 0 0 .35rem 0 !important;
}

.layout2026-help-panel p{
    margin: 0 0 .75rem 0;
}

/* ===============================
   FILTROS INTERNOS / FORMULÁRIOS
   =============================== */

.layout2026-filter-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.layout2026-filter-header-left{
    display: flex;
    align-items: flex-start;
    gap: .9rem;
}

.layout2026-filter-icon{
    width: 48px;
    height: 48px;
    min-width: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;
    background: #EEF0FF;
    color: #5557CD;
    font-size: 20px;
}

.layout2026-filter-block{
    background: #F8FAFF;
    border: 1px solid #E4E7FB;
    border-radius: 14px;
    padding: 1rem;
  
}

.layout2026-filter-block-title{
    display: flex;
    align-items: center;
    gap: .5rem;

    margin-bottom: .85rem;

    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #334155;
}

.layout2026-filter-block-title i{
    color: #5557CD;
    font-size: 14px;
}

.layout2026-label{
    display: block;
    margin-bottom: .4rem;

    font-family: "Inter","Segoe UI",Arial,sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #64748B !important;
}

.layout2026-field{
    width: 100% !important;
}

.layout2026-filter-actions{
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-top: 1.25rem;
    flex-wrap: wrap;
}

/* melhora inputs/select/calendar dentro do padrão novo */
.layout2026-card .ui-selectonemenu,
.layout2026-card .ui-inputfield,
.layout2026-card .ui-calendar{
    width: 100% !important;
}

.layout2026-card .ui-selectonemenu-label{
    font-size: 14px !important;
    color: #334155 !important;
}

.layout2026-card .ui-selectonemenu-trigger{
    border-left: 1px solid #E2E8F0 !important;
}

@media (max-width: 768px){
    .layout2026-filter-header-left{
        align-items: flex-start;
    }

    .layout2026-filter-block{
        padding: .9rem;
    }
}

/* =====================================
   CAMPOS DE FILTRO MAIS CONFORTÁVEIS
   ===================================== */

.layout2026-card .ui-inputfield,
.layout2026-card .ui-selectonemenu,
.layout2026-card .ui-selectonemenu-label,
.layout2026-card .ui-calendar input{

    font-size: 20px !important;
   

    border-radius: 10px !important;
}

/* botão do select */
.layout2026-card .ui-selectonemenu-trigger{
    width: 36px !important;
}

/* calendário ícone */
.layout2026-card .ui-datepicker-trigger{
    padding: 8px !important;
}

/* labels maiores */
.layout2026-label{
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* bloco de filtro mais respirado */
.layout2026-filter-block{
    padding: 18px !important;
}

/* título da seção */
.layout2026-filter-block-title{
    font-size: 15px !important;
}

/* =========================================================
   PAINEL DE EXPORTAÇÃO - PADRÃO 2026
   ========================================================= */

.layout2026-export-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;

    margin-bottom: 1rem;
    padding: 1rem 1.25rem;

    background: linear-gradient(180deg, #f8faff 0%, #f2f5fd 100%);
    border: 1px solid #e4eaf5;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.layout2026-export-panel-header {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.layout2026-export-panel-title {
    display: flex;
    align-items: center;
    gap: .65rem;

    font-size: 1rem;
    font-weight: 700;
    color: #334155;
}

.layout2026-export-panel-title i {
    color: #5557CD;
    font-size: 1rem;
}

.layout2026-export-panel-subtitle {
    font-size: .9rem;
    color: #64748b;
}

.layout2026-export-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.layout2026-export-actions .ui-button {
    min-width: 120px;
}

@media (max-width: 768px) {
    .layout2026-export-panel {
        flex-direction: column;
        align-items: stretch;
    }

    .layout2026-export-actions {
        width: 100%;
    }

    .layout2026-export-actions .ui-button {
        width: 100%;
    }
}
/* =========================================================
   GROWL 2026 - AJUSTE LEVE E LEGÍVEL
   ========================================================= */

#grow\:msgs_container {
    top: 20px !important;
    right: 20px !important;
}

/* caixa geral */
#grow\:msgs_container .ui-growl-item-container {
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14) !important;
    overflow: hidden !important;
    opacity: 1 !important;
}

/* conteúdo */
#grow\:msgs_container .ui-growl-item {
    padding: 14px 16px !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
}

/* título */
#grow\:msgs_container .ui-growl-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-bottom: 4px !important;
    color: #1e293b !important;
}

/* detalhe */
#grow\:msgs_container .ui-growl-message,
#grow\:msgs_container .ui-growl-message p,
#grow\:msgs_container .ui-growl-message span {
    color: #334155 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
}

/* ícone do tipo - manter visível */
#grow\:msgs_container .ui-growl-image {
    margin-top: 2px !important;
}

/* fechar */
#grow\:msgs_container .ui-growl-icon-close {
    opacity: .75 !important;
    top: 10px !important;
    right: 10px !important;
}

#grow\:msgs_container .ui-growl-icon-close:hover {
    opacity: 1 !important;
}

/* INFO */
#grow\:msgs_container .ui-growl-item-container.ui-growl-info {
    background: #eef2ff !important;
    border-left: 5px solid #6366f1 !important;
}

/* SUCESSO */
#grow\:msgs_container .ui-growl-item-container.ui-growl-success {
    background: #ecfdf5 !important;
    border-left: 5px solid #10b981 !important;
}

/* AVISO */
#grow\:msgs_container .ui-growl-item-container.ui-growl-warn {
    background: #fffbeb !important;
    border-left: 5px solid #f59e0b !important;
}

/* ERRO */
#grow\:msgs_container .ui-growl-item-container.ui-growl-error {
    background: #fef2f2 !important;
    border-left: 5px solid #ef4444 !important;
}

/* ===============================
   DASHBOARD CARDS (links)
   =============================== */

.layout2026-dashboard-link{
    display:block;
    text-decoration:none !important;
    color:inherit !important;
}

/* garante que o card inteiro seja clicável */
.layout2026-dashboard-link .layout2026-dashboard-card{
    cursor:pointer;
}

/* ===============================
   NAVCARD DASHBOARD - EXTENSÃO
   reaproveita o padrão existente
   =============================== */

.layout2026-navcard-dashboard{
    min-height: 118px;
    align-items: flex-start;
}

.layout2026-navcard-dashboard .layout2026-navcard-body{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .35rem;
    flex: 1;
}

.layout2026-navcard-desc{
    font-family: "Inter","Segoe UI",Arial,sans-serif !important;
    font-size: 13px;
    line-height: 1.5;
    color: #64748B !important;
}

.layout2026-navcard-arrow{
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    color: #9A99F2;
    font-size: 16px;
    margin-left: .5rem;
}

.layout2026-navcard-dashboard:hover .layout2026-navcard-arrow{
    color: #5557CD;
}

/* cards com leve destaque visual */
.layout2026-navcard-alt{
    background: #FAFBFF;
    border-color: #D9E0FF;
}

.layout2026-navcard-alt .layout2026-navcard-icon{
    background: #F3F4FF;
}

/* ===============================
   AVISO DE PESQUISA APLICADA
   =============================== */

.layout2026-search-alert{
    display: flex;
    align-items: flex-start;
    gap: 1rem;

    margin-bottom: 1rem;
    padding: 1rem 1.15rem;

    background: linear-gradient(180deg, #f8faff 0%, #eef2ff 100%);
    border: 1px solid #d9e0ff;
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(85, 87, 205, 0.06);
}

.layout2026-search-alert-icon{
    width: 48px;
    height: 48px;
    min-width: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;
    background: #eef0ff;
    color: #5557CD;
    font-size: 20px;
}

.layout2026-search-alert-body{
    flex: 1;
    min-width: 0;
}

.layout2026-search-alert-title{
    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    color: #334155;
    margin-bottom: .2rem;
}

.layout2026-search-alert-text{
    font-family: "Inter","Segoe UI",Arial,sans-serif;
    font-size: 13px;
    line-height: 1.55;
    color: #64748B;
}