/* Power By - Endro // UX UI - Cristiano Reche
-------------------------------------------------------------- */

:root {

    /* Fonts
    -------------------------------------------------------------- */
    --font: "Endro Sans", sans-serif;
    --monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

    /* Colors System
    -------------------------------------------------------------- */
    --body: #eef2f4;
    --white: #ffffff;
    --primary: #102694;
    --title: #3A4145;
    --title-old: #1C2B33;
    --muted: #97a9b3;
    --muted-hover: #465A69;
    --description: #465A69;
    --border: #d8dae5;
    --success: #3EB75E;
    --danger: #fc4b6c;
    --warning: #FFB22B;
    --info: #1e88e5;
    --disabled: #f7f6f7;
    --disabled-text: #8d8d8d;

    /* Colors Hover
    -------------------------------------------------------------- */
    --primary-hover: #3EB75E;
    --secondary-hover: #465A69;
    --success-hover: #329b4e;
    --danger-hover: #ac495c;
    --warning-hover: #FFB22B;
    --info-hover: #1a77c9;

    /* Colors Soft
    -------------------------------------------------------------- */
    --primary-soft: #e7eaff;
    --secondary-soft: #d6e9f8;
    --success-soft: #dbffda;
    --danger-soft: #ffbdc9;
    --warning-soft: #ffd894;
    --info-soft: #a2d4ff;

    /* Gap
    -------------------------------------------------------------- */
    --section-gap: 8rem;
    --container-gap: 4rem;
    --item-gap: 1rem;
    --thin-gap: 1rem;

    /* Typography
    -------------------------------------------------------------- */
    --h1: 30px;
    --h2: 25px;
    --h3: 20px;
    --h4: 16px;
    --p: 14px;
    --small: 12px;
    --extra-small: 10px;

    /* Weights
    -------------------------------------------------------------- */
    --fw-600: 600;
    --fw-500: 500;
    --fw-400: 400;
    --fw-300: 300;

    /* Marigns
    -------------------------------------------------------------- */
    --mb-5: 5px;
    --mb-10: 10px;
    --mb-15: 15px;

    /* border
    -------------------------------------------------------------- */
    --radius-small: 8px;
    --radius-regular: 10px;
    --radius-medium: 14px;
    --radius-large: 16px;
    --radius-rounded: 50%;

    /* boxshadow
    -------------------------------------------------------------- */
    --boxshadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Reset Browsers
-------------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    font-family: inherit;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit;
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

@media (prefers-reduced-motion:no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

html {
    color: var(--title);
    font-size: var(--p);
    font-weight: var(--fw-600);
    line-height: 1.2;
    touch-action: manipulation;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-family: var(--font);
}

body {
    margin: 0;
    padding: 0;
    height: 100%;
    -webkit-tap-highlight-color: var(--body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: var(--font);
}


blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

blockquote,
q {
    quotes: none
}

a img {
    border: 0
}

img {
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    -ms-interpolation-mode: bicubic
}


select {
    max-width: 100%
}


article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block
}

audio,
canvas,
progress,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

progress {
    vertical-align: baseline
}

[hidden],
template {
    display: none
}

a {
    -webkit-text-decoration-skip: objects;
    background-color: transparent
}

a:active,
a:hover {
    outline-width: 0
}

p {
    font-weight: var(--fw-400);
    font-size: var(--p);
    line-height: 1.6;
    color: var(--title)
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: inherit;
    font-weight: bolder
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background-color: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

svg:not(:root) {
    overflow: hidden
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}


hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

button,
input,
select,
textarea {
    font: inherit;
    margin: 0
}

optgroup {
    font-weight: 700
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}


[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: none;
    background: transparent;
    outline-offset: -2px
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

button {
    -webkit-font-smoothing: antialiased;
    -webkit-appearance: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    margin: 0;
    outline: 0;
    padding: 0
}

del,
.disable {
    text-decoration: line-through;
    filter: alpha(opacity=50);
    opacity: 0.5;
}

.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden
}

.embed-responsive::before {
    display: block;
    content: ""
}

.embed-responsive .embed-responsive-item,
.embed-responsive embed,
.embed-responsive iframe,
.embed-responsive object,
.embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.embed-responsive-21by9::before {
    padding-top: 42.857143%
}

.embed-responsive-16by9::before {
    padding-top: 56.25%
}

.embed-responsive-4by3::before {
    padding-top: 75%
}

.embed-responsive-1by1::before {
    padding-top: 100%
}

/* Media */

embed,
object,
video {
    margin-bottom: 20px;
    max-width: 100%;
    vertical-align: middle;
}

p>embed,
p>iframe,
p>object,
p>video {
    margin-bottom: 0;
}


/* Forms
-------------------------------------------------------------- */
/* Fixes */

button,
input {
    line-height: normal;
    outline: 0;
}

button,
input,
select,
textarea {
    font-size: 100%;
    line-height: inherit;
    margin: 0;
    vertical-align: baseline;
}

input,
textarea,
select {
    font-size: var(--p);
    max-width: 100%;
}

textarea {
    overflow: auto;
    /* Removes default vertical scrollbar in IE6/7/8/9 */
    vertical-align: top;
    /* Improves readability and alignment in all browsers */
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    line-height: 1;
    cursor: pointer;
    -webkit-appearance: button;
    border: 0;
    background: inherit;
}


input[type="search"] {
    -webkit-appearance: textfield;
    /* Addresses appearance set to searchfield in S5, Chrome */
}

input[type="search"]::-webkit-search-decoration {
    /* Corrects inner padding displayed oddly in S5, Chrome on OSX */
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px var(--body) inset
}

/* List */

ul,
ol {
    padding: 0;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li>ul,
li>ol {
    margin-bottom: 0;
}

li {
    list-style: none;
}

ul li,
ol li {
    padding: 0;
}

dl,
dd {
    margin: 0 0 20px;
}

dt {
    font-weight: bold;
}

del,
.disable {
    text-decoration: line-through;
    filter: alpha(opacity=50);
    opacity: 0.5;
}

/* Placeholder color */
::-webkit-input-placeholder {
    color: var(--muted);
}

:-moz-placeholder {
    color: var(--muted);
}

::-moz-placeholder {
    color: var(--muted);
    opacity: 1;
}

.error {
    font-size: var(--p);
    color: var(--danger);
    margin-bottom: 10px;
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
}

.hide {
    display: none;
}

/* Since FF19 lowers the opacity of the placeholder by default */

:-ms-input-placeholder {
    color: var(--muted);
}

/* Typography
-------------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    text-rendering: optimizeLegibility;
}

h1 {
    font-size: 40px;
}

h2 {
    font-size: 32px;
}

h3 {
    font-size: 24px;
}

h4 {
    font-size: 20px;
}

h5 {
    font-size: 18px;
}

h6 {
    font-size: 15px;
}


/* link style
-------------------------------------------------------------- */

a {
    cursor: pointer;
    text-decoration: none;
    transition: color .2s ease-out
}

a,
a:hover {
    color: var(--primary-hover);
}

/* Text style
-------------------------------------------------------------- */

.text-white {
    color: var(--white);
}

.text-primary {
    color: var(--primary);
}

.text-danger {
    color: var(--danger);
}

.text-success {
    color: var(--success);
}

.text-muted {
    color: var(--muted);
}

.text-title {
    color: var(--title);
}

.text-info {
    color: var(--info);
}

.mt-2 {
    margin-top: 2px !important;
}

.mt-4 {
    margin-top: 4px !important;
}

.mt-6 {
    margin-top: 6px;
}

.mt-8 {
    margin-top: 8px !important;
}

.mt-10 {
    margin-top: 10px;
}

.mt-12 {
    margin-top: 12px;
}

.mt-16 {
    margin-top: 16px;
}

.mt-18 {
    margin-top: 18px;
}

.mt-20 {
    margin-top: 20px;
}

.mt-24 {
    margin-top: 24px;
}

.mt-26 {
    margin-top: 26px;
}

.mt-28 {
    margin-top: 28px;
}

.mt-32 {
    margin-top: 32px;
}

.mt-40 {
    margin-top: 40px;
}

.mb-4 {
    margin-bottom: 4px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mb-12 {
    margin-bottom: 12px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-24 {
    margin-bottom: 24px;
}

.mb-28 {
    margin-bottom: 28px;
}

.my-28 {
    margin-top: 28px;
    margin-bottom: 28px;
}

.mb-32 {
    margin-bottom: 32px;
}

.mb-40 {
    margin-bottom: 40px;
}

.px-30 {
    padding-left: 30px;
    padding-right: 30px;
}

.mt--40 {
    margin-top: -40px;
}

.mt-48 {
    margin-top: 48px;
}

.mt-100 {
    margin-top: 100px;
}

.pt-0 {
    padding-top: 0 !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.p-16 {
    padding: 16px;
}

.pt-20 {
    padding-top: 20px;
}

.p-20 {
    padding: 20px;
}

.px-16 {
    padding-left: 16px;
    padding-right: 16px;
}

.pt-16 {
    padding-top: 16px !important;
}

.pt-16 {
    padding-top: 16px !important;
}

.px-24 {
    padding-left: 24px;
    padding-right: 24px;
}

.py-20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.pb-12 {
    padding-bottom: 12px;
}

.pb-20 {
    padding-bottom: 20px !important;
}

.pb-24 {
    padding-bottom: 24px;
}

.pb-28 {
    padding-bottom: 28px;
}

.pb-32 {
    padding-bottom: 32px;
}

.gap-2 {
    gap: 2px !important;
}

.gap-4 {
    gap: 4px !important;
}

.gap-5 {
    gap: 5px !important;
}

.gap-6 {
    gap: 6px !important;
}

.gap-8 {
    gap: 8px !important;
}

.gap-10 {
    gap: 10px !important;
}

.gap-20 {
    gap: 20px !important;
}

.gap-12 {
    gap: 12px !important;
}

.gap-14 {
    gap: 14px !important;
}

.gap-15 {
    gap: 15px !important;
}

.gap-16 {
    gap: 16px !important;
}

.gap-25 {
    gap: 25px !important;
}

.round-10 {
    border-radius: 10px;
}

.round-16 {
    border-radius: 16px;
}

.round-20 {
    border-radius: 20px;
}

.hidden {
    overflow: hidden;
}

.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.container {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
}

@media screen and (max-width: 1118px) {
    .mt-24 {
        margin-top: 0px;
    }
}

/* preloader style
-------------------------------------------------------------- */
.loader-wrapper {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    background-color: var(--white);
    z-index: 11;
    top: 0;
}

.loader-wrapper svg {
    width: 0;
    height: 0;
}

.loader-wrapper body {
    font-family: sans;
    min-height: 100vh;
    margin: 0;
    display: grid;
    place-content: center;
    background: var(--title);
}

.loader {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    position: relative;
    animation: rotate 1s linear infinite
}

.loader::before,
.loader::after {
    content: "";
    box-sizing: border-box;
    position: absolute;
    inset: 0px;
    border-radius: 50%;
    border: 5px solid #102694;
    animation: prixClipFix 2s linear infinite;
}

.loader::after {
    transform: rotate3d(90, 90, 0, 180deg);
    border-color: #3EB75E;
}

@keyframes rotate {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

@keyframes prixClipFix {
    0% {
        clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0)
    }

    50% {
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0)
    }

    75%,
    100% {
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%)
    }
}

[hidden] {
    display: none !important
}


:focus-visible {
    outline: 2px solid var(--text);
    outline-offset: 1px;
}

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: hsl(0, 0%, 95%);
}

::-webkit-scrollbar-thumb {
    background: hsl(0, 0%, 80%);
}

::-webkit-scrollbar-thumb:hover {
    background: hsl(0, 0%, 70%);
}

/* content style
-------------------------------------------------------------- */

.wrapper {
    min-height: 100vh;
    overflow: hidden;
    background-color: var(--body);
}

.wrapper__container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0 0 0 17rem;
    z-index: 1;
    transition: padding 2ms ease;
}

@media only screen and (max-width: 62.5em) {
    .wrapper__container {
        padding: 0 0 4.25rem 0;
    }
}

.wrapper__content {
    flex: 1;
    width: 100%;
    box-sizing: border-box;
    padding: 1rem 1rem 4rem 1rem;
}

/* Title
-------------------------------------------------------------- */


.title__head {
    display: flex;
    align-items: flex-start;
}

.title__title {
    margin-right: auto;
    font-size: var(--p);
    font-weight: var(--fw-600);
}

.title__right {
    display: flex;
    align-items: center;
    margin-left: 10px;
}

.title__more {
    display: flex;
    align-items: center;
    color: var(--primary);
}

.title__divider {
    margin: 18px 0;
    border-bottom: 1px solid var(--border);
}

@media only screen and (max-width: 62.5em) {
    .title__more .icon {
        margin-right: 5px;
    }

    .title__title {
        font-size: var(--p);
        font-weight: var(--fw-600);
    }
}

.badge {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 10px;
    color: #fff;
    font-weight: bold;
}

.badge.pendente {
    background-color: #f39c12;
    /* Laranja para "Pendente" */
}

.badge.em_andamento {
    background-color: #3498db;
    /* Azul para "Em Andamento" */
}

.badge.concluido {
    /* Sem acento para evitar problemas */
    background-color: #2ecc71;
    /* Verde para "Concluído" */
}

.badge.em_analise {
    background-color: #f1c40f;
    /* Amarelo para "Em Análise" */
}

.badge.rejeitado {
    background-color: #e74c3c;
    /* Vermelho para "Rejeitado" */
}

.badge.em_espera {
    background-color: #9b59b6;
    /* Roxo para "Em Espera" */
}

.badge.revisao_necessaria {
    background-color: #e67e22;
    /* Laranja escuro para "Revisão Necessária" */
}

.badge.duplicado {
    background-color: #95a5a6;
    /* Cinza para "Duplicado" */
}


/* Search style
-------------------------------------------------------------- */
.search-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
}

.search-bar__button {
    display: block;
    align-items: inherit;
}


.card {
    position: relative;
    background: var(--white);
    border-radius: var(--radius-medium);
}

.card__content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 1rem;
}

.card__more {
    display: flex;
    align-items: center;
    color: var(--primary);
}

.button__add {
    margin-right: 15px;
    color: var(--primary);
    font-size: 20px;
}

.button__add:hover {
    color: var(--primary);
}

.button__header:hover {
    color: var(--primary);
}

.card__divider {
    margin: 18px 0;
    border-bottom: 1px solid var(--border);
}

.card__head {
    display: flex;
    align-items: flex-start;
}

.card__title {
    margin-right: auto;
    font-size: var(--p);
    font-weight: var(--fw-600);
}

.card__right {
    display: flex;
    align-items: center;
    margin-left: 10px;
}

.consultancy__list {
    margin: 0 auto;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    margin: 15px auto;

}

/* Form style
-------------------------------------------------------------- */

.forms {
    margin: 30px auto;
}

.forms__row {
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 15px;
}



.info-card {
    margin: 0 auto;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    margin: 15px auto;
}

.info-card__item {
    flex: 0;
    width: 100%;
    margin: 0 auto;
    padding: 15px;
    box-shadow: rgba(17, 17, 17, 0.04) 0px 1px 2px;
    background-color: var(--white);
    border: none;
    border-radius: var(--radius-medium);
    font-weight: var(--fw-500);
}


.info-card__preview {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    margin-bottom: 30px;
    border-radius: var(--radius-small);
}

.info-card__preview i {
    font-size: 24px;
    color: var(--primary);
}

.info-card__title {
    font-size: var(--p);
    font-family: var(--font);
    font-weight: var(--fw-600);
    color: var(--title);
    transition: all 0.2s;
}

.info-card__action {
    font-family: var(--font);
    font-weight: var(--fw-400);
    margin-top: 1px;
    color: var(--muted);
    font-size: var(--small);
}

@media only screen and (max-width: 62.5em) {
    .info-card__item {
        padding: 10px;
    }

    .info-card__title {
        font-size: var(--p);
        transition: all 0.2s;
    }

    .card__more .icon {
        margin-right: 5px;
    }

    .button__add {
        font-size: 24px;
        margin-right: 0;
    }

    .button__header {
        display: none;
    }

    .card__title {
        font-size: var(--p);
        font-weight: var(--fw-600);
    }

    .forms__row {
        gap: 0px;
    }
}

.required {
    color: var(--danger);
}


.card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
}

