/* Cores utilizadas nos elementos criados */
:root {
    --ra-laranja-primario: #c9a24d;
    --ra-verde-primario: #198754;
    --ra-verde-escuro: #004726;
    --ra-verde-claro: #f3f5ef;
    --ra-cor-de-fundo: #EFEFF3;
    --ra-altura-menu-mobile: 64px;
    --ra-menu-dropend-deslocamento: 0.75rem;
    --ra-menu-dropend-deslocamento-fechado: -0.5rem;
}
/* fim */

body {
    font-family: "IBM Plex Sans", sans-serif;
    background-color: var(--ra-cor-de-fundo);
}

@media (min-width: 768px) {
    body {
        background-color: var(--ra-cor-de-fundo);
    }
}

.cursor-pointer {
    cursor: pointer !important;
}


.text-ra-verde-escuro {
    color: var(--ra-verde-escuro);
}

.btn-ra-primario {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--ra-verde-primario);
    --bs-btn-border-color: var(--ra-verde-primario);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--ra-laranja-primario);
    --bs-btn-hover-border-color: var(--ra-laranja-primario);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--ra-verde-escuro);
    --bs-btn-active-border-color: var(--ra-verde-escuro);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--ra-verde-primario);
    --bs-btn-disabled-border-color: var(--ra-verde-primario)
}

.btn-ra-primario-outline {
    --bs-btn-color: var(--ra-verde-primario);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--ra-verde-primario);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--ra-laranja-primario);
    --bs-btn-hover-border-color: var(--ra-laranja-primario);
    --bs-btn-focus-shadow-rgb: 25, 135, 84;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--ra-verde-escuro);
    --bs-btn-active-border-color: var(--ra-verde-escuro);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--ra-verde-primario);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--ra-verde-primario);
    --bs-gradient: none;
}

.link-ra-primario,
.link-ra {
    color: var(--ra-verde-primario) !important;
    text-decoration-color: var(--ra-verde-primario) !important;
}

    .link-ra-primario:hover,
    .link-ra-primario:focus,
    .link-ra:hover,
    .link-ra:focus {
        color: var(--ra-laranja-primario) !important;
        text-decoration-color: var(--ra-laranja-primario) !important;
    }

    .link-ra-primario:active,
    .link-ra:active {
        color: var(--ra-verde-escuro) !important;
        text-decoration-color: var(--ra-verde-escuro) !important;
    }

.dropdown-item:active,
.dropdown-item.active {
    color: #fff;
    background-color: var(--ra-laranja-primario);
}

.border-ra-verde-escuro {
    border-color: var(--ra-verde-escuro);
}

/* Diminui o tamanho do textos dos placeholders de inputs */
input::placeholder {
    font-size: 0.85rem;
}

/* Classe criada para ter sombra e border em dispositivos não mobile e retirar em mobile */
/*.form-ra {
    box-shadow: none;
    padding: 0;
    background-color: transparent;
    border: 0;
    border-radius: 15px;
}*/

.form-ra {
    box-shadow: none;
    background-color: #ffff;
    padding: 1rem;
    border-radius: 15px;
}

.area-all-content-wrapper {
    width: 100%;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .form-ra {
        box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
        padding: 2rem;
        background-color: #ffff;
    }
}

.badge-notificacao {
    font-size: 0.6em;
    position: absolute;
    top: 0;
    transform: translate(-50%, -60%);
}

.ra-hover-destaque {
    transition: box-shadow 0.2s ease, background-color 0.2s ease;
}

    .ra-hover-destaque:hover {
        box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
        background-color: var(--ra-verde-claro);
    }

.ra-valor-monetario-oculto {
    letter-spacing: 0.15em;
}

.ra-tabela-padrao {
    display: block;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.75rem;
    overflow: hidden;
    background: var(--bs-white);
}

.ra-tabela-padrao__tabela > :not(caption) > * > * {
    padding: 0.875rem 0.75rem;
}

.ra-tabela-padrao__tabela > thead > tr > th {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--bs-secondary-color);
    background: var(--bs-tertiary-bg);
    border-bottom-width: 1px;
}

.ra-tabela-padrao__status {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 600;
}

.termos-box {
    max-height: 7.5rem;
    overflow-y: auto;
    padding: 1rem;
    font-size: 0.875rem;
    line-height: 1.4;
    font-family: inherit;
}

    .termos-box * {
        font-size: inherit !important;
        font-family: inherit !important;
        line-height: inherit !important;
    }

/* Inicio controle de menus */

/* Estrutura geral da página */
.ra-body {
    min-height: 100vh;
    background-color: var(--ra-verde-escuro);
}

