/* Minification failed. Returning unminified contents.
(5,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(12,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(13,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(86,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(206,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(207,22): run-time error CSS1039: Token not allowed after unary operator: '-c-red'
(242,33): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(243,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(293,35): run-time error CSS1039: Token not allowed after unary operator: '-c-grey'
(306,32): run-time error CSS1039: Token not allowed after unary operator: '-c-grey'
(314,17): run-time error CSS1039: Token not allowed after unary operator: '-c-red'
(340,71): run-time error CSS1039: Token not allowed after unary operator: '-c-red'
(362,32): run-time error CSS1046: Expect comma, found '128'
(362,40): run-time error CSS1046: Expect comma, found '/'
(368,28): run-time error CSS1039: Token not allowed after unary operator: '-c-grey'
(376,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(382,37): run-time error CSS1039: Token not allowed after unary operator: '-c-red'
(419,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(428,21): run-time error CSS1039: Token not allowed after unary operator: '-c-red'
(442,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(573,28): run-time error CSS1039: Token not allowed after unary operator: '-secondary-color'
(578,17): run-time error CSS1039: Token not allowed after unary operator: '-primary-color'
(583,32): run-time error CSS1039: Token not allowed after unary operator: '-primary-color'
(612,28): run-time error CSS1039: Token not allowed after unary operator: '-secondary-color'
(851,28): run-time error CSS1039: Token not allowed after unary operator: '-c-odd-row'
(871,17): run-time error CSS1039: Token not allowed after unary operator: '-c-red'
(883,28): run-time error CSS1039: Token not allowed after unary operator: '-c-red'
(890,28): run-time error CSS1039: Token not allowed after unary operator: '-c-background'
(935,17): run-time error CSS1039: Token not allowed after unary operator: '-c-red'
(1041,10): run-time error CSS1030: Expected identifier, found '.'
(1041,29): run-time error CSS1031: Expected selector, found ')'
(1041,29): run-time error CSS1025: Expected comma or open brace, found ')'
(1062,17): run-time error CSS1039: Token not allowed after unary operator: '-text-color'
(1064,22): run-time error CSS1039: Token not allowed after unary operator: '-control-shadow'
(1065,33): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(1065,76): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(1071,26): run-time error CSS1039: Token not allowed after unary operator: '-primary-color'
(1082,33): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(1094,17): run-time error CSS1039: Token not allowed after unary operator: '-red'
(1241,26): run-time error CSS1039: Token not allowed after unary operator: '-control-shadow'
(1282,21): run-time error CSS1039: Token not allowed after unary operator: '-text-color'
(1299,26): run-time error CSS1030: Expected identifier, found '['
(1299,36): run-time error CSS1031: Expected selector, found '='
(1299,36): run-time error CSS1025: Expected comma or open brace, found '='
(1303,30): run-time error CSS1030: Expected identifier, found '['
(1303,40): run-time error CSS1031: Expected selector, found '='
(1303,40): run-time error CSS1025: Expected comma or open brace, found '='
(1333,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1342,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1359,43): run-time error CSS1039: Token not allowed after unary operator: '-c-red'
(1434,30): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1503,32): run-time error CSS1039: Token not allowed after unary operator: '-primary-color'
 */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Sora:wght@100..800&display=swap');
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400; 500;600&display=swap");

:root {
    --transition-speed: 0.1s;
    --radius: 8px;
    --c-red: #C12E3C;
    --c-grey: #9c9c9d;
    --c-background: #424243;
    --primary-color: #C12E3C;
    --secondary-color: rgb(229 128 128 / 0.3);
    --control-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
    --c-odd-row: #f9f9f9;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Montserrat", "Sora", sans-serif;
    font-weight: 400;
    font-size: clamp(14px, 1.2dvw, 16px);
    font-optical-sizing: auto;
}

    *:after, *:before {
        box-sizing: border-box;
    }

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100dvh;
    background-attachment: scroll;
}