.header__title {
    flex: 1;
}

.header__title a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

.header__button {
    margin-left: 10px;
}


/* Header
  -------------------------------------------------------------- */

.header-mobile {
    display: none;
}

@media only screen and (max-width: 62.5em) {

    .header-mobile__container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: var(--white);
        padding: 5px 15px;
        width: 100%;
        border-bottom: 1px solid var(--border);
    }


    .header-mobile__logo {
        width: 40px;
        max-width: 100%;
    }

    .header-mobile__right {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 5px;
        position: relative;
    }

    .header-mobile__notification {
        cursor: pointer;
        position: relative;
        font-size: 24px;
        margin: 10px;
    }

    .header-mobile__notification i {
        display: block;
        width: 100%;
        height: auto;
        fill: currentColor;
    }

    .header-mobile__avatar-wrapper {
        width: 2.5rem;
        height: 2.5rem;
        background-color: transparent;
        cursor: pointer;
    }

    .header-mobile__avatar-letter {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background-color: var(--title);
        font-size: var(--small);
        font-weight: 500;
        line-height: 3;
        color: var(--white);
        text-align: center;
        border: 3px solid var(--title);
        text-transform: uppercase;
    }
}

/* Footer
  -------------------------------------------------------------- */

.footer-mobile {
    display: none;
}