/* Navbar superior (mobile e desktop) */
.ra-header .navbar {
    min-height: 56px;
    background: linear-gradient(90deg, var(--ra-verde-escuro) 0%, var(--ra-verde-primario) 100%);
}

/* Navbar superior mobile */
.ra-navbar-mobile {
    color: #fff;
    z-index: 1031;
}

/* Navbar superior desktop */
.ra-navbar-desktop {
    color: #fff;
    padding: 1rem;
    position: static;
    transition: margin-left 0.25s ease, width 0.25s ease;
}

    .ra-navbar-desktop .ra-icon-btn {
        color: #fff;
    }

/* Botões de ícone do topo */
.ra-icon-btn {
    font-size: 1.25rem;
    padding: 0.25rem 0.5rem;
    color: var(--ra-verde-escuro);
    text-decoration: none;
}

    .ra-icon-btn:hover {
        color: var(--ra-laranja-primario) !important;
        text-decoration-color: var(--ra-laranja-primario) !important;
    }

/* Estrutura do layout principal */
.ra-layout {
    display: flex;
    min-height: calc(100vh - 64px);
    /*    background-color: #ffff;
*/ background-color: var(--ra-cor-de-fundo);
}

/* Menu lateral no desktop */
.ra-sidebar-desktop {
    width: 260px;
    background-color: var(--ra-verde-escuro);
    transition: width 0.25s ease, padding 0.25s ease;

}

/* Área de conteúdo */
.ra-content {
    min-width: 0;
}

/* Corpo principal */
.ra-main {
    min-height: calc(100vh - 56px);
    overflow-x: hidden;
    word-break: break-word;
    padding-bottom: calc(var(--ra-altura-menu-mobile) + 2rem + env(safe-area-inset-bottom)) !important;
}

/* Seções do menu */
.ra-menu-section {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem;
}

/* Títulos das seções do menu */
.ra-menu-section-title {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ra-verde-claro);
    opacity: 80%;
    margin-bottom: 0.25rem;
}

.ra-menu-section-title-icon {
    font-size: 0.95rem;
}

.ra-menu-section-collapse-wrapper {
    display: block;
}

.ra-menu-section-dropend {
    display: none;
    position: relative;
}

.ra-menu-section-dropdown-menu {
    display: block;
    position: absolute;
    top: 0;
    left: calc(100% + var(--ra-menu-dropend-deslocamento));
    min-width: 16rem;
    padding: 0.5rem;
    background-color: var(--ra-verde-escuro);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.75rem;
    opacity: 0;
    pointer-events: none;
    transform: translateX(var(--ra-menu-dropend-deslocamento-fechado));
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 1051;
}

.ra-body.ra-sidebar-collapsed .ra-menu-section-dropend .dropdown-menu {
    left: calc(100% + var(--ra-menu-dropend-deslocamento)) !important;
}

.ra-menu-section-dropend.ra-menu-section-dropend-aberto > .dropdown-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}


.ra-menu-section-title-text,
.ra-menu-section-chevron {
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.ra-menu-section-dropdown-menu::before {
    content: "";
    position: absolute;
    top: 0.875rem;
    left: -0.4375rem;
    width: 0.875rem;
    height: 0.875rem;
    background-color: var(--ra-verde-escuro);
    transform: rotate(45deg);
}

.hide-scroll {
    /* Chrome, Edge, Safari */
    scrollbar-width: none; /* Firefox */
}

    .hide-scroll::-webkit-scrollbar {
        display: none; /* Chrome, Safari */
    }

/* Itens do menu */
.ra-menu-item {
    color: var(--ra-verde-claro);
    text-decoration: none;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: color 0.2s ease, background-color 0.2s ease;
    padding: 0.5rem;
    border-radius: 6px;
}

    .ra-menu-item:focus,
    .ra-menu-item:hover {
        background-color: #0b5d38;
        color: var(--ra-verde-claro);
    }

    .ra-menu-item.active {
        color: var(--ra-laranja-primario);
        background-color: var(--ra-verde-primario);
        color: var(--ra-verde-claro);
    }

/* Avatar do usuário */
.ra-avatar {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ra-verde-escuro);
    font-size: 2rem;
    transition: width 0.25s ease, height 0.25s ease, font-size 0.25s ease;
}

