﻿
.container {
    position: absolute;
    width: 100%;
    height: 10%;
}


#calendarioFiltro {
    height: 5%;
    width: 5%;
}


.content_inner {
    padding: 0px;
}


span.panelInfoData {
    color: #5f8b95;
    font-size: 2px;
}

span.panelInfoTitulo {
    color: #8F8FBD;
    font-size: 35px;
}

span.panelInfoGrupo {
    color: #ba4d51;
    font-size: 52px;
}

span.panelInfoColaborador {
    color: #CD7F32;
    font-size: 36px;
}

.wrapper {
    height: 100%;
    min-height: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

    .wrapper div {
        padding: 30px;
    }



.addBorder .dxgv {
    border-bottom: 3px solid red !important;
}



/* Acesso */
.containerLogin {
    width: 100%;
    margin: auto;
}

.tabbedGroupPageLogin {
    padding-left: 5px;
    padding-right: 5px;
}

.tabbedGroupPageLogin {
    padding: 5px 5px 10px;
    border-top: 1px Solid #A8A8A8;
}

.tabbedGroupPageLogin {
    background-color: #F2F3F4;
}

.tabbedGroupPageTitleLogin {
    background-color: #F2F3F4;
}

/* dxpnlControl_Mulberry */
.validation-summary-errors {
    font: 14px 'Segoe UI','Helvetica Neue','Droid Sans',Arial,Tahoma,Geneva,Sans-serif;
    color: #fafafa;
    border: 0px solid #cbcbcb;
}

.dxpnlControl_Mulberry.leftPane,
.dxpnlControl_Mulberry.rightPane,
.dxpnlControl_Mulberry.contentPane {
    border-width: 1px !important;
}

.dxpnlControl_Mulberry.leftPane {
    width: 300px;
}

.dxpnlControl_Mulberry.rightPane {
    width: 450px;
}

.dxpnlControl_Mulberry .templateTitle {
    margin: 0px;
    width: 100%;
    height: 50px;
    display: inline-block;
    vertical-align: top; /* here */
}


.dxpnl-bar-tmpl dxpnl-np {
    height: 70%;
}


.dxgvLoadingPanel_Mulberry,
.GridCategoriaDados_DXMainTable,
#GridCategoriaDados_DXMainTable {
    width: 100%;
}


.dxpnlControl_Mulberry.mainContentPane {
    border-width: 0px !important;
    box-shadow: initial;
    -webkit-box-shadow: initial;
    -moz-box-shadow: initial;
}



html {
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
    font-size: 15px;
    color: #777;
}

html,
body,
button {
    -webkit-font-smoothing: antialiased;
}

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    height: auto;
    position: relative;
    background: #FBFCF9;
    min-height: 100%;
}

@media all and (max-height: 600px) {
    body {
        margin-bottom: 60px;
    }
}

@media all and (max-height: 550px) {
    body {
        margin-bottom: 100px;
    }
}

img {
    max-width: 100%;
    vertical-align: middle;
}

ol, ul {
    list-style: none;
    padding-left: 0;
}

dl dd {
    margin-left: 0;
}

figure {
    margin: 0;
}

/*
 * Font-face
 */
/* Generated by Font Squirrel (https://www.fontsquirrel.com) on October 14, 2016 */

@font-face {
    font-family: 'Nexa Bold';
    src: url('fonts/nexa_bold-webfont.woff2') format('woff2'), url('fonts/nexa_bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Nexa Light';
    src: url('fonts/nexa_light-webfont.woff2') format('woff2'), url('fonts/nexa_light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* Inter — tipografia da identidade CADOC's (empacotada local, offline) */
@font-face { font-family: 'Inter'; src: url('fonts/inter-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('fonts/inter-latin-500-normal.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('fonts/inter-latin-600-normal.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('fonts/inter-latin-700-normal.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('fonts/inter-latin-800-normal.woff2') format('woff2'); font-weight: 800; font-style: normal; font-display: swap; }


/* Form */
form input, form select, form textarea {
    background-color: #fff;
    padding: 8px;
    border: 1px solid rgba(0,0,0, 0.2);
}

form input, form select {
    line-height: 28px;
}

    form input:focus, form select:focus {
        background-color: #ccc;
        border-color: transparent;
    }


.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
}

.clearfix:after {
    clear: both;
}

.wrapper {
    padding: 0.5rem 0.75rem;
    display: block;
    margin: 0 auto;
    max-width: 1200px;
}



/* 
 * Header
 */
.ces-header#HeaderPane_EB {
    margin-bottom: 0px;
}

.ces-header {
    position: relative;
    z-index: 99;
    height: 65px;
    width: 100%;
    background-color: #162A32;
    color: #eee;
    box-shadow: 0 0 32px rgba(0,0,0, 0.2);
    padding: 0 !important;
    transition: all 0.3s ease-out;
}

    .ces-header:after {
        content: "";
        display: table;
        clear: both;
    }

    /* Logo */
    .ces-header .templateTitle {
        width: auto !important;
        height: 65px !important;
        background-color: #fff;
        color: #162A32;
        text-align: center;
        padding: 0px 16px;
        float: left;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        font-weight: normal;
        margin: 0;
    }

        .ces-header .templateTitle img.imagemTitle {
            float: none;
            padding: 0;
            width: auto;
            height: auto;
            max-width: 180px;
            max-height: 52px;
        }

        .ces-header .templateTitle .content {
            margin-top: 4px;
            font-size: 1rem;
        }

    /* Menu */
    .ces-header .ces-navbar {
        float: right;
    }

.ces-navbar .navigation ul {
    margin: 0;
}

input#toggle-menu {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
}

/* Menu - icon */
.box-navbar .toggle-nav {
    z-index: 9;
    position: absolute;
    right: 0.75rem;
    top: 50%;
    margin-top: -28px;
    line-height: 28px;
    padding: 8px 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: all 0.3s ease-out;
}

    .box-navbar .toggle-nav .icon {
        position: relative;
        z-index: 1;
        width: 48px;
        display: inline-block;
        vertical-align: middle;
        margin-left: 8px;
    }

        .box-navbar .toggle-nav .icon .line {
            background-color: #fff;
            width: 100%;
            height: 2px;
            display: block;
            transition: all 0.25s ease-out;
        }

            .box-navbar .toggle-nav .icon .line.center {
                margin: 10px 0;
                transition-delay: 0.05s;
            }

            .box-navbar .toggle-nav .icon .line.top {
                position: absolute;
                left: 0;
                top: 0;
            }

            .box-navbar .toggle-nav .icon .line.bottom {
                position: absolute;
                left: 0;
                top: 100%;
            }


    /* Hover: só as linhas do ícone ficam laranja (o texto "MENU" continua branco) */
    .box-navbar .toggle-nav:hover .line {
        background-color: #ef6c00 !important;
    }

        .box-navbar .toggle-nav:hover .line.center {
            width: 60%;
        }


/* Active */
input#toggle-menu:checked ~ #HeaderPane_EB .toggle-nav .line.center {
    width: 0;
}

input#toggle-menu:checked ~ #HeaderPane_EB .toggle-nav .line.top,
input#toggle-menu:checked ~ #HeaderPane_EB .toggle-nav .line.bottom {
    top: 50%;
    transform: rotate(45deg) translate(0, -50%);
}