@media only screen and (max-width: 62.5em) {
    .footer-mobile {
        display: block;
    }

    .footer-mobile__container {
        background-color: var(--white);
        border-radius: var(--radius-regular);
        box-shadow: rgba(17, 17, 17, 0.04) 0px 1px 2px;
        display: flex;
        justify-content: space-between;
        padding: 10px;
        position: fixed;
        transition: height 400ms cubic-bezier(0.37, 0, 0.63, 1);
        width: calc(100% - 0rem);
        z-index: 1;
        bottom: 0;
        right: 0;
        left: 0;
    }

    .footer-mobile__menu {
        background-color: var(--white);
        border-radius: var(--radius-regular);
        bottom: 5rem;
        display: grid;
        gap: 1rem;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        left: 0.5rem;
        opacity: 1;
        padding: 1rem;
        position: fixed;
        width: calc(100% - 1rem);
        z-index: 3000;
    }

    .footer-mobile__link {
        font-size: 11px;
        height: 4rem;
        width: 100%;
        padding: 5px;
        color: var(--title);
        -moz-box-align: center;
        align-items: center;
        display: flex;
        flex-direction: column;
        -moz-box-pack: center;
        justify-content: center;
        outline: none;
        position: relative;
        text-decoration: none;
        border-radius: var(--radius-medium);
    }

    .footer-mobile__link> :nth-child(1) {
        color: var(--title);
        height: 1.5rem;
        width: 1.5rem;
    }

    .footer-mobile__link> :nth-child(2) {
        color: var(--title);
        font-size: 11px;
        font-weight: var(--fw-600);
        line-height: 1.6;
        white-space: nowrap;
    }

    .footer-mobile__link i {
        font-size: 18px;
        padding-bottom: 0.2rem;
        display: block;
        width: 100%;
        height: auto;
        fill: currentColor;
    }

    .footer-mobile__link:hover,
    .footer-mobile__link:focus {
        background-color: var(--body);
        color: var(--primary);
        border-radius: var(--radius-medium);
    }

    .footer-mobile__link.active {
        background-color: var(--primary-soft);
        color: var(--primary);
        font-weight: var(--fw-600);
        border-radius: var(--radius-medium);
    }

    .footer-mobile__link.active i {
        color: var(--primary);
    }

    .footer-mobile__link.active span {
        color: var(--primary);
    }

    .footer-mobile__overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 2000;
        display: none;
        transition: opacity 200ms ease-in-out;
        opacity: 0;
    }

    .footer-mobile__overlay--visible {
        display: block;
        opacity: 1;
    }

    .footer-mobile__menu--hidden {
        display: none;
    }

    .footer-mobile__menu--visible {
        display: grid;
        box-sizing: border-box;
    }


}