html, body {
    -webkit-text-size-adjust: 100%;
}

header, footer {
    position: sticky;
    left: 0;
    right: 0;
    z-index: 5;
    overflow: visible;
}

    header .menu, footer {
        padding: .5rem 4rem;
    }

footer {
    top: 100dvh;
    margin-top: 2rem;
    z-index: 4;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-content: center;
    align-items: center;
    height: auto;
}

.form-control {
    font-size: clamp(14px, 1.2dvw, 16px);
}

#localLoading img,
.load-wrapper.local img {
    max-height: 5dvh !important;
}

.load-wrapper {
    text-align: center;
    padding: 0 !important;
    z-index: 1090;
    position: relative;
    display: flex;
    justify-content: center; /* Centers horizontally */
    align-items: center; /* Centers vertically */
    background-color: #fff;
    background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(236, 240, 243, 0) 30%);
    border-radius: var(--radius);
}

.load {
    opacity: .95;
    height: 100%;
    width: 100dvw;
    position: fixed;
    top: 0;
    left: 0;
    backdrop-filter: blur(10px);
    background: rgba(63, 50, 81, 0.7);
    background-image: linear-gradient(45deg, #fff -100%, #404040 100%);
}

.load-wrapper .load img {
    height: 40dvh;
    object-fit: scale-down;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -20dvh;
    margin-top: -20dvh;
}

.loader-circle {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20dvh;
    height: 20dvh;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
    margin-left: -10dvh;
    margin-top: -10dvh;
}

.loader-line-mask {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10dvh;
    height: 20dvh;
    margin-left: -10dvh;
    margin-top: -10dvh;
    overflow: hidden;
    transform-origin: 10dvh 10dvh;
    -webkit-mask-image: -webkit-linear-gradient(top, #000000, rgba(0, 0, 0, 0));
    animation: rotate 1.2s infinite linear;
}

    .loader-line-mask .loader-line {
        width: 20dvh;
        height: 20dvh;
        border-radius: 50%;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
    }

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.menu,
.navbar-sticky-top {
    top: env(safe-area-inset-top);
    top: constant(safe-area-inset-top); /* iOS antigo */
    top: 0rem;
    height: auto !important;
    min-height: 5rem;
    margin-bottom: 3rem;
}

.menu,
footer,
.navbar-neo,
.nav-usr-logon {
    padding: .5rem 10rem;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-content: center;
    align-items: center;
    height: auto;
    background: rgba(255, 255, 255, 0.19);
    border-radius: 0 0 16px 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(9.1px);
    -webkit-backdrop-filter: blur(9.1px);
    border: 1px solid rgba(255, 255, 255, 0.64) !important;
}

footer {
    border-radius: 16px 16px 0 0;
}

.menu,
.app-footer,
.navbar-sticky-top .navbar-neo,
.navbar-sticky-top .nav-usr-logon {
    width: 100%;
    background-image: unset;
}

.nav-usr {
    display: flex;
    justify-content: space-around;
    flex-direction: row;
    align-content: center;
    align-items: center;
    position: inherit;
    height: auto;
}

.nav-usr-logon ul li:not(.logo):hover {
    border-radius: var(--radius);
    background: var(--c-red);
    color: #fff !important;
}

.nav-usr-logon ul li.logo:hover {
    background: transparent !important;
    color: unset !important;
}

.nav-usr-logon ul li:hover .glyphicon {
    color: #fff !important;
}

.menu {
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    align-content: center;
    align-items: center;
    height: auto;
}

.menu-container {
    flex: 1 1;
    height: auto;
    padding: 0 2rem;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

input[type=submit],
input[type=button],
button {
    position: relative;
    transition: box-shadow var(--transition-speed) ease-in-out;
    border-radius: var(--radius) !important;
    font-weight: 600;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
    overflow: hidden;
    outline: none;
    padding: 1rem 2rem;
}

    input[type=submit]:focus,
    input[type=button]:focus,
    button:focus,
    input[type=submit]:active:focus,
    input[type=button]:active:focus,
    button:active:focus {
        outline: none;
    }

.d-flex {
    display: flex;
    margin: 0 auto;
    width: 100%;
}

.jc-around {
    justify-content: space-around;
}

.jc-evenly {
    justify-content: space-evenly;
}

.jc-between {
    justify-content: space-between;
}

.fd-column {
    flex-direction: column;
}

.ai-center {
    align-items: center;
}

.title {
    margin-top: 2rem;
}

.divider {
    background-image: none;
    border-bottom: 1px solid var(--c-grey);
    background-color: #fff;
    height: 1px;
    margin: .5em 0 2rem;
    position: relative;
    display: block;
}

    .divider::before {
        content: "";
        display: block;
        width: 5%;
        height: .5rem;
        background-color: var(--c-grey);
        position: absolute;
        left: 0;
    }

.heading {
    letter-spacing: 0.08em;
    font-weight: 500;
    color: var(--c-red);
    text-align: start;
    margin-bottom: 0;
    margin: 1rem auto 0;
}

h4.heading {
    margin-top: 4rem;
}

.separator {
    position: relative;
    margin-top: 1rem;
    margin-bottom: 2rem;
    height: 1px;
    display: block;
}

    .separator::before {
        content: "";
        position: absolute;
        top: 0;
        left: 5%;
        right: 5%;
        width: 90%;
        height: 1px;
        background-image: linear-gradient(to right, transparent, var(--c-red), transparent);
    }

footer .app-container {
    text-align: center;
    margin: 1rem auto 0 !important;
}

footer .separator {
    margin-bottom: 1rem;
}

.form-control {
    border: unset;
    border-radius: 4px;
    background-color: rgb(255, 255, 255);
    box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(60, 66, 87, 0.16) 0px 0px 0px 1px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px;
    transition: none;
}

    .form-control:focus {
        outline: auto;
        outline-color: rgb(229 128 128 / 0.5);
        box-shadow: none;
    }

.app-body {
    font-family: "Inter", sans-serif;
    background-color: var(--c-grey);
    background: url(../Content/assets/background.png) no-repeat center top;
    background-size: cover;
}

.app-form {
    background-color: #fff;
    margin: 2rem auto 1rem;
    border-radius: var(--radius);
    padding: 3rem 4rem 1rem;
    max-width: 95dvw;
}

    .app-form.emphasis {
        border-left: 5px solid var(--c-red);
    }

.app-container {
    margin: 2rem auto .5rem !important;
    width: 100%;
}

/*.app-form > section > * {
        margin: 0 auto !important;
        width: 100%;
    }*/

.app-form-title {
    text-align: center;
    font-weight: 600;
    font-size: 2rem;
    padding: 0 !important;
    margin: 1rem 0 3rem;
}

.form-flex {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-start;
}

    .form-flex.column {
        flex-direction: column;
        flex-wrap: nowrap;
    }

.app-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: var(--radius) !important;
}

    .app-table caption {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 1.7rem;
        font-weight: 500;
        color: var(--c-red);
    }

        .app-table caption.tc {
            caption-side: top !important;
            text-align: center !important;
        }

        .app-table caption.tl {
            caption-side: top !important;
            text-align: left !important;
        }

    .app-table .accordion:hover {
        --bs-table-accent-bg: white !important;
        background-color: inherit !important;
    }

    .bolder,
    .app-table thead th {
        font-weight: 600 !important;
    }

    .app-table .col-detail {
        display: none !important;
    }

    .app-table tr td .accordion-details {
        display: grid;
        row-gap: 1rem;
        grid-template-columns: repeat(3, auto);
    }

        .app-table tr td .accordion-details .row-detail .meta {
            font-weight: 600;
        }

    .app-table tr td.acoes {
        display: flex;
        padding-top: 1rem;
        justify-content: space-between;
    }

    .app-table button {
        padding: .5rem 1rem !important;
    }

        .app-table button:after {
            height: 4rem !important;
            width: 8rem !important;
        }

        .app-table button:hover:after,
        .app-table button:focus:after,
        .app-table button:active:after {
            -webkit-transform: translateX(60%) translateY(-60%) rotate(45deg) !important;
            transform: translateX(60%) translateY(-60%) rotate(45deg) !important;
        }

.app-table-actions {
    display: flex;
    justify-content: space-evenly;
    padding: .4rem 0 !important;
    border-top: none !important;
    column-gap: 1rem;
    margin: 0 2rem;
}

    .app-table-actions input[type=button],
    .app-table-actions button {
        border: none;
        font-size: inherit;
        font-weight: 400;
        padding: .5rem 1rem;
    }

.app-table tr.total[data-resp=first] {
    border-bottom: 0;
}

.app-table tr.total td {
    background-color: #f1f1f1;
    font-weight: 600 !important;
    text-align: end;
    margin-bottom: 1rem;
}

.app-button-container {
    margin: 2rem auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    grid-gap: 1rem;
    position: relative;
}

.tabs {
    display: flex;
    position: relative;
    background-color: #fff;
    box-shadow: 0 0 1px 0 rgba(24, 94, 224, 0.15), 0 6px 12px 0 rgba(24, 94, 224, 0.15);
    padding: 0.75rem;
    border-radius: 99px;
    margin: 0 auto;
}

    .tabs::-webkit-scrollbar {
        display: none; /* Chrome, Safari */
    }

    .tabs * {
        z-index: 2;
    }

    .tabs input[type="radio"] {
        pointer-events: none;
        display: none;
    }

.tab {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    width: 200px;
    font-size: 1.5rem;
    font-weight: 500;
    border-radius: 99px;
    cursor: pointer;
    transition: color 0.15s ease-in;
    padding-top: .3rem;
    max-width: 100%;
    margin-bottom: 5px;
}

.notification {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-left: 0.75rem;
    border-radius: 50%;
    background-color: var(--secondary-color);
    transition: 0.15s ease-in;
}

input[type="radio"]:checked + label {
    color: var(--primary-color);
    font-weight: 600;
}

    input[type="radio"]:checked + label > .notification {
        background-color: var(--primary-color);
        color: #fff;
    }

input[id="tab-1"]:checked ~ .tabs-container .glider {
    transform: translateX(0);
}

input[id="tab-2"]:checked ~ .tabs-container .glider {
    transform: translateX(100%);
}

input[id="tab-3"]:checked ~ .tabs-container .glider {
    transform: translateX(200%);
}

input[id="tab-4"]:checked ~ .tabs-container .glider {
    transform: translateX(300%);
}

input[id="tab-5"]:checked ~ .tabs-container .glider {
    transform: translateX(400%);
}

.glider {
    position: absolute;
    display: flex;
    height: 30px;
    width: 200px;
    background-color: var(--secondary-color);
    z-index: 1;
    border-radius: 99px;
    transition: 0.25s ease-out;
}

.tab-panel {
    display: none;
    animation: fade .25s ease-in-out;
}

@keyframes fade {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

#tab-1:checked ~ .tabs-content .panel-1 {
    display: block;
}

#tab-2:checked ~ .tabs-content .panel-2 {
    display: block;
}

#tab-3:checked ~ .tabs-content .panel-3 {
    display: block;
}