input#toggle-menu:checked ~ #HeaderPane_EB .toggle-nav .line.bottom {
    transform: rotate(-45deg) translate(0, -50%);
}


@media all and (max-width: 620px) {
    .ces-header .templateTitle .imagemTitle {
        max-width: 220px;
    }

    .ces-header .templateTitle .content {
        display: none;
    }
}

@media all and (max-width: 340px) {
    .box-navbar .toggle-nav {
        right: 0;
    }

        .box-navbar .toggle-nav .info {
            display: none;
        }
}

@media all and (min-width: 420px) {
    .box-navbar .toggle-nav {
        font-size: 18px;
    }
}


/* Menu - List */
.ces-header .headerMenu {
    background-color: #172a3a;
    display: none;
}

.ces-header .dxmLite_Mulberry .dxm-main {
    display: block;
    float: none;
    background-color: initial;
}

.headerMenu .dxm-vertical ul {
    margin: 0;
}

.headerMenu .dxm-spacing {
    display: none;
}

.headerMenu .dxmLite_Mulberry .dxm-item a.dx {
    float: none !important;
    font-size: 1.4rem;
    color: #fff;
    display: block;
    padding: 12px 0.75rem !important;
    text-align: center;
    text-decoration: none;
    border-top: 1px dotted rgba(0,0,0, 0.2);
}

    .headerMenu .dxmLite_Mulberry .dxm-item a.dx:hover {
        background-color: #111;
        color: #127C74;
    }

input#toggle-menu:checked ~ .headerMenu {
    display: block;
}


@media all and (min-width: 680px) {
    .headerMenu .dxmLite_Mulberry .dxm-item a.dx {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
        font-size: 1.6rem;
    }
}


/* 
 * Footer
 */
.ces-footer {
    background: #172a3a url(../content/images/bg-pattern.png) 0 100%;
    text-align: center;
    color: #fff;
}

    .ces-footer .csistemas,
    .ces-footer .central {
        margin: 0;
        vertical-align: middle;
        font-weight: normal;
    }

    .ces-footer .central {
        margin-top: 4px;
    }

        .ces-footer .central .tel {
            display: block;
            font-size: 1.4rem;
        }

@media all and (min-width: 560px) {
    .ces-footer {
        text-align: initial;
    }

        .ces-footer .csistemas,
        .ces-footer .central {
            display: inline-block;
        }

        .ces-footer .central {
            line-height: 1.6;
            text-transform: uppercase;
            text-align: right;
            float: right;
        }

            .ces-footer .central .info {
                letter-spacing: 0.06em;
            }

            .ces-footer .central .tel {
                display: block;
                font-size: 1.6rem;
            }
}



/* 
 * Login
 */