/* Sidebar
  -------------------------------------------------------------- */

.sidebar-mobile {
    display: block;
}

.sidebar {
    background-color: var(--white);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-start;
    padding: 0 1rem;
    position: fixed;
    width: 17rem;
    overflow-x: hidden;
    overflow-y: auto;
}

.sidebar__logo {
    border-bottom: 1px solid var(--border);
    margin-bottom: 1rem;
    padding: 10px 0;
}

.sidebar__logo img {
    width: 30px;
    max-width: 100%;
    height: auto;
}

.sidebar__content {
    background-color: transparent;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidebar__title {
    color: var(--muted);
    display: flex;
    font-size: var(--small);
    font-weight: var(--fw-600);
    line-height: 1.6;
    padding: 15px 0;
}

.sidebar__link--active {
    background-color: var(--primary);
    border-radius: var(--radius-regular);
    color: var(--white);
    font-weight: var(--fw-600);
    border-radius: var(--radius-medium);
    height: 48px;
    transition: background-color 0.2s;
    width: 100%;
}

.sidebar__link--active a {
    color: var(--white);
    font-weight: var(--fw-600);
    border-radius: var(--radius-medium);
}

.sidebar__link {
    background-color: transparent;
    border-radius: var(--radius-medium);
    color: var(--title);
    font-size: var(--p);
    font-weight: var(--fw-600);
    transition: all 0.02s;
    width: 100%;
    margin-bottom: 5px;
}

.sidebar__link a {
    color: var(--title);
    display: flex;
    align-items: center;
    font-size: var(--p);
    font-weight: var(--fw-600);
    gap: 1rem;
    justify-content: flex-start;
    padding: 12px;
    text-decoration: none;
    border-radius: var(--radius-medium);
}

.sidebar__link:hover a {
    background-color: var(--primary);
    color: var(--white);
    font-weight: var(--fw-600);
    border-radius: var(--radius-medium);
}

.sidebar__link a> :first-child {
    display: block;
    font-size: 18px;
}

.sidebar__link.active {
    background-color: var(--primary);
    border-radius: var(--radius-medium);
    color: var(--white);
    font-weight: var(--fw-600);
    transition: background-color 100ms ease-in;
    width: 100%;
}

.sidebar__link.active a {
    color: var(--white);
    font-weight: var(--fw-600);
    border-radius: var(--radius-medium);
}

.sidebar__footer-logo {
    padding: 10px 0;
}

.footer-logo {
    max-width: 100%;
    height: auto;
}

@media only screen and (max-width: 62.5em) {
    .sidebar-mobile {
        display: none;
    }
}


/* Grid style
-------------------------------------------------------------- */

.columns {
    margin: 0 auto;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.columns-card {
    margin: 0 auto;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    margin: 15px auto;
}

@media only screen and (max-width: 62.5em) {
    .columns-card {
        grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    }
}


/* content input
-------------------------------------------------------------- */

label {
    display: inline-block;
}

.field {
    position: relative;
    margin-bottom: 15px;
}

.field__label {
    color: var(--title);
    display: block;
    font-size: var(--p);
    font-weight: var(--fw-600);
    margin-bottom: 10px;
    position: relative;
}

.field__flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.field__img {
    width: 75px;
    height: auto;
    border-radius: 12px;
}

.field__copyright {
    display: flex;
    text-align: center;
    margin: 10px;
}

.field__footer {
    position: relative;
    width: 100%;
    padding-right: 7.5px;
    padding-left: 7.5px;
    display: flex;
    justify-content: center;
}

.field__footer--text {
    display: flex;
    font-size: 85%;
    margin-top: 0;
    margin-bottom: 1rem;
    color: #697089;
}

.field__footer--text img {
    width: 20px;
}


.field__wrap {
    position: relative;
}

.field__remember {
    display: flex;
    align-items: center;
}

.field__togglePassword {
    display: flex;
}

.field__icons {
    display: flex;
    position: absolute;
    top: 50%;
    right: 15px;
    align-items: center;
    height: 100%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    cursor: pointer;
}


.field__input,
textarea.field__textarea,
.field__input[type="date"],
.field__input[type="file"],
.field__input[type="text"],
.field__input[type="email"],
.field__input[type="password"],
.field__input[type="number"],
.field__input[type="color"],
select.field__input {
    appearance: none;
    border-radius: var(--radius-medium);
    box-shadow: none;
    color: var(--title);
    font-size: var(--p);
    font-weight: var(--fw-600);
    height: 48px;
    line-height: 20px;
    padding: 0 16px;
    width: 100%;
    border: 1.5px solid var(--border);
    overflow: hidden;
}

.field__input[readonly],
textarea.field__textarea[readonly],
.field__input:disabled,
textarea.field__textarea:disabled,
select.field__input:disabled {
    background: var(--disabled);
    border-color: var(--border);
}

.field__input::placeholder,
textarea.field__textarea::placeholder {
    color: var(--border);
}

.field__input:disabled::placeholder,
textarea.field__textarea:disabled::placeholder {
    color: var(--border);
}

.field__input:focus,
textarea.field__textarea:focus,
.field__input:hover,
textarea.field__textarea:hover,
.field__input:active,
textarea.field__textarea:active {
    border: 2px solid var(--primary);
}

textarea.field__textarea {
    height: auto;
    padding: 16px;
    resize: vertical;
}

.field__icon,
.field__password {
    position: absolute;
    right: 15px;
    cursor: pointer;
}

.field__icon {
    top: 45%;
    transform: translateY(-50%);
}

.field__password {
    bottom: 10px;
}

.field__icon i,
.field__password i {
    font-size: 18px;
    color: #b0b4c2;
}

.field__icon button,
.field__password button {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
}


.field__input--lg,
.field__input--xl {
    height: 3.5rem;
}

.field__input--sm {
    height: 2rem;
}

.field__input::placeholder,
.field__input::-webkit-input-placeholder,
.field__input::-moz-placeholder,
.field__input:-moz-placeholder,
.field__input:-ms-input-placeholder {
    color: #a4a9b8;
    opacity: 1;
    transition: opacity 140ms linear;
}

.has-success .field__input {
    border-color: var(--success);
}

.has-warning .field__input {
    border-color: var(--color-warning);
}

.has-error .field__input {
    border-color: var(--danger);
}

.field__view {
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    height: 100%;
    cursor: pointer;
    transition: opacity .25s;
}

.field__line {
    position: absolute;
    top: 19px;
    left: 14px;
    width: 20px;
    height: 1px;
    transform: rotate(-45deg);
    border-radius: 1px;
}

.field__line:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #92929D;
    transition: width .25s;
}

.field__view.active .field__line:before {
    width: 100%;
}

.field__input--small {
    height: 2.4rem;
    padding: .5em 1em;
    line-height: 1.5;
    border-radius: var(--radius-regular);
}

.field__input--large {
    height: 56px;
    padding: 16px 24px;
    font-size: 18px;
}

.field__input--full {
    width: 100%;
}

.field_icon .field__input {
    padding-right: 48px;
}


.field__register {
    text-align: center;
    color: var(--title);
    font-size: var(--p);
    font-weight: var(--fw-600);
    line-height: 1.6;
    padding: 0;
}


.field__search {
    margin-bottom: 15px;
    font-size: var(--p);
    font-weight: var(--fw-400);
    caret-color: var(--primary);
    line-height: 1.6;
    width: 100%;
    height: 3rem;
    padding: 0 1rem;
    border: 1px solid transparent;
    background-color: var(--body);
    border-radius: var(--radius-medium);
    color: var(--title);
    box-shadow: none;
    outline: none;
    background-position: center right 5px;
    transition: background-color 70ms cubic-bezier(.2, 0, .38, .9), outline 70ms cubic-bezier(.2, 0, .38, .9);
}

.field__search:active,
.field__search:focus {
    border: 2px solid var(--primary);
}

@media screen and (prefers-contrast) {

    .field__search:active,
    .field__search:focus {
        outline-style: dotted;
    }
}

.field-input__spacing {
    margin: 25px 0;
}

.field-input__item {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
    gap: 1rem;
}

.field-input__remove-button {
    background-color: var(--danger);
    color: var(--white);
    border: none;
    cursor: pointer;
    margin-left: 10px;
    margin-top: 5px;
    margin-bottom: 15px;
    height: 3rem;
    padding: 0 1rem;
    border-radius: var(--radius-medium);
}

.required {
    color: var(--danger);
}

/* content login
-------------------------------------------------------------- */

.button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    border: none;
    border-radius: var(--radius-medium);
    font-size: var(--p);
    font-weight: var(--fw-600);
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    text-align: left;
    height: 48px;
    line-height: 20px;
    padding: 0 16px;
}