#tab-4:checked ~ .tabs-content .panel-4 {
    display: block;
}

#tab-5:checked ~ .tabs-content .panel-5 {
    display: block;
}

.tabs-scope {
    margin: 0 auto;
}

.iframe-wrapper {
    position: relative;
    height: 70dvh;
    display: flex;
}

.pdf-frame {
    width: 100%;
    height: 100%;
    border: none;
}

    .pdf-frame.loading {
        filter: blur(3px);
    }

.iframe-skeleton {
    position: absolute;
    inset: 0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

    .iframe-skeleton.hidden {
        display: none;
    }

/* Container base do skeleton */
.skeleton {
    background: linear-gradient( 90deg, #e0e0e0 25%, #f0f0f0 37%, #e0e0e0 63% );
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite;
    border-radius: 6px;
    margin-bottom: 10px;
}

/* Efeito shimmer */
@keyframes skeleton-loading {
    0% {
        background-position: 100% 0;
    }

    100% {
        background-position: -100% 0;
    }
}

.skeleton-title {
    width: 60%;
    height: 28px;
}

.skeleton-line {
    width: 100%;
    height: 16px;
}

    .skeleton-line.short {
        width: 40%;
    }

.skeleton-card {
    height: 120px;
    width: 100%;
    border-radius: 12px;
}

.iframe-skeleton .skeleton-card {
    height: 100%;
}

.resp-only {
    display: none !important;
}

.anexos_link {
    cursor: pointer;
    color: #337ab7;
    text-decoration: underline;
}

    .anexos_link:hover {
        cursor: pointer;
        color: #23527c;
        text-decoration: underline;
    }

.viewer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.4);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    z-index: 999;
}

    .viewer-overlay.open {
        opacity: 1;
        pointer-events: auto;
    }