.not-user {
    display: block;
    background: #172a3a url(../content/images/bg-pattern.png) repeat 0 50%;
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
}

    .not-user .ces-header {
        width: 280px;
        margin: 0 auto;
        background-color: transparent;
        box-shadow: none;
        text-align: center;
    }

        .not-user .ces-header .templateTitle {
            float: none;
            background-color: transparent;
            color: #fff;
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

/*
 * Acesso (login) — identidade CADOC's
 * Tela cheia por cima do header/panels do layout (position: fixed), split-screen:
 * painel da marca (petróleo) + formulário. Abaixo de 900px vira só o formulário.
 */
.cad-auth {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    overflow: auto;
    background: #FBFCF9;
    color: #162A32;
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

    .cad-auth *, .cad-auth *::before, .cad-auth *::after {
        box-sizing: border-box;
    }

.cad-auth-logo {
    display: block;
    width: 200px;
    height: auto;
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
}

/* formulário */
.cad-auth-main {
    flex: 1 1 auto;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 24px 24px;
}

    .cad-auth-main > .cad-auth-logo {
        margin: auto 0 28px;
        /* Sem isso, em janela baixa a coluna flex encolhe a altura do SVG (não tem altura própria) e o
           logo aparece pequeno ou some; com ele, a página rola. */
        flex-shrink: 0;
    }

.cad-auth-card {
    width: 100%;
    max-width: 400px;
    padding: 36px 36px 28px;
    background: #fff;
    border: 1px solid #E3E9EA;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(22,42,50,.04), 0 12px 32px rgba(22,42,50,.08);
}

    .cad-auth-card h2 {
        margin: 0 0 6px;
        text-align: center;
        font-size: 24px;
        line-height: 1.2;
        font-weight: 700;
        letter-spacing: -0.015em;
        color: #162A32;
        text-transform: none;
    }

.cad-auth-sub {
    margin: 0 0 28px;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    color: #5B6B72;
}

.cad-auth-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 20px;
    padding: 12px 14px;
    border: 1px solid #F2C6C2;
    border-left: 4px solid #C8372D;
    border-radius: 8px;
    background: #FDF1F0;
    color: #8A2A22;
    font-size: 14px;
    line-height: 1.4;
    animation: cad-auth-shake .35s ease-in-out;
}

    /* mensagens do autenticador podem trazer URL longa sem espaço */
    .cad-auth-alert span {
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .cad-auth-alert svg {
        flex: 0 0 18px;
        width: 18px;
        height: 18px;
        margin-top: 1px;
        fill: none;
        stroke: #C8372D;
        stroke-width: 2.2;
        stroke-linecap: round;
    }

.cad-auth-field {
    display: block;
    margin: 0 0 18px;
    font-weight: normal;
}

.cad-auth-label {
    display: block;
    margin: 0 0 6px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: #2E434B;
}

.cad-auth-input {
    position: relative;
    display: block;
}

    .cad-auth-input > svg {
        position: absolute;
        left: 14px;
        top: 50%;
        width: 18px;
        height: 18px;
        margin-top: -9px;
        fill: none;
        stroke: #8A989E;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
        pointer-events: none;
        transition: stroke .15s;
    }

    .cad-auth-input input {
        display: block;
        width: 100%;
        height: 48px;
        margin: 0;
        padding: 0 44px;
        border: 1px solid #D5DDDF;
        border-radius: 10px;
        background: #fff;
        color: #162A32;
        font: 500 15px 'Inter', 'Segoe UI', Arial, sans-serif;
        outline: none;
        box-shadow: 0 1px 2px rgba(22,42,50,.04);
        transition: border-color .15s, box-shadow .15s;
    }

        .cad-auth-input input:hover {
            border-color: #B7C3C7;
        }

        .cad-auth-input input:focus {
            border-color: #127C74;
            box-shadow: 0 0 0 4px rgba(18,124,116,.15);
        }

    .cad-auth-input:focus-within > svg {
        stroke: #127C74;
    }

/* login exibido em maiúsculas (mesmo comportamento visual da tela antiga) */
#Model_Usuario {
    text-transform: uppercase;
}

.cad-auth-eye {
    position: absolute;
    right: 6px;
    top: 50%;
    width: 36px;
    height: 36px;
    margin-top: -18px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
}

    .cad-auth-eye:hover {
        background: #EEF3F3;
    }

    .cad-auth-eye:focus-visible {
        outline: 2px solid #127C74;
        outline-offset: 1px;
    }

    .cad-auth-eye svg {
        width: 18px;
        height: 18px;
        fill: none;
        stroke: #5B6B72;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
        vertical-align: middle;
    }

    .cad-auth-eye .ico-ocultar,
    .cad-auth-eye[aria-pressed="true"] .ico-ver {
        display: none;
    }

    .cad-auth-eye[aria-pressed="true"] .ico-ocultar {
        display: inline;
    }

.cad-auth-caps {
    display: block;
    margin-top: 6px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    color: #9A6E12;
}

    .cad-auth-caps[hidden] {
        display: none;
    }

.cad-auth-submit {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 50px;
    margin: 26px 0 0;
    border: 0;
    border-radius: 10px;
    background: #127C74;
    color: #fff;
    font: 600 16px 'Inter', 'Segoe UI', Arial, sans-serif;
    letter-spacing: .01em;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(18,124,116,.28);
    transition: background .15s, box-shadow .15s, transform .05s;
}

    .cad-auth-submit:hover {
        background: #0F6962;
        box-shadow: 0 8px 22px rgba(18,124,116,.34);
    }

    .cad-auth-submit:active {
        transform: translateY(1px);
    }

    .cad-auth-submit:focus-visible {
        outline: 3px solid rgba(18,124,116,.35);
        outline-offset: 2px;
    }

    .cad-auth-submit:disabled {
        cursor: progress;
        background: #3F8F89;
        box-shadow: none;
    }

.cad-auth-spinner {
    display: none;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: cad-auth-spin .7s linear infinite;
}

.enviando .cad-auth-spinner {
    display: inline-block;
}

.cad-auth-help {
    margin: 24px 0 0;
    padding-top: 20px;
    border-top: 1px solid #E6ECED;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    color: #5B6B72;
}

    .cad-auth-help strong {
        color: #162A32;
        white-space: nowrap;
    }

.cad-auth-foot {
    margin-top: auto;
    padding-top: 32px;
    font-size: 12px;
    color: #8A989E;
}

    .cad-auth-foot a {
        color: #5B6B72;
        text-decoration: none;
    }

        .cad-auth-foot a:hover {
            color: #127C74;
            text-decoration: underline;
        }

@keyframes cad-auth-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes cad-auth-shake {
    0%, 100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-5px);
    }

    75% {
        transform: translateX(5px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .cad-auth-alert {
        animation: none;
    }
}

@media all and (max-width: 480px) {
    .cad-auth-main {
        padding: 32px 16px 20px;
    }

    .cad-auth-card {
        padding: 28px 20px 24px;
    }

    .cad-auth-card h2 {
        font-size: 22px;
    }
}

/* 
 * Home (Graphic)
 */


/* Graphic - heading */
#divMainChart {
    width: 100%;
    margin: 0 auto 1.5rem;
    text-align: center;
}

    #divMainChart .panelInfoTitulo {
        font-size: 1.8rem;
        color: #162A32;
    }

    #divMainChart .panelInfoGrupo {
        font-size: 1.4rem;
        color: #172a3a;
        display: inline-block;
    }

        #divMainChart .panelInfoGrupo:after {
            content: "";
            width: 40px;
            height: 2px;
            display: block;
            margin: 2px 0 12px;
            background-color: #127C74;
        }

    #divMainChart #divPanelInfo {
        padding-top: 12px;
        position: relative;
    }

        #divMainChart #divPanelInfo .dxeBase_Mulberry {
            display: none;
        }

    #divMainChart #filtroData_ET {
        max-width: 340px;
        min-width: 220px;
        margin: 0 auto;
    }

        #divMainChart #filtroData_ET input {
            width: 94%;
            background: #eee;
            color: #000;
            font-size: 1.6rem;
            line-height: 26px;
            padding: 12px 3%;
            border: none !important;
        }

            #divMainChart #filtroData_ET input:focus {
                background-color: #999;
            }

    #divMainChart #filtroData_ET {
        max-width: 340px;
        min-width: 220px;
        margin: 0 auto;
    }

        #divMainChart #filtroData_ET input {
            width: 94%;
            background: #eee;
            color: #000;
            font-size: 1.6rem;
            line-height: 26px;
            padding: 12px 3%;
            border: none !important;
        }

            #divMainChart #filtroData_ET input:focus {
                background-color: #999;
            }

    #divMainChart #divPanelInfo table {
        width: 100% !important;
    }

        #divMainChart #divPanelInfo table td.dxic,
        #divMainChart #divPanelInfo .dxeButton {
            padding: 0;
        }

            #divMainChart #divPanelInfo .dxeButton:before {
                content: "";
                width: 52px;
                height: 48px;
                border-left: 1px solid #ccc;
                margin-right: 1px;
                display: block;
                background: #127C74 url(images/ico-calendar.png) no-repeat 50% 50%;
                outline: 1px solid #eee !important;
            }

            #divMainChart #divPanelInfo .dxeButton img {
                display: none;
            }