.button--primary {
    background-color: var(--primary);
    color: var(--white);
}

.button--primary:hover {
    background-color: var(--primary-hover);
    color: var(--white);
}

.button--primary:active {
    background-color: var(--primary-hover);
}

.button--secondary {
    background-color: var(--muted);
    color: var(--white);
}

.button--secondary:hover {
    background-color: var(--title);
    color: var(--white);
}

.button--danger {
    background-color: var(--danger);
    color: var(--white);
}

.button--danger:hover {
    background-color: var(--danger-hover);
    color: var(--white);
}

.button--success {
    background-color: var(--success);
    color: var(--white);
}

.button--success:hover {
    background-color: var(--success-hover);
    color: var(--white);
}

.button--info {
    background-color: var(--info);
    color: var(--white);
}

.button--info:hover {
    background-color: var(--info-hover);
    color: var(--white);
}


.button--warning {
    background-color: var(--warning);
    color: var(--white);
}

.button--warning:hover {
    background-color: var(--warning-hover)
}

.button--small {
    height: 2.5rem;
    font-size: var(--small);
    padding: 0 20px;
    border-radius: var(--radius-regular);
}

.button--large {
    height: 3.5rem;
    font-size: var(--p);
    padding: 0 28px;
}

.button--icon {
    padding: 15px;
    width: 48px;
    height: 48px;
    justify-content: center;
    border-radius: var(--radius-regular);
}

.button__icon {
    width: 16px;
    height: 16px;
    margin-left: 15px;
}

.buttons__flex {
    display: flex;
    gap: 15px;
}


.button--icon-text {
    position: relative;
}

.button--icon-text .button__icon {
    margin-left: auto;
    margin-right: 0;
}

.button--icon-text .button__text {
    display: inline-block;
}

@media only screen and (max-width: 600px) {
    .button--icon-text .button__text {
        display: none;
    }

    .button--icon-text {
        padding: 12px;
        justify-content: center;
        width: 48px;
    }
}

.button:disabled,
.button.button--disabled {
    background-color: var(--disabled);
    color: var(--disabled-text);
    cursor: not-allowed;
    box-shadow: none;
}

.button--primary:disabled,
.button--secondary:disabled,
.button--danger:disabled {
    background-color: var(--disabled);
    color: var(--disabled-text);
    cursor: not-allowed;
}

.button--full {
    width: 100%;
    max-width: 100%;
}

.message_services {
    margin: 20px 0px;
    background-color: var(--body);
    color: var(--dark);
    font-size: var(--p);
    font-weight: 400;
    padding: 15px;
    border-radius: 12px;
}

/* Field checkbox style
-------------------------------------------------------------- */

.field__checkbox-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.field__checkbox-input {
    display: none;
}

.field__checkbox-text {
    font-weight: var(--fw-600);
}

.field__checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: var(--p);
    color: var(--muted);
    position: relative;
    padding: 5px 0;
}

.field__checkbox-box {
    width: 20px;
    height: 20px;
    border: 1.5px solid var(--border);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    transition: background-color 0.3s, border-color 0.3s;
    position: relative;
    border-radius: 6px;
}

.field__checkbox-box::after {
    content: "";
    position: absolute;
    width: 5px;
    height: 10px;
    border: solid var(--white);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity 0.3s;
}

.field__checkbox-input:checked+.field__checkbox-label .field__checkbox-box {
    border-color: var(--primary);
    background-color: var(--primary);
}

.field__checkbox-input:checked+.field__checkbox-label .field__checkbox-box::after {
    opacity: 1;
}

/* content login
-------------------------------------------------------------- */

@media only screen and (min-width: 37.5em) {
    .auth {
        max-width: 376px;
    }
}

.auth {
    background-color: var(--white);
    margin: 0 auto;
    overflow-x: hidden;
}

.auth__hello {
    width: 100%;
    max-width: 440px;
    margin: auto;
    text-align: center;
    min-height: 100vh;
    padding-bottom: 30px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 20px;
    flex-direction: column;
    justify-content: space-between;
}

@media (max-width: 600px) {
    .auth__hello {
        padding-top: 30px;
        padding-left: 15px;
        padding-right: 15px;
    }
}


.auth__wrapp {
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex-grow: 1;
    gap: 30px;
}