/* BOTTOM SHEET */
.viewer-drawer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    max-height: 85vh;
    background: #fff;
    transform: translateY(100%);
    transition: transform .35s ease;
    z-index: 1080;
    box-shadow: 0 -8px 20px rgba(0,0,0,.25);
    display: flex;
    flex-direction: column;
    border-radius: 16px 16px 0 0;
}

    .viewer-drawer.open {
        transform: translateY(0);
    }

.viewer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .5rem 1.5rem;
    border-bottom: 1px solid #ddd;
    background: #f8f8f8;
    border-radius: 12px 12px 0 0;
}

.viewer-actions {
    display: flex;
    gap: 8px;
}

    .viewer-actions button {
        padding: .4rem 1.5rem !important;
    }

.viewer-content {
    overflow-y: auto;
    overscroll-behavior: none;
    margin: 0 .5rem;
    padding: 0;
}

.viewer-frame {
    width: 100%;
    height: 100%;
    border: none;
    display: none;
}

.viewer-skeleton {
    padding: 20px;
    text-align: center;
    color: #888;
}

.viewer-handle {
    width: 40px;
    height: 5px;
    background: #ccc;
    border-radius: 3px;
    margin: 8px auto 4px auto;
}

.viewer-container {
    margin-left: auto;
    margin-right: auto;
}