/* Heading main */
.heading-main {
    height: 22px;
}

    .heading-main .dxeBase_Mulberry {
        display: inline-block;
        margin-right: 8px;
        font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
    }

        .heading-main .dxeBase_Mulberry h2 {
            color: #162A32;
            font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
            font-size: 64px;
            margin: 0 0 0;
            text-align: center;
            text-transform: uppercase;
        }

        .heading-main .dxeBase_Mulberry h1 {
            color: #999;
            font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
            position: absolute;
            right: 2rem;
            top: 5.5rem;
        }

    .heading-main #ces-usuario-MesAno h2 {
        color: #999;
    }

    .heading-main .dxeBase_Mulberry h2:before {
        content: "";
        margin-right: 8px;
    }

    .heading-main .dxeBase_Mulberry h1 {
        font-size: 10px;
        margin: 15px;
        letter-spacing: 0.05rem;
    }

    .heading-main .dxeBase_Mulberry h2 {
        font-size: 12px;
        text-transform: uppercase;
        margin-bottom: 0;
    }


@media all and (min-width: 720px) {
    .heading-main .dxeBase_Mulberry h1 {
        right: 6rem;
        font-size: 16px;
        letter-spacing: 0.05rem;
    }

    .heading-main .dxeBase_Mulberry h2 {
        color: #162A32;
        font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
        font-size: 20px;
        font-weight: 300;
        line-height: 32px;
        margin: 0 0 72px;
        text-align: center;
    }
}


/* Graphic - SVG */
#divPanelChart #gauge {
    display: inline-block;
    margin: 16px 0;
}



@media all and (min-width: 680px) {
    #divMainChart .panelInfoTitulo {
        font-size: 2.4rem;
    }

    #divMainChart .panelInfoGrupo {
        font-size: 2rem;
    }

    #divMainChart #divPanelGrid1 {
        width: 93%;
        margin: 0 auto;
        clear: both;
        padding-top: 0.5rem;
    }

        #divMainChart #divPanelGrid1 #ces-grid-Form_C0 {
            margin: 0 auto;
        }

    #divMainChart #dateEdit input {
        line-height: 34px;
        padding: 8px 12px;
    }
}

@media all and (min-width: 720px) {
    #divMainChart {
        padding-top: 0.75rem;
    }

        #divMainChart #divPanelInfo {
            padding: 0;
        }

        #divMainChart #divPanelGrid1 {
            width: 93%;
            margin: 0 auto;
            clear: both;
            padding-top: 0.5rem;
        }

            #divMainChart #divPanelGrid1 #ces-grid-Form_C0 {
                margin: 0 auto;
            }

        #divMainChart #divPanelInfo .dxeBase_Mulberry {
            padding: 0.75rem 1.5rem;
        }
}

#divMainChart #divPanelGrid2 {
    padding-top: 7px;
}


/* 
 * Table 
 */
table table.dxgvTable_Metropolis {
    font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
    font-size: 16px;
    background: #fff;
    border-collapse: collapse;
    text-align: left;
}

    /* table heading */
    table table.dxgvTable_Metropolis .dxgvHeader_Metropolis {
        background-color: #172a3a !important;
        padding-top: 4px;
        padding-bottom: 4px;
    }

        table table.dxgvTable_Metropolis .dxgvHeader_Metropolis td,
        table table.dxgvTable_Metropolis #GridGaugeDados_DXHeadersRow0 td {
            font-size: 14px !important;
            color: #fff;
            border-bottom: none;
            padding: 0;
        }

    table table.dxgvTable_Metropolis #GridGaugeDados_DXHeadersRow0 > td {
        padding: 14px 4px;
        line-height: 22px;
    }

    /* table tbody */

    table table.dxgvTable_Metropolis td {
        color: #777;
        font-size: inherit !important;
        padding: 6px 10px;
    }

    table table.dxgvTable_Metropolis tbody tr:hover td {
        color: #074;
    }

    table table.dxgvTable_Metropolis a.dxeHyperlink_Metropolis {
        color: inherit;
        font-size: 12px !important;
    }

/* table columns*/

div#ces-grid-Form {
    width: 100%;
}

    div#ces-grid-Form .dxeBase_Mulberry h2 {
        margin-top: 0px;
        color: #DA774C;
    }

#ces-grid-Form_C0 .dxeBase_Mulberry h3 {
    margin-top: 0px;
    margin-bottom: 0px;
    color: #162A32;
}

#ces-grid-Form_C0 #ces-entrega-periodo h3 {
    margin-top: 30px;
}

#ces-grid-Form_C0 #ces-entrega-tipo h3 {
    margin-top: 100px;
    color: #e82020;
}

.dxGridView_gvCollapsedButton_Metropolis, .dxGridView_gvExpandedButton_Metropolis {
    margin: -2px 0 -2px;
    width: 30px;
    height: 25px;
    background-image: url(DXR.axd?r=0_2402-AWyrf);
    background-size: 155px;
    background-repeat: no-repeat;
    background-color: transparent;
}

.dxGridView_gvCollapsedButton_Metropolis {
    background-position: -54px -392px;
}

.dxGridView_gvExpandedButton_Metropolis {
    background-position: -61px -362px;
}

.dxGridView_gvShowAdaptiveDetailButton_Metropolis, .dxGridView_gvHideAdaptiveDetailButton_Metropolis {
    background-image: url(DXR.axd?r=0_2402-AWyrf);
    background-repeat: no-repeat;
    background-color: transparent;
    margin: -36px 50px -37px;
    width: 13px;
    height: 11px;
}

.dxGridView_gvShowAdaptiveDetailButton_Metropolis {
    background-position: -10px -244px;
}

.dxGridView_gvHideAdaptiveDetailButton_Metropolis {
    background-position: -24px -244px;
}




/* Table footer */
table table.dxgvTable_Metropolis .dxgvFooter_Metropolis {
    background-color: #ccc !important;
}

    table table.dxgvTable_Metropolis .dxgvFooter_Metropolis td {
        color: #222;
        font-weight: bold;
        padding-top: 12px;
        padding-bottom: 12px;
    }


.ces-footer {
    position: static;
    min-height: 60px;
    margin-bottom: 0px;
}