/* Navbar inferior no mobile */
.ra-bottom-nav {
    background-color: var(--ra-verde-escuro);
    height: calc(var(--ra-altura-menu-mobile) + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    z-index: 1030;
}

    .ra-bottom-nav .container-fluid {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

/* Links da navbar inferior no mobile */
.ra-bottom-link {
    color: #fff;
    text-decoration: none;
    font-size: 0.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-transform: uppercase;
}

    .ra-bottom-link i {
        font-size: 1.1rem;
    }

/* Botão central da navbar inferior no mobile */
.ra-bottom-action {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: var(--ra-verde-primario);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.5rem;
    margin-top: -35px;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
}

/* Menu lateral mobile (offcanvas) */
.ra-offcanvas {
    background-color: var(--ra-verde-escuro);
    color: #fff;
    max-width: 350px;
}

/* Texto dos itens do menu */
.ra-menu-text {
    white-space: nowrap;
}

.ra-logo-desktop {
    display: inline-block;
}

.ra-logo-desktop-pin {
    display: none;
}

.sidebar-dropdown-foto {
    gap: 1rem;
}

.ra-user-name {
    display: inline-block;
    max-width: 10rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Ajustes específicos do desktop */
@media (min-width: 992px) {
    .ra-body {
        background-color: var(--ra-cor-de-fundo);
    }

    .ra-layout {
        background-color: var(--ra-cor-de-fundo);
    }

    .ra-navbar-desktop {
        margin-left: 260px;
        width: calc(100% - 260px);
    }

    .ra-main {
        padding-bottom: 1.5rem !important;
    }

    .ra-sidebar-desktop {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        z-index: 1050;

    }

    .ra-content {
        padding-top: 0;
        margin-left: 260px;
        transition: margin-left 0.25s ease;
    }

    .ra-body.ra-sidebar-collapsed .ra-sidebar-desktop {
        width: 80px;
        align-items: center;
    }

    .ra-body.ra-sidebar-collapsed .ra-navbar-desktop-left {
        width: 80px;
    }

    .ra-body.ra-sidebar-collapsed .ra-navbar-desktop {
        margin-left: 80px;
        width: calc(100% - 80px);
    }

    .ra-body.ra-sidebar-collapsed .ra-content {
        margin-left: 80px;
    }

    .ra-body.ra-sidebar-collapsed .ra-logo-desktop {
        display: none;
    }

    .ra-body.ra-sidebar-collapsed .ra-logo-desktop-pin {
        display: inline-block;
    }

    .ra-body.ra-sidebar-collapsed .ra-menu-text,
    .ra-body.ra-sidebar-collapsed .ra-user-name {
        display: none;
    }

    .ra-body.ra-sidebar-collapsed .ra-menu-section-title {
        justify-content: center;
    }

    .ra-body.ra-sidebar-collapsed .ra-menu-section-collapse-wrapper {
        display: none;
    }

    .ra-body.ra-sidebar-collapsed .ra-menu-section-dropend {
        display: block;
        position: relative;
        padding-right: 0.75rem;
        margin-right: -0.75rem;
    }

        .ra-body.ra-sidebar-collapsed .ra-menu-section-dropend > .ra-menu-section-title {
            width: 100%;
            justify-content: center;
        }

        .ra-body.ra-sidebar-collapsed .ra-menu-section-dropend > .dropdown-menu {
            top: 0;
            left: calc(100% + 12px);
            margin: 0;
        }

    .ra-body.ra-sidebar-collapsed .ra-menu-section-title-icon {
        font-size: 1.2rem;
    }

    .ra-body.ra-sidebar-collapsed .ra-menu-section-chevron {
        display: none;
    }

    .ra-body.ra-sidebar-collapsed .ra-menu-section-title-text {
        display: none;
    }

    .ra-body.ra-sidebar-collapsed .ra-menu-section-dropdown-menu .ra-menu-text {
        display: inline;
    }

    .ra-menu-section {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
        padding: 1rem;
    }

    .ra-body.ra-sidebar-collapsed .sidebar-dropdown-foto {
        gap: 0;
    }
}

@media (max-width: 991.98px) {
    .ra-layout {
        padding-top: 56px;
    }
}

.nav-link-ra {
    --bs-nav-link-color: var(--ra-verde-primario);
    --bs-nav-link-hover-color: var(--ra-verde-escuro);
    --bs-nav-pills-link-active-color: #fff;
    --bs-nav-pills-link-active-bg: var(--ra-verde-primario);
    border: 1px solid transparent;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

    .nav-link-ra:hover,
    .nav-link-ra:focus {
        background-color: rgba(25, 135, 84, 0.08);
        border-color: var(--ra-verde-primario);
    }

    .nav-link-ra.active {
        border-color: var(--ra-verde-primario);
    }

        .nav-link-ra.active:hover,
        .nav-link-ra.active:focus {
            background-color: var(--ra-laranja-primario);
            border-color: var(--ra-laranja-primario);
        }

    .nav-link-ra:disabled,
    .nav-link-ra.disabled {
        opacity: 0.55;
        pointer-events: none;
    }

/*Fim*/