.auth__box {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    gap: 5px;
    text-align: start;
}

.auth__title {
    font-size: var(--h3);
    font-weight: var(--fw-600);
    color: var(--title);
    margin: 0;
}

.auth__subtitle {
    color: var(--muted);
    font-size: var(--p);
    font-weight: var(--fw-600);
    margin: 0 0 40px 0;
}

.auth__form {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    position: relative;
    flex-direction: column;
    gap: 5px;
}

.auth__copyright {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    color: var(--muted);
    font-size: var(--small);
    line-height: 15px;
}

.auth__copyright-item {
    padding: 5px;

}

.auth__copyright-item a {
    color: var(--muted)
}

.auth__rules--showmore {
    background: none;
    border: none;
    bottom: -5px;
    color: var(--primary);
    font-size: 12px;
    left: 0;
    line-height: 14px;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0;
    z-index: 3;
    cursor: pointer;
}

.auth__rules--showmore::after {
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 3px solid;
    content: "";
    display: inline-block;
    margin: 3px 0 0 2px;
    transition: transform .2s;
    vertical-align: top;
}

.auth__rules.expanded .auth__rules--showmore::after {
    transform: rotate(180deg);
}

.auth__rules::after {
    background-image: linear-gradient(180deg, hsla(0, 0%, 100%, 0), #fff 70%);
    bottom: -5px;
    content: "";
    height: 56px;
    left: 0;
    position: absolute;
    right: 0;
    transition: opacity .3s, visibility .3s;
    z-index: 2;
}

.auth__rules.expanded::after {
    opacity: 0;
    visibility: hidden;
}

.auth__rules {
    position: relative;
    margin-bottom: 15px;
}

.auth__rules--content {
    max-height: 60px;
    overflow: hidden;
    padding-bottom: 15px;
    position: relative;
    transition: max-height .3s;
    z-index: 1;
}

.auth__rules.expanded .auth__rules--content {
    max-height: none;
}

.auth__rules .form-checkbox {
    font-size: 14px;
}

.auth__img {
    width: 50px;
    height: auto;
    text-align: center;
    margin-bottom: 10px;
}

.disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
}

.two__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* content modal
-------------------------------------------------------------- */


.action-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.11);
    display: none;
    justify-content: center;
    align-items: flex-end;
    padding: 0;
    box-sizing: border-box;
    z-index: 1000;
    backdrop-filter: blur(1px);
    box-shadow: 0 4px 20px rgba(0, 122, 255, 0.2);
    transition: all 0.3s ease;
}


.action-modal {
    background-color: var(--white);
    width: 100%;
    max-width: 60%;
    height: auto;
    max-height: 80%;
    display: flex;
    flex-direction: column;
    border-radius: var(--radius-medium);
    transform: translateY(100%);
    transition: transform 0.3s ease, opacity 0.3s ease;
    overflow: hidden;
    border-radius: 14px 14px 0px 0px;
    opacity: 0;
}

.action-modal.show {
    transform: translateY(0);
    opacity: 1;
}

.action-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    background-color: var(--white);
    border-bottom: 1px solid var(--body);
    flex-shrink: 0;
}

.action-modal-header h4 {
    font-size: var(--h4);
    margin: 0;
}

.action-close-button {
    padding: 0px;
    background-color: transparent;
    color: var(--title);
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 20px;
}

.action-modal-body {
    padding: 15px;
    overflow-y: auto;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-bottom: 0;
}

.action-modal-footer {
    display: flex;
    justify-content: space-between;
    padding: 20px 15px;
    background-color: var(--white);
    border-top: 1px solid var(--body);
    flex-shrink: 0;
    margin-top: auto;
    gap: 10px;
    /* Espaçamento de 10px entre os botões */
}


@media only screen and (max-width: 62.5em) {
    .action-modal {
        max-width: 100%;
        width: 100%;
        height: auto;
        max-height: 100%;
        border-radius: 14px 14px 0px 0px;
    }

    .action-modal-body {
        padding: 10px;
        overflow-y: auto;
        flex-grow: 1;
    }

    .action-modal-footer {
        flex-shrink: 0;
    }

}



.financial-list {
    margin: 0 auto;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    margin: 15px auto;
}

.financial-count {
    background-color: var(--white);
    border-radius: var(--radius-medium);
    padding: 10px;
    margin-bottom: .5rem;
    box-shadow: rgba(17, 17, 17, 0.04) 0px 1px 2px;
    border: none;
}

.financial-count__flex {
    display: flex;
    justify-content: space-between;
}

.financial-count__content {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.financial-count__success {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--success);
    color: var(--white);
}

.financial-count__danger {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--danger);
    color: var(--white);
}

.financial-count__info {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--info);
    color: var(--white);
}

.financial-count__warning {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--warning);
    color: var(--white);
}

.financial-count__details span {
    font-weight: 300;
    font-size: 12px;
}

.financial-count__details {
    font-weight: 500;
    font-size: 14px;
    margin-left: 1rem;
    margin-bottom: 0;
}

.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
}

.modal__content {
    background-color: var(--white);
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 500px;
    position: relative;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: var(--radius-regular);
}

.modal__close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    position: absolute;
    top: 10px;
    right: 20px;
    cursor: pointer;
}

.modal__close:hover,
.modal__close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

.modal__title {
    margin-top: 0;
}

.modal__text {
    margin: 20px 0;
}

.modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* content modal
-------------------------------------------------------------- */

.notify {
    position: fixed;
    top: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 15px;
    border-radius: var(--radius-regular);
    display: flex;
    align-items: center;
    box-shadow: var(--boxshadow);
    z-index: 9999;
    transition: opacity 0.3s ease, transform 0.3s ease;
    opacity: 0;
    justify-content: center;
    width: fit-content;
}

.notify--success {
    background-color: var(--success);
    color: var(--white);
}

.notify--danger {
    background-color: var(--danger);
    color: var(--white);
}

.notify--warning {
    background-color: var(--warning);
    color: var(--title);
}

.notify--info {
    background-color: var(--info);
    color: var(--white);
}

.notify__content {
    display: flex;
    align-items: center;
}

.notify__content--icon {
    margin-right: 10px;
}

.notify__content__message {
    font-size: 16px;
}

.notify.show {
    opacity: 1;
    transform: translateY(0);
}

/* content dropdown
-------------------------------------------------------------- */

.dropdown__item {
    cursor: pointer;
}

.dropdown__arrow {
    font-size: 1.25rem;
    font-weight: initial;
    transition: transform .4s;
}

.dropdown__link,
.dropdown__sublink {
    padding: 15px;
    color: var(--title);
    background-color: #fff;
    display: flex;
    align-items: center;
    column-gap: .5rem;
    font-weight: 500;
    transition: background-color .3s;
}