/* ===== Paginação do grid — visual da marca (Cresol) =====
   Faixa limpa separada do grid; números viram "pílulas"; página atual = pílula
   verde; hover suave. Escopo no tema Metropolis (todas as listagens). */
.dxgvControl_Metropolis .dxgvPagerBottomPanel_Metropolis,
.dxgvControl_Metropolis .dxgvPagerTopPanel_Metropolis {
    background: #fbfcfb !important;
    border-top: 1px solid var(--cres-border) !important;
    /* mais respiro entre a tabela e a paginação (topo maior que a base) */
    padding: 16px 12px 10px !important;
}

.dxgvControl_Metropolis .dxpLite_Metropolis {
    font-size: 12px;
    color: var(--cres-muted);
}

/* Base "pílula" dos números (clicável + atual) */
.dxgvControl_Metropolis .dxpLite_Metropolis .dxp-num,
.dxgvControl_Metropolis .dxpLite_Metropolis .dxp-current {
    display: inline-block;
    min-width: 28px;
    height: 28px;
    line-height: 26px;
    padding: 0 7px;
    margin: 0 2px;
    border-radius: 6px;
    border: 1px solid transparent;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    vertical-align: middle;
    transition: background-color .12s, border-color .12s, color .12s;
}

/* Número clicável (não atual) */
.dxgvControl_Metropolis .dxpLite_Metropolis .dxp-num {
    color: var(--cres-ink);
    background: #fff;
    border-color: var(--cres-border);
}

    .dxgvControl_Metropolis .dxpLite_Metropolis .dxp-num:hover {
        background: var(--cres-green-soft);
        border-color: #cfe6d9;
        color: var(--cres-green-dark);
    }

/* Página atual: pílula verde preenchida */
.dxgvControl_Metropolis .dxpLite_Metropolis .dxp-current {
    background: var(--cres-green) !important;
    border-color: var(--cres-green) !important;
    color: #fff !important;
    font-weight: 700;
    cursor: default;
}

/* Botões de navegação (anterior/próxima/primeira/última): mantém o ícone do
   tema; só arruma a caixa e o hover. */
.dxgvControl_Metropolis .dxpLite_Metropolis .dxp-button {
    height: 28px;
    margin: 0 2px;
    border-radius: 6px;
    vertical-align: middle;
}

    .dxgvControl_Metropolis .dxpLite_Metropolis .dxp-button:hover {
        background-color: var(--cres-green-soft);
    }

.dxgvControl_Metropolis .dxpLite_Metropolis .dxp-disabledButton {
    opacity: .35;
}

/* Resumo "Página X de Y (N itens)" — discreto, sem itálico */
.dxgvControl_Metropolis .dxpLite_Metropolis .dxp-summary {
    color: var(--cres-muted);
    font-style: normal;
    margin-left: 10px;
    vertical-align: middle;
}

/* Seletor de itens por página (quando visível) */
.dxgvControl_Metropolis .dxpLite_Metropolis .dxp-pageSize,
.dxgvControl_Metropolis .dxpLite_Metropolis .dxp-currentPageSize {
    color: var(--cres-ink);
    vertical-align: middle;
}



#filtroData_B-100 {
    position: absolute;
    left: -9999px;
}


/* ============================================================
 * Padrão de listagem (layout novo — aprovado na tela de Dependência)
 * Aplica-se a toda tela com #divPanelGrid1 + grid Metropolis.
 * ============================================================ */

:root {
    /* Identidade CADOC's — paleta por função. Nomes --cres-* preservados p/
       não tocar os ~40 consumidores; valores remapeados p/ a nova marca. */
    --cres-green: #127C74;        /* verde conformidade — validação, CTA, paginação */
    --cres-green-dark: #0f6a63;
    --cres-green-soft: #e4f3f0;
    --cres-border: #e4e9e6;
    --cres-laranja: #127C74;      /* CTA agora verde conformidade (sem laranja) */
    --cres-laranja-dark: #0f6a63;
    --cres-ink: #162A32;          /* azul petróleo — texto/títulos */
    --cres-muted: #5c6f69;
    --cres-danger: #c0392b;

    /* Papéis nomeados da paleta CADOC's (uso direto quando fizer sentido) */
    --cad-petroleo: #162A32;      /* base, títulos, barra superior */
    --cad-verde: #127C74;         /* conformidade / validação / CTA */
    --cad-mint: #30D2B3;          /* check do símbolo, microdestaques */
    --cad-azul: #2B66D8;          /* informação, dados, BACEN/COSIF */
    --cad-amber: #D09A2B;         /* alertas, prazos, pendências (só isso) */
    --cad-fundo: #FBFCF9;         /* fundo de telas/documentos */
}

/* Barra acima do grid (rótulo Filtros + ações) — mesmo recorte do grid (80%) */
.dep-grid-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    background: #fff;
    border: none;
    border-radius: 8px 8px 0 0;
    padding: 10px 14px;
    width: 93%;
    margin: 0 auto;
    box-sizing: border-box;
}

    .dep-grid-toolbar .dep-filtros-label {
        display: flex;
        align-items: center;
        gap: 7px;
        font-weight: 700;
        font-size: 13px;
        color: var(--cres-laranja);
    }

    /* Campos e botões alinhados dentro da barra */
    .dep-grid-toolbar .dep-toolbar-campos {
        display: flex;
        align-items: flex-end;
        gap: 8px;
        flex-wrap: wrap;
    }

        .dep-grid-toolbar .dep-filtros-label:before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cres-laranja);
        }

/* Botão de ação primário (laranja) e secundário (neutro) */
.dep-btn-novo,
.dep-btn-acao {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: none;
    border-radius: 6px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s ease;
}

.dep-btn-novo {
    /* CTA principal do guia = azul petróleo (contrasta com o header verde da grade) */
    background: var(--cad-petroleo);
    color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
}

    .dep-btn-novo:hover {
        background: #22414c;
    }

.dep-btn-acao {
    background: #eceeec;
    color: #333;
}

    .dep-btn-acao:hover {
        background: #dfe2df;
    }

/* Ação de linha que leva a outra tela (ex.: "Módulos" na árvore de dependências): verde suave
   com contorno, preenche no hover. Destaca sem competir com o botão principal (laranja), já
   que se repete em todas as linhas. */