.pe-none {
    pointer-events: none;
}

.pointer {
    cursor: pointer;
}

.p-right-2 {
    padding-right: 2rem;
}

.odd-row {
    background-color: var(--c-odd-row);
}

.anexos_link {
    cursor: pointer;
    color: #337ab7;
    text-decoration: underline;
}

    .anexos_link:hover {
        cursor: pointer;
        color: #23527c;
        text-decoration: underline;
    }

span.anexos_link {
    display: block;
}

.glyph-over {
    color: var(--c-red);
    position: absolute;
    top: -10px;
    left: 50%;
}

.badge.glyph-over {
    padding: 2px 5px;
    font-size: 1.2rem;
}

.badge.red {
    background-color: var(--c-red);
    color: #fff;
}

.badge.basic {
    background-color: #fff;
    color: #555;
    border: solid 1px var(--c-background);
}

.mb-2 {
    margin-bottom: 2rem;
}

.enterprise {
    text-align: end;
    width: max-content;
}

    .enterprise p {
        font-size: 1.6rem;
        font-weight: 500;
        margin: 0 0 .2rem 0;
    }

.download-icon {
    position: relative;
    top: 1px;
    display: inline-block;
    margin-left: 1rem;
}

    .download-icon:before {
        content: "\e026";
        font-family: 'Glyphicons Halflings';
        font-style: normal;
        font-weight: 400;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

.fade-off {
    opacity: .25;
    pointer-events: none;
}

.glyphicon-folder-open {
    color: #f2994a;
}

.nofiles {
    color: var(--c-red);
    position: absolute;
    top: 40%;
    left: 65%;
}

.icon {
    position: relative;
}

.icon.margin:not(.after) {
    padding-left: 35px;
}

.icon.margin.after {
    padding-right: 35px;
}

    .icon::before, .icon::after {
        font-family: 'Glyphicons Halflings';
        font-style: normal;
        font-weight: 400;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        pointer-events: none;
        color: inherit;
    }

    .icon:not(.margin):not(.after)::before {
        margin-right: 5px;
    }

    .icon.aft:not(.margin)::after {
        margin-left: 5px;
    }

    .icon.margin:not(.after)::before {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    .icon.margin.after::after {
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    .icon.check:not(.after)::before {
        content: "\e013";
    }

    .icon.after.check::after {
        content: "\e013";
    }

    .icon.cross:not(.after)::before {
        content: "\e014";
    }

    .icon.after.cross::before {
        content: "\e014";
    }

    .icon.question:not(.after)::before {
        content: "\e085";
    }

    .icon.after.question::before {
        content: "\e085";
    }

    .icon.send:not(.after)::before {
        content: "\e171";
    }

    .icon.after.send::before {
        content: "\e171";
    }

.only-ios {
    display: none;
}

.not-ios {
    display: block; /* fallback */
    display: inherit;
}

.no-scroll {
    overflow: hidden;
}

.ui-autocomplete {
    position: absolute !important;
    max-height: 21%;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 4;
}

.viewer-drawer .ui-autocomplete {
    z-index: 1090;
}

body:has(.viewer-drawer.open) {
    overflow: hidden;
}

.card-box {
    align-items: center;
    border-radius: 15px;
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
    align-content: center;
    flex-wrap: nowrap;
    height: 20rem;
    width: 22rem;
    font-weight: 700;
    letter-spacing: .2rem;
    text-decoration: none;
    padding: 1rem;
    position: relative;
    border: none;
    white-space: normal;
    color: var(--text-color);
    background-color: #fff;
    box-shadow: var(--control-shadow);
    transition: background var(--transition-speed) ease-in-out, color var(--transition-speed) ease-in-out;
}

    .card-box:hover,
    .card-box:active,
    .card-box:focus {
        background: var(--primary-color);
        color: #fff;
    }

    .card-box.blue:hover,
    .card-box.blue:active,
    .card-box.blue:focus {
        background: #375687;
    }

    .card-box img {
        transition: filter var(--transition-speed) ease-in-out;
        height: 50%;
    }

    .card-box:hover img,
    .card-box:active img,
    .card-box:focus img {
        filter: brightness(0) invert(1);
    }

.card-box-subtitle {
    font-size: 1.1rem;
    color: var(--red);
    display: block;
    font-weight: 700;
}

.card-box-cover {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.card-box:hover .card-box-cover {
    display: flex;
}

.form .card-box {
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
}

label {
    font-weight: 500;
}

@supports (-webkit-touch-callout: none) {
    @media (pointer: coarse) {
        .only-ios {
            display: block; /* fallback */
            display: inherit;
        }

        a.only-ios, a.only-ios:hover {
            color: var(--c-background);
            text-decoration: none;
        }

        .not-ios {
            display: none;
        }

        .placeholder-input label {
            top: 0;
        }
    }
}

@media (max-width: 1400px) {
    .col-secundaria {
        display: none !important;
    }
}

@media (max-width: 1024px) {

    header .menu, footer {
        padding: .5rem 2rem;
    }

    .nav-usr,
    .nav-usr-logon {
        padding: .5rem 7rem;
    }
}

@media (max-height: 948px) {

    .app-form {
        padding: 2rem 2rem 1rem;
    }
}

@media (max-width: 768px) {

    header .menu, footer {
        padding: .5rem 1.2rem;
    }

    .nav-usr,
    .nav-usr-logon {
        padding: .5rem 2rem;
    }

    .enterprise {
        transform: scale(.85);
    }

    .card-box {
        height: 15rem;
        width: 16rem;
        font-size: 1.3rem;
    }

        .card-box * {
            transform: scale(.9);
        }
}

@media (max-width: 700px) {

    .app-table caption {
        font-size: 1.5rem;
    }

    .app-table thead {
        display: none; /* esconde cabeçalho */
    }

    .resp-only {
        display: initial !important;
    }

    .resp-hidden {
        display: none !important;
    }

    .resp-flex {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: center;
        justify-content: space-evenly;
        width: 80dvw;
    }

    .resp-flex-start {
        justify-content: flex-start;
    }

    .resp-inline-flex {
        display: inline-flex !important;
    }

    .app-table:not(.hidden):not(.resp-hidden),
    .app-table:not(.hidden):not(.resp-hidden) tbody:not(.hidden):not(.resp-hidden),
    .app-table:not(.hidden):not(.resp-hidden) tr:not(.hidden):not(.resp-hidden),
    .app-table:not(.hidden):not(.resp-hidden) td:not(.hidden):not(.resp-hidden) {
        display: block;
        width: 100%;
    }

    .app-table tr {
        margin-bottom: 2rem;
        background: white;
        padding: 1rem .5rem;
        border-radius: 12px;
        box-shadow: var(--control-shadow);
    }

        .app-table tr.info-open {
            margin-bottom: 0;
            border-radius: 10px 10px 0 0;
        }

    .app-table:not(.hidden):not(.resp-hidden) td:not(.hidden):not(.resp-hidden) {
        padding: .4rem .8rem !important;
        border: none !important;
        text-align: right !important;
        display: flex !important;
        justify-content: space-between;
        width: 100% !important;
    }

    .app-table:not(.hidden):not(.resp-hidden) td.jc-around:not(.hidden):not(.resp-hidden) {
        justify-content: space-around;
    }

    .app-table:not(.hidden):not(.resp-hidden) td.jc-evenly:not(.hidden):not(.resp-hidden) {
        justify-content: space-evenly;
    }

    .app-table:not(.hidden):not(.resp-hidden) td.jc-between:not(.hidden):not(.resp-hidden) {
        justify-content: space-between;
    }

    .app-table:not(.hidden):not(.resp-hidden) td.fd-column:not(.hidden):not(.resp-hidden) {
        flex-direction: column;
    }

    .app-table:not(.hidden):not(.resp-hidden) td.ai-center:not(.hidden):not(.resp-hidden) {
        align-items: center;
    }

    /* Label mostrado antes do valor */
    .app-table td[data-label]:before {
        content: attr(data-label) ": ";
        font-weight: 600;
        color: var(--text-color);
        display: inline;
    }

    .app-table td:not([data-label]):before {
        content: none;
    }

    .app-table td.text-right:not([data-label]):before {
        content: "";
    }

    /* Botão fixo no final */
    .app-table td.acoes {
        margin-top: 1rem;
    }

    .app-table tbody:has([data-resp=first]) tr:not([data-resp=first]) {
        display: none;
    }

        .app-table tbody:has([data-resp=first]) tr:not([data-resp=first]).visible {
            display: block;
        }

    tr[data-resp=first] {
        padding-bottom: 2.5rem !important;
    }

        tr[data-resp=first]::after {
            content: "▼";
            float: right;
            opacity: .6;
            transition: transform .2s ease;
        }

        tr[data-resp=first].expanded::after {
            transform: rotate(180deg);
        }

    .app-table td.flex-end {
        justify-content: flex-end !important;
    }

    .table-hover > tbody > tr:hover,
    .table-striped > tbody > tr:nth-of-type(odd) {
        background-color: transparent !important;
    }

    .table-hover > tbody > tr:hover,
    .table-striped > tbody > tr:nth-of-type(odd) {
        --bs-table-accent-bg: transparent;
        color: inherit !important;
    }

    .accordion {
        display: none;
    }

    .app-table tr:hover {
        --bs-table-accent-bg: white !important;
        background-color: inherit !important;
    }

    .app-inner-table {
        margin-bottom: 0;
    }

        .info-accordion,
        .app-inner-table tr {
            padding: 0;
        }

        .app-inner-table tr {
            padding-bottom: .5rem;
            margin: 1rem 0;
            box-shadow: none;
            border-bottom: solid 1px var(--c-red);
        }

            .app-inner-table tr .form {
                padding: 1rem;
            }

                .app-inner-table tr .form .button-container {
                    margin: 1rem auto;
                }

    #bottom-nav {
        height: auto;
        padding: 0;
    }

        /*#bottom-nav .bn-left {
            flex: 1;
            flex-direction: column;
            align-items: stretch;
        }*/

        /* Esconde âncoras diretas (desktop) */
        #bottom-nav .bn-left > a {
            display: none;
        }

    /* Current */
    .bn-current {
        padding: 14px 16px;
        font-weight: 600;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

        .bn-current::after {
            content: "▼";
            margin: 0 .5rem;
            opacity: .6;
            transition: transform .2s ease;
            transform: rotate(180deg);
        }

    #bottom-nav.open .bn-current::after {
        transform: rotate(0deg);
    }

    /* Dropdown */
    .bn-options {
        position: absolute;
        bottom: calc(100% + 6px);
        left: 0;
        right: 0;
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 12px;
        box-shadow: 0 -6px 20px rgba(0,0,0,.15);
        display: none;
        overflow: hidden;
        z-index: 1001;
    }

    #bottom-nav.open .bn-options {
        display: block;
    }

    .bn-options a {
        display: block;
        padding: 12px 16px;
        border-bottom: 1px solid #f0f0f0;
    }

        .bn-options a.active {
            background: var(--primary);
            color: #fff;
        }

    #bn-meta::after {
        content: none;
    }

    header span.debug {
        top: 1.5rem;
    }

    .viewer-drawer {
        height: calc(100dvh - 20px);
    }

    #tabs-wrapper {
        /*Definicoes para que aparecam 5 botoes no mobile*/
        justify-content: center !important;
    }

    .tabs {
        display: flex;
        position: relative;
        padding: 0.2rem;
        overflow-x: auto;
        column-gap: 3rem;
        margin: 0 1rem;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        /* Firefox */
        scrollbar-width: none;
        /* IE / Edge antigo */
        -ms-overflow-style: none;
        border-radius: 0;
        background-color: unset;
        box-shadow: none;
        /*Definicoes para que aparecam 5 botoes no mobile: anteriormente */
        column-gap: .5rem;
        margin: 0;
    }

        .tabs::-webkit-scrollbar {
            display: none; /* Chrome, Safari */
        }

    .tab {
        flex: 0 0 auto;
        border-radius: 10px;
        height: 8rem;
        width: 12rem;
        padding: .3rem 1rem;
        margin-bottom: 10px;
        background-color: #fff;
        flex-direction: column;
        white-space: normal;
        overflow-wrap: break-word;
        align-content: space-around;
        text-align: center;
        box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 6px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
        /*Definicoes para que aparecam 5 botoes no mobile*/
        font-size: 1.2rem;
        height: 6.5rem;
        width: 7.5rem;
    }

    input[type="radio"]:checked + label {
        color: #fff;
        background-color: var(--primary-color);
        font-weight: 600;
    }

    @supports (-webkit-touch-callout: none) {
        @media (pointer: coarse) {
            .tabs.open .tab.only-ios {
                display: block; /* fallback */
                display: revert;
            }

            .tabs.open .tab.not-ios {
                display: none;
            }
        }
    }

    .odd-row {
        background-color: transparent;
    }

    .app-table-actions {
        margin: 0;
        flex-direction: column;
        row-gap: 1rem;
    }

    .glider {
        display: none !important;
    }
}