.dropdown__link i,
.dropdown__sublink i {
    font-size: 1.25rem;
    font-weight: initial;
}

.dropdown__link:hover,
.dropdown__sublink:hover {
    color: var(--title);
    background-color: #f5f5f5;
}

.dropdown__menu,
.dropdown__submenu {
    max-height: 0;
    white-space: nowrap;
    flex-grow: 1;
    box-sizing: border-box;
    width: max-content;
    overflow: hidden;
    transition: max-height .4s ease-out;
    border-radius: 16px;
    box-shadow: 0 10px 10px rgba(213, 214, 222, 0.24);
}

/* Show dropdown menu & submenu */
.dropdown__item:hover .dropdown__menu,
.dropdown__subitem:hover>.dropdown__submenu {
    max-height: 1000px;
    transition: max-height .4s ease-in;
}

/* Rotate dropdown icon */
.dropdown__item:hover .dropdown__arrow {
    transform: rotate(180deg);
}

.dropdown__add {
    margin-left: auto;
}

.dropdown__sublink {
    background-color: #f5f5f5;
}

/* For small devices */
@media screen and (max-width: 340px) {
    .nav__link {
        padding-inline: 1rem;
    }
}

/* For large devices */
@media screen and (min-width: 1118px) {

    .nav {
        height: 60px;
        display: flex;
        justify-content: space-between;
        padding: 0 15px;
    }

    .nav__toggle {
        display: none;
    }

    .nav__list {
        height: 100%;
        display: flex;
        column-gap: 3rem;
    }

    .nav__link {
        height: 100%;
        padding: 0;
        justify-content: initial;
        column-gap: .25rem;
    }

    .nav__link:hover {
        background-color: transparent;
    }

    .dropdown__item,
    .dropdown__subitem {
        position: relative;
    }

    .dropdown__menu,
    .dropdown__submenu {
        max-height: initial;
        overflow: initial;
        position: absolute;
        left: 0;
        top: 6rem;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s, top .3s;
    }

    .dropdown__link,
    .dropdown__sublink {
        padding-inline: 1rem 3.5rem;
    }

    .dropdown__subitem .dropdown__link {
        padding-inline: 1rem;
    }

    .dropdown__submenu {
        position: absolute;
        left: 100%;
        top: .5rem;
    }

    .dropdown__item:hover .dropdown__menu {
        opacity: 1;
        top: 5.5rem;
        pointer-events: initial;
        transition: top .3s;
    }

    .dropdown__subitem:hover>.dropdown__submenu {
        opacity: 1;
        top: 0;
        pointer-events: initial;
        transition: top .3s;
    }
}


/* content credit card
-------------------------------------------------------------- */

.container-card {
    display: flex;
    justify-content: center;
    align-items: center;
}

.card__credit {
    width: 100%;
    max-width: 360px;
    height: 200px;
    border-radius: 12px;
    perspective: 1000px;
    margin: 0px 0px 50px 0px;
}

.card__credit:hover .card__credit-inner {
    transform: rotateY(180deg);
}

.card__credit-inner {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    transition: transform 600ms ease;
    transform-style: preserve-3d;
}

.card__credit-front,
.card__credit-back {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
    backface-visibility: hidden;
    background: var(--primary);
}

.card__credit-front {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    transition: transform 300ms ease-in-out;
}

.card__credit-back {
    transform: rotateY(180deg);
}


.card__credit-back::after {
    content: "";
    position: absolute;
    top: 15%;
    width: 100%;
    height: 40px;
    background: rgb(0 31 59 / 75%);
    backdrop-filter: blur(30px);
}

.card__credit-bg::before {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 7px;
    height: 90px;
    background: var(--primary-hover);
}

.card__credit-bg::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 10px;
    width: 90px;
    height: 90px;
    background: var(--white);
    border-radius: 14px;
}

.card__credit-chip {
    position: absolute;
    top: 30px;
    left: 25px;
}

.card__credit-chip img {
    width: 50px;
    border-radius: 999999rem;
}

.card__credit-holder {
    position: absolute;
    left: 25px;
    bottom: 40px;
    color: #fff;
    font-size: 13px;
    font-weight: var(--fw-400);
    font-family: var(--font);
}

.card__credit-cpf {
    position: absolute;
    left: 25px;
    bottom: 22px;
    color: #fff;
    font-size: 13px;
    font-weight: var(--fw-400);
    font-family: var(--font);
}

.card__credit-number {
    position: absolute;
    font-family: var(--font);
    left: 25px;
    bottom: 65px;
    color: #fff;
    font-size: 20px;
    font-weight: var(--fw-600);
}


.card__credit-signature {
    position: absolute;
    top: 120px;
    left: 0;
    width: 100%;
    height: 30px;
    background: var(--body);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--title);
    font-family: var(--font);
    font-size: 12px;
    font-weight: 500;
}

.card__credit-signature::before {
    content: "Assinatura autorizada";
    position: absolute;
    top: -15px;
    left: 15px;
    font-family: var(--font);
    font-size: 9px;
    color: var(--body);
}

.card__credit-logo {
    position: absolute;
    right: 20px;
    top: 20px;
    width: 70px;
    height: auto;
}

.card__credit-hint {
    text-align: center;
    padding: 10px;
    font-size: var(--small);
    font-family: var(--font);
    font-weight: 600;
}

/* Appointments style
-------------------------------------------------------------- */


.appointments-list {
    margin: 0 auto;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.appointments-list__item {
    flex: 0;
    width: 100%;
    margin: 0 auto;
    padding: 15px;
    box-shadow: rgba(17, 17, 17, 0.04) 0px 1px 2px;
    background-color: var(--white);
    border: none;
    border-radius: var(--radius-medium);
    font-weight: var(--fw-500);
}


.appointments-list__preview {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    margin-bottom: 30px;
    background-color: var(--body);
    color: var(--primary);
    border-radius: var(--radius-small);
}

.appointments-list__preview i {
    font-size: 24px;
}

.appointments-list__title {
    font-size: var(--p);
    font-family: var(--font);
    font-weight: var(--fw-600);
    color: var(--title);
    transition: all 0.2s;
}

.appointments-list__action {
    font-family: var(--font);
    font-weight: var(--fw-400);
    margin-top: 1px;
    color: var(--muted);
    font-size: var(--small);
}

@media only screen and (max-width: 62.5em) {

    .appointments-list {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    .appointments-list__item {
        padding: 10px;
    }

    .appointments-list__title {
        font-size: var(--p);
        transition: all 0.2s;
    }
}

/* Count style
-------------------------------------------------------------- */


.count-card {
    margin: 0 auto;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    margin: 15px auto;

}

.count-card__wrapp {
    border: none;
    box-shadow: rgba(17, 17, 17, 0.04) 0px 1px 2px;
    background-color: var(--white);
    border-radius: var(--radius-medium);
    font-weight: var(--fw-500);
    padding: 10px;
    margin-bottom: .5rem;
}

.count-card__flex {
    display: flex;
    justify-content: space-between;
}

.count-card__content {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.count-card__info {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--info);
    color: var(--white);
}

.count-card__success {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--success);
    color: var(--white);
}

.count-card__primary {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--primary);
    color: var(--white);
}