.dep-btn-acao.dep-btn-linha {
    background: var(--cres-green-soft);
    color: var(--cres-green-dark);
    box-shadow: inset 0 0 0 1px var(--cres-green);
    padding: 8px 14px;
    transition: background .15s ease, color .15s ease;
}

    .dep-btn-acao.dep-btn-linha::after {
        content: '\203A';
        font-size: 15px;
        line-height: 1;
        transition: transform .15s ease;
    }

    .dep-btn-acao.dep-btn-linha:hover {
        background: var(--cres-green);
        color: #fff;
    }

        .dep-btn-acao.dep-btn-linha:hover::after {
            transform: translateX(2px);
        }

    /* Variante de download (grade de módulos da declaração): seta para baixo ANTES do texto,
       no lugar do "›" de navegação. */
    .dep-btn-acao.dep-btn-baixar::after {
        content: none;
    }

    .dep-btn-acao.dep-btn-baixar::before {
        content: '\2193';
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
    }

/* ============================================================
 * Páginas de formulário (Create/Edit) — Dependência, PGCC, ...
 * Estava duplicado em cada view; centralizado aqui para que o
 * título e o espaçamento sejam os MESMOS do padrão de listagem.
 * ============================================================ */
.dep-page {
    max-width: 1040px;
    margin: 0 auto;
    /* 0.75rem no topo = mesmo respiro do #divMainChart das listagens */
    padding: 0.75rem 4px 24px;
}

    /* Mesmo tratamento do título das listagens (.heading-main h2):
       verde da marca, centralizado, caixa alta e 20px de respiro abaixo. */
    .dep-page h1 {
        color: var(--cres-green);
        font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
        font-size: 20px;
        font-weight: 300;
        line-height: 32px;
        text-align: center;
        text-transform: uppercase;
        margin: 0 0 20px;
    }

.dep-actions {
    display: flex;
    gap: 10px;
    margin-top: 8px;
}

.dep-btn {
    display: inline-block;
    border: none;
    border-radius: 6px;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
}

.dep-btn-salvar {
    /* CTA principal do guia = azul petróleo (contrasta com o header verde da grade) */
    background: var(--cad-petroleo);
    color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
}

    .dep-btn-salvar:hover {
        background: #22414c;
    }

.dep-btn-cancelar {
    background: #eceeec;
    color: #333;
}

    .dep-btn-cancelar:hover {
        background: #dfe2df;
    }

.dep-erro {
    background: #fdecea;
    border: 1px solid #f5c6cb;
    border-left: 4px solid var(--cres-danger);
    border-radius: 6px;
    padding: 12px 16px;
    margin-bottom: 16px;
}

    .dep-erro, .dep-erro ul, .dep-erro li, .dep-erro span, .dep-erro * {
        color: var(--cres-danger) !important;
    }

/* Fonte das células (o tema forca inherit !important) */
#divPanelGrid1 table.dxgvTable_Metropolis td.dxgv {
    font-size: 10pt !important;
}

/* Cabeçalho do grid na cor da marca (sem sumir o texto no hover) */
#divPanelGrid1 .dxgvHeader_Metropolis,
#divPanelGrid1 .dxgvHeader_Metropolis:hover {
    background-color: var(--cres-green) !important;
    background-image: none !important;
    border-color: var(--cres-green-dark) !important;
    /* horizontal igual ao padding das células (10px) para o nome da coluna
       ficar alinhado com os valores */
    padding: 10px !important;
}

#divPanelGrid1 .dxgvHeader_Metropolis,
#divPanelGrid1 .dxgvHeader_Metropolis *,
#divPanelGrid1 .dxgvHeader_Metropolis:hover,
#divPanelGrid1 .dxgvHeader_Metropolis:hover * {
    color: #fff !important;
}

/* Realce da linha sob o cursor */
#divPanelGrid1 .dxgvDataRow_Metropolis:hover td.dxgv {
    background-color: var(--cres-green-soft) !important;
}

/* Ícones de ação nas células: respiro + feedback */
#divPanelGrid1 td.dxgv img {
    margin: 0 6px;
    transition: opacity .15s ease;
}

    #divPanelGrid1 td.dxgv img:hover {
        opacity: .55;
        cursor: pointer;
    }

/* PageControl que envolve o grid: sem bordas nem padding (o card é o #divPanelGrid1) */
#divPanelGrid1 [class*="dxtc"] {
    border: none !important;
}

#divPanelGrid1 #ces-grid-Form_C0,
#divPanelGrid1 .dxtc-content {
    padding: 0 !important;
}

/* Card com borda suave ao redor do grid */
#divMainChart #divPanelGrid1 {
    padding-top: 0 !important;
    border: 1px solid var(--cres-border);
    border-radius: 8px;
}

/* A barra de filtros nao tem borda, entao o card do grid mantem a borda completa. */

/* Linha de filtros do grid: inputs na altura do form e respiro vertical */
#divPanelGrid1 .dxgvFilterRow_Metropolis td {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

#divPanelGrid1 .dxgvFilterRow_Metropolis input.dxeEditArea {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

/* Toast de sucesso/erro (função global depToast no _rootLayout) */
.dep-toast-wrap {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}

.dep-toast {
    min-width: 260px;
    max-width: 380px;
    padding: 14px 18px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .45);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.35;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    pointer-events: auto;
    opacity: 0;
    transform: translateX(40px);
    animation: dep-toast-in .3s ease forwards;
}

    .dep-toast.sucesso {
        background: #1565c0;
    }

    .dep-toast.erro {
        background: #c0392b;
    }

    .dep-toast.saindo {
        animation: dep-toast-out .4s ease forwards;
    }

    .dep-toast .dep-toast-ico {
        flex: 0 0 auto;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .22);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
    }

@keyframes dep-toast-in {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes dep-toast-out {
    to {
        opacity: 0;
        transform: translateX(40px);
    }
}


/* ============================================================
 * Menu lateral FIXO (sidebar) — substitui o drawer. O .headerMenu
 * antigo (DevExpress) e o hamburguer ficam OCULTOS (precaução: o
 * menu antigo continua no HTML). Para restaurar: remover esta seção
 * e reexibir .headerMenu / .box-navbar.
 * ============================================================ */

/* Esconde o menu DevExpress antigo, o hamburguer e o drawer anterior */
.ces-header .headerMenu,
.ces-header .box-navbar,
.ces-sidenav,
.ces-sidenav-overlay {
    display: none !important;
}

/* Sidebar fixo à esquerda, abaixo do header (65px). Só quando logado. */
body.has-user .ces-sidebar {
    position: fixed;
    top: 65px;
    left: 0;
    bottom: 0;
    width: 260px;
    background: #fff;
    border-right: 1px solid var(--cres-border);
    box-shadow: 2px 0 10px rgba(0, 0, 0, .04);
    overflow-y: auto;
    z-index: 98;
    display: flex;
    flex-direction: column;
    padding-bottom: 6px;
}

/* Header fixo no topo (só quando logado) */
body.has-user .ces-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
}

/* Saudação no canto direito do header (movida do conteúdo) */
.ces-header-user {
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

/* Remove a saudação (h1) da área de conteúdo — agora fica no header */
.heading-main h1 {
    display: none !important;
}

/* ===== Padrão de título de página (mesmo em todas as telas) =====
   A saudação saiu para o header, então o bloco dela fica vazio: altura auto
   faz ele colapsar. O respiro abaixo do título vem SÓ daqui (margem do h2),
   para não haver espaçamento diferente por tela. */
#divMainChart .heading-main {
    height: auto;
}

    #divMainChart .heading-main h2 {
        margin: 0 0 20px !important;
    }

/* Conteúdo e rodapé deslocados para a direita (largura do sidebar) */
body.has-user .mainContentPane,
body.has-user .ces-footer {
    margin-left: 260px;
}

/* Espaço para o header fixo (65px) — evita o conteúdo entrar embaixo dele */
body.has-user .mainContentPane {
    margin-top: 65px;
}

/* Grupo (nível 1) */
.ces-sb-group {
    border-bottom: 1px solid #f1f3f1;
}

    .ces-sb-group > summary {
        list-style: none;
        cursor: pointer;
        padding: 13px 16px;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
        color: var(--cres-green);
        display: flex;
        align-items: center;
        justify-content: space-between;
        user-select: none;
    }

        .ces-sb-group > summary::-webkit-details-marker {
            display: none;
        }

        .ces-sb-group > summary::after {
            content: '\25B8';
            font-size: 11px;
            color: #9aa8a0;
            transition: transform .15s ease;
        }

    .ces-sb-group[open] > summary::after {
        transform: rotate(90deg);
    }

/* Item (link) */
.ces-sb-item {
    display: block;
    padding: 9px 16px 9px 22px;
    color: #23302a;
    text-decoration: none;
    font-size: 13px;
    border-left: 3px solid transparent;
    transition: background .12s ease, color .12s ease;
}

    .ces-sb-item:hover {
        background: var(--cres-green-soft);
        border-left-color: var(--cres-green);
        color: var(--cres-green);
    }

    .ces-sb-item.ativo {
        background: var(--cres-green-soft);
        border-left-color: var(--cres-green);
        color: var(--cres-green);
        font-weight: 600;
    }

/* Subgrupo (nível 2) */
.ces-sb-sub > summary {
    list-style: none;
    cursor: pointer;
    padding: 9px 16px 9px 22px;
    font-size: 13px;
    font-weight: 600;
    color: #33413a;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
}

    .ces-sb-sub > summary::-webkit-details-marker {
        display: none;
    }

    .ces-sb-sub > summary::after {
        content: '\25B8';
        font-size: 10px;
        color: #9aa8a0;
        transition: transform .15s ease;
    }

.ces-sb-sub[open] > summary::after {
    transform: rotate(90deg);
}

.ces-sb-sub .ces-sb-item {
    padding-left: 36px;
    font-size: 12.5px;
}

/* Sair fixo no fim */
/* Item fixo "Dashboard" no topo: mesmo peso visual do título dos grupos. */
.ces-sb-inicio {
    padding: 13px 16px;
    font-weight: 600;
    border-bottom: 1px solid #f1f3f1;
}

.ces-sb-sair {
    margin-top: auto;
    border-top: 1px solid var(--cres-border);
    color: #c0392b;
    font-weight: 600;
}

    .ces-sb-sair:hover {
        background: #fdecea;
        border-left-color: #c0392b;
        color: #c0392b;
    }

/* Botão MENU do header: rótulo e ícone alinhados ao centro (flex) e
   centralização vertical por transform — vale para qualquer altura de header */
.ces-header .box-navbar .toggle-nav {
    display: flex;
    align-items: center;
    margin-top: 0;
    transform: translateY(-50%);
    cursor: pointer;
}

/* =====================================================================
   Painel de downloads dos PAs (#56820) — tela principal.
   Gráficos em HTML/SVG puro (sem dependência nova), paleta CADOC's.
   ===================================================================== */
.dash {
    width: 93%;
    margin: 0 auto 24px;
    text-align: left;
    box-sizing: border-box;
    color: var(--cres-ink);
}

.dash-vazio {
    color: var(--cres-muted);
    font-size: 13px;
    padding: 12px 4px;
}

/* ---- filtros ---- */
.dash-filtros {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 14px;
    box-shadow: 0 1px 2px rgba(22,42,50,.08);
}

    .dash-filtros .dash-filtros-label {
        font-weight: 700;
        font-size: 13px;
        color: var(--cad-verde);
        margin-right: 4px;
    }

    .dash-filtros label {
        font-size: 12px;
        color: var(--cres-muted);
    }

    .dash-filtros select {
        font-family: inherit;
        font-size: 13px;
        color: var(--cres-ink);
        background: #fff;
        border: 1px solid var(--cres-border);
        border-radius: 6px;
        padding: 6px 8px;
        max-width: 320px;
    }

.dash-btn-aplicar {
    border: none;
    cursor: pointer;
    font-family: inherit;
}

/* ---- indicadores ---- */
/* Grade com nº fixo de colunas (4 → 2 → 1, ver media queries no fim da seção): com
   flex-wrap o 4º cartão sobrava sozinho numa linha inteira. */
.dash-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.dash-kpi {
    background: #fff;
    border-radius: 10px;
    padding: 14px 16px;
    box-shadow: 0 1px 2px rgba(22,42,50,.08);
    border-left: 4px solid var(--cad-verde);
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

    .dash-kpi:nth-child(2) { border-left-color: var(--cad-azul); }
    .dash-kpi:nth-child(3) { border-left-color: var(--cad-petroleo); }
    .dash-kpi:nth-child(4) { border-left-color: var(--cad-mint); }

.dash-kpi-rotulo {
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--cres-muted);
}

.dash-kpi-valor {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--cad-petroleo);
}

.dash-kpi-valor-menor {
    font-size: 22px;
    padding: 5px 0 3px;
}

.dash-kpi-obs {
    font-size: 12px;
    color: var(--cres-muted);
}

.dash-kpi-barra {
    display: block;
    height: 5px;
    border-radius: 3px;
    background: #eef2f0;
    margin-top: 6px;
    overflow: hidden;
}

    .dash-kpi-barra i {
        display: block;
        height: 100%;
        background: var(--cad-verde);
        border-radius: 3px;
    }

/* ---- cartões ---- */
.dash-card {
    background: #fff;
    border-radius: 10px;
    padding: 14px 18px 18px;
    margin-bottom: 14px;
    box-shadow: 0 1px 2px rgba(22,42,50,.08);
    box-sizing: border-box;
}

.dash-card-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--cres-border);
    padding-bottom: 8px;
    margin-bottom: 14px;
}

    .dash-card-head h3 {
        font-size: 15px;
        font-weight: 700;
        color: var(--cad-petroleo);
        margin: 0;
    }

.dash-card-obs {
    font-size: 12px;
    color: var(--cres-muted);
}

.dash-legenda {
    display: flex;
    gap: 14px;
    font-size: 12px;
    color: var(--cres-muted);
}

.dash-legenda-item {
    display: flex;
    align-items: center;
    gap: 5px;
}

.dash-chip {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
    flex: none;
}

.dash-chip-download { background: var(--cad-verde); }
.dash-chip-pa { background: var(--cad-azul); }

/* ---- barras por mês ---- */
.dash-barras {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 220px;
}

.dash-barra-col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    min-width: 0;
}

.dash-barra-valor {
    font-size: 11px;
    color: var(--cres-muted);
    height: 16px;
    line-height: 16px;
}

.dash-barra-par {
    flex: 1 1 auto;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 3px;
}

.dash-barra {
    display: block;
    width: 42%;
    max-width: 26px;
    min-height: 2px;
    border-radius: 3px 3px 0 0;
    transition: opacity .15s;
}

.dash-barra-download { background: var(--cad-verde); }
.dash-barra-pa { background: var(--cad-azul); }

.dash-barra-col:hover .dash-barra { opacity: .82; }

.dash-barra-rotulo {
    font-size: 11.5px;
    color: var(--cres-muted);
    padding-top: 6px;
    text-transform: capitalize;
}

/* ---- duas colunas (módulo x ranking) ---- */
.dash-colunas {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

    .dash-colunas > .dash-card {
        flex: 1 1 340px;
        min-width: 300px;
    }

/* ---- donut por módulo ---- */
.dash-donut-wrap {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.dash-donut {
    width: 160px;
    height: 160px;
    flex: none;
}

.dash-donut-num {
    font-size: 22px;
    font-weight: 700;
    fill: var(--cad-petroleo);
}

.dash-donut-txt {
    font-size: 10px;
    fill: #7a8f89;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.dash-lista-modulo {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1 1 160px;
}

    .dash-lista-modulo li {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 13px;
        padding: 5px 0;
        border-bottom: 1px dashed var(--cres-border);
    }

        .dash-lista-modulo li:last-child { border-bottom: none; }

.dash-lista-nome {
    flex: 1 1 auto;
    color: var(--cres-ink);
}

.dash-lista-valor {
    font-weight: 700;
    color: var(--cad-petroleo);
}

    .dash-lista-valor em {
        font-style: normal;
        font-weight: 400;
        color: var(--cres-muted);
        font-size: 12px;
    }

/* ---- ranking de instituições ---- */
.dash-ranking {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .dash-ranking li {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 12.5px;
        padding: 5px 0;
    }

.dash-ranking-nome {
    flex: 0 0 42%;
    color: var(--cres-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-ranking-barra {
    flex: 1 1 auto;
    height: 12px;
    background: #eef2f0;
    border-radius: 6px;
    overflow: hidden;
}

    .dash-ranking-barra i {
        display: block;
        height: 100%;
        background: var(--cad-verde);
        border-radius: 6px;
    }

.dash-ranking-valor {
    flex: 0 0 54px;
    text-align: right;
    font-weight: 700;
    color: var(--cad-petroleo);
}

/* Título de seção fora do cartão (grade do histórico, no recorte de 93% das listagens) */
.dash-secao {
    width: 93%;
    margin: 18px auto 8px;
    font-size: 15px;
    font-weight: 700;
    color: var(--cad-petroleo);
    text-align: left;
}

.dep-grid-toolbar .dash-card-obs {
    font-size: 12px;
    color: var(--cres-muted);
}

@media (max-width: 900px) {
    .dash-barras { height: 180px; }
    .dash-barra-rotulo { font-size: 10px; }
    /* Nome numa linha própria; barra + valor na de baixo. Sem o wrap o nome a 100%
       zerava a barra e empurrava o valor para fora do cartão (rolagem horizontal). */
    .dash-ranking li { flex-wrap: wrap; row-gap: 3px; }
    .dash-ranking-nome { flex: 0 0 100%; }
    .dash-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
    .dash-kpis { grid-template-columns: 1fr; }
}

/* Ranking de competências: nome estreito (só MM/AAAA) + coluna de PAs */
.dash-ranking-competencia .dash-ranking-nome {
    flex: 0 0 72px;
}

.dash-ranking-obs {
    flex: 0 0 70px;
    text-align: right;
    font-size: 11.5px;
    color: var(--cres-muted);
}

/* ============================================================
 * Encaixe em telas HD (zoom proporcional)
 * O grid é mais largo que uma tela HD; em vez de cortar/quebrar a coluna
 * "Ações", encolhemos a página inteira de forma proporcional. Telas largas
 * (>1450px, Full HD) ficam intactas. `zoom` não afeta a largura que a media
 * query enxerga, então não há laço de realimentação.
 * ============================================================ */
@media (max-width: 1450px) { body { zoom: 0.92; } }
@media (max-width: 1250px) { body { zoom: 0.85; } }
@media (max-width: 1080px) { body { zoom: 0.80; } }
@media (max-width: 940px)  { body { zoom: 0.72; } }

/* Coluna de Ações das grades: os ícones ficam sempre numa linha só (não empilhar
   no HD) e bem juntos, para caber na largura comprimida. */
td[class*="dxgvCommandColumn"] { white-space: nowrap !important; }
td[class*="dxgvCommandColumn"] a,
td[class*="dxgvCommandColumn"] img { margin-left: 1px !important; margin-right: 1px !important; }