.count-card__success {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--success);
    color: var(--white);
}

.count-card__danger {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--danger);
    color: var(--white);
}


.count-card__muted {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: var(--muted);
    color: var(--white);
}

.count-card__details span {
    font-weight: 300;
    font-size: 12px;
}

.count-card__details {
    font-weight: 500;
    font-size: 14px;
    margin-left: 1rem;
    margin-bottom: 0;
}



/* content convenios
-------------------------------------------------------------- */

.convenios-post {
    margin-bottom: 1.25rem;
    background-color: var(--white);
    transition: all .5s ease-in-out;
    position: relative;
    border: 0px solid transparent;
    border-radius: 12px;
    height: calc(100% - 1.25rem);
    border: none;
    margin-bottom: 8px;
    width: 100%;
}

.convenios-post__body {
    display: flex;
    align-items: center;
    padding: 1.25rem;
    flex: 1 1 auto;
    padding: 1rem 1rem;
}

.convenios-post__media {
    background-color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    width: 80px;
    border-radius: 10px;
    min-width: 80px;
    height: 80px;
}

.convenios-post__media img {
    width: 100%;
    height: auto;
}


.convenios-post__title {
    font-size: var(--p);
    color: var(--title);
    font-family: var(--font);
    font-weight: 600;
    margin-bottom: 0;
}

.convenios-post__location {
    font-size: 12px;
    color: var(--muted);
    font-family: var(--font);
    margin-top: 2px;
    font-weight: 6400;
    margin-bottom: 10px;
    display: block;
}

.convenios-post__what {
    display: flex;
    align-items: center;
}

.convenios-post__what i {
    font-size: 14px;
    margin-right: 5px;
}

.convenios-post__what span {
    margin-bottom: 0;
}

.table-container {
    width: 100%;
    overflow-x: auto;
    margin-bottom: 2rem;
}

.responsive-table {
    width: 100%;
    border-collapse: collapse;
}

.responsive-table th {
    text-align: left;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    font-size: var(--small);
    font-weight: var(--fw-600);
    white-space: nowrap;
}

.responsive-table td {
    font-size: var(--p);
    font-weight: var(--fw-500);
    white-space: nowrap;
    height: 3rem;
    padding: 1rem;
}

.responsive-table thead {
    background-color: var(--white);
    color: var(--title);
    border-bottom: 1px solid var(--body);
}

.responsive-table tbody tr:nth-of-type(odd) {
    background-color: var(--white);
    border-bottom: 1px solid var(--body);
}

.responsive-table tbody tr:nth-of-type(even) {
    background-color: var(--white);
    border-bottom: 1px solid var(--body);
}

.responsive-table tbody tr:hover {
    background-color: var(--body);
    border-bottom: 1px solid var(--body);
    cursor: pointer;
}


.result-table {
    width: 100%;
    border-collapse: collapse;
}

.result-table th {
    text-align: left;
    padding: 8px 10px;
    border-bottom: 1px solid var(--border);
    font-size: var(--small);
    font-weight: var(--fw-500);
    white-space: nowrap;
}

.result-table td {
    padding: 8px 10px;
    font-size: var(--p);
    font-weight: var(--fw-400);
    white-space: nowrap;
}

.result-table thead {
    background-color: var(--white);
    color: var(--title);
}

.result-table tbody tr:nth-of-type(odd) {
    background-color: var(--white);
}

.result-table tbody tr:nth-of-type(even) {
    background-color: var(--white);
}

.result-table tbody tr:hover {
    background-color: var(--body);
    cursor: pointer;
}

.display__desktop {
    display: table-cell;
}

.display__mobile {
    display: none;
}

@media only screen and (max-width: 62.5em) {
    .display__desktop {
        display: none;
    }

    .display__mobile {
        display: table-cell;
    }
}


.year-picker-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}

.year-picker__content {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    gap: 5px;
    margin-bottom: 15px;
    flex-wrap: wrap;
    /* Permite que os itens fiquem em várias linhas em telas pequenas */
}

.year-picker__filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    background-color: var(--body);
    border: 1px solid var(--body);
    border-radius: var(--radius-medium);
    padding: 10px 15px;
    font-size: var(--p);
    color: var(--title);
    transition: background-color 0.3s ease;
}

.year-picker__filter:hover {
    background-color: var(--primary);
    color: var(--white);
}

.year-picker__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    background-color: var(--primary);
    border: none;
    border-radius: var(--radius-medium);
    padding: 10px 15px;
    font-size: var(--p);
    color: var(--white);
    transition: background-color 0.3s ease;
}

.year-picker__action:hover {
    background-color: var(--primary);
    color: var(--white);
}

.year-picker__pdf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    background-color: var(--danger);
    border: none;
    border-radius: var(--radius-medium);
    padding: 10px 15px;
    font-size: var(--p);
    color: var(--white);
    transition: background-color 0.3s ease;
}

.year-picker__pdf:hover {
    background-color: var(--danger-hover);
    color: var(--white);
}

.year-picker__export {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    background-color: var(--success);
    border: none;
    border-radius: var(--radius-medium);
    padding: 10px 15px;
    font-size: var(--p);
    color: var(--white);
    transition: background-color 0.3s ease;
}

.year-picker__export:hover {
    background-color: var(--success);
    color: var(--white);
}

.year-picker__date {
    font-size: var(--p);
    font-weight: bold;
    padding: 0 15px;
    color: var(--primary);
}

@media (max-width: 768px) {
    .year-picker__date {
        padding: 0 10px;
    }

    .year-picker-controls {
        display: block;
    }
}

.pagination {
    display: flex;
    list-style: none;
    padding: 20px 0;
}

.pagination li {
    margin: 2px;
    cursor: pointer;
    background: var(--body);
    padding: 5px 10px;
}

.pagination li.active {
    font-weight: bold;
}

.autocomplete-items {
    position: absolute;
    border: 1px solid #d4d4d4;
    border-bottom: none;
    border-top: none;
    z-index: 99;
    top: 100%;
    left: 0;
    right: 0;
}

.autocomplete-items div {
    padding: 10px;
    cursor: pointer;
    background-color: #fff;
    border-bottom: 1px solid #d4d4d4;
}

.autocomplete-items div:hover {
    background-color: #e9e9e9;
}