/* Para o ícone com classe 'active' */
.nav-link.active i {
    color: white !important;
}

/* Para o ícone sem a classe 'active' */
.nav-link i {
    color: black !important;
}

.badge-timeline {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600; /* semibold */
}


@media (max-width: 576px) {
    /* Bootstrap breakpoint para dispositivos móveis (XS) */
    .fc .fc-event-time, .fc .fc-event-title, .fc .fc-event-title-container {
        display: none; /* Esconde o horário e o título do evento */
    }

    .fc .fc-event-main-frame {
        /* Faz com que o container do dot ocupe toda a largura disponível */
        width: 100%;
    }

    .fc .fc-event-dot {
        /* Centraliza o dot e ajusta o tamanho conforme necessário */
        margin-left: auto;
        margin-right: auto;
        height: 10px; /* ou o tamanho desejado */
        width: 100px; /* ou o tamanho desejado */
    }
}



@media (max-width: 576px) {
    .fc-daygrid-event.fc-daygrid-dot-event .fc-event-time,
    .fc-daygrid-event.fc-daygrid-dot-event .fc-event-title {
        display: none; /* Esconde o horário e o título */
    }

    .fc-daygrid-event.fc-daygrid-dot-event .fc-daygrid-event-dot {
        height: 10px; /* Ajuste conforme necessário */
        width: 10px; /* Ajuste conforme necessário */
        border-radius: 50%; /* Torna o dot circular */
        margin: 0 auto; /* Centraliza o dot */
        display: block;
    }
}

.sidenav-header .navbar-brand {
    position: relative;
    display: flex;
    justify-content: center; /* Centraliza horizontal */
    align-items: center;     /* Centraliza vertical */
    height: 60px; /* defina altura fixa da área da logo */
}

.sidenav-header .navbar-brand .logo-expanded,
.sidenav-header .navbar-brand .logo-collapsed {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sidenav-header .navbar-brand .logo-collapsed {
    display: none;
}

body.g-sidenav-hidden .sidenav-header .navbar-brand .logo-expanded {
    display: none;
}

body.g-sidenav-hidden .sidenav-header .navbar-brand .logo-collapsed {
    display: block;
}

/* Hide section headers when sidebar is collapsed */
body.g-sidenav-hidden .sidenav .nav-item.mt-3 > h6 {
    display: none;
}

body.g-sidenav-hidden .sidenav .nav-item.mt-3 > hr {
    display: block !important;
}

body.g-sidenav-hidden .sidenav {
    overflow-x: hidden !important;
}

.navbar-vertical.navbar-expand-xs .navbar-collapse {
    overflow-x: hidden !important;
}

.loading-container {
    position: fixed; /* Posicionamento fixo na tela */
    top: 0;
    left: 0;
    width: 100%; /* Largura total */
    height: 100%; /* Altura total */
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 0.8); /* Branco com opacidade 50% */
    z-index: 1000; /* Garantir que fique acima dos outros elementos */
}

.letter {
    font-size: 60px;
    font-weight: bold;
    color: black;
    animation: blinker 1.5s linear infinite;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}

@font-face {
    font-family: 'icomoon';
    src: url('../fonts/icomoon.eot?4vto7f');
    src: url('../fonts/icomoon.eot?4vto7f#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?4vto7f') format('truetype'),
    url('../fonts/icomoon.woff?4vto7f') format('woff'),
    url('../fonts/icomoon.svg?4vto7f#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-mariaeduarda-m:before {
    content: "\e900";
}

/* Estilização básica do Select2 */
.select2-container--default .select2-selection--single {
    font-size: 0.875rem; /* Tamanho da fonte */
    font-weight: 400; /* Peso da fonte */
    line-height: 1.4rem; /* Altura da linha */
    color: #495057; /* Cor do texto */
    background-color: #fff; /* Cor de fundo */
    background-clip: padding-box;
    border: 1px solid #d2d6da; /* Borda */
    border-radius: 0.5rem; /* Raio da borda */
    height: calc(1.5em + 1rem + 2px); /* Altura */
    transition: box-shadow 0.15s ease, border-color 0.15s ease; /* Transição */
    padding: 0.5rem 0.75rem; /* Espaçamento interno */
}

/* Estilização do ícone de dropdown do Select2 */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(1.5em + 1rem);
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
}

/* Estilização do foco */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default .select2-selection--single:focus {
    border-color: #CB0C9FFF;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgb(211, 48, 173);
}

/* Estilização do hover */
.select2-container--default .select2-selection--single:hover {
    border-color: #a4b7c1;
}

/* Estilização quando desativado */
.select2-container--default .select2-selection--single:disabled {
    background-color: #e9ecef;
    color: #6c757d;
}

.search-results {
    position: absolute;
    background-color: white;
    width: calc(100% - 2px); /* Ajuste a largura conforme necessário */
    border: 1px solid #ddd;
    z-index: 1000;
    display: none; /* Ocultado inicialmente */
}

.search-results div {
    padding: 10px;
    cursor: pointer;
}

.search-results div:hover {
    background-color: #f0f0f0;
}

.dataTables_length {
    display: none !important;
}

.dataTables_paginate span {
    display: none !important;
}

.dataTables_paginate .next {
    margin-left: 10px !important;
}

li.page-item.active a.page-link {
    color: #ffffff !important;
}

html.dark-mode {
    filter: invert(100%) hue-rotate(180deg);
}
/* Corrige imagens invertidas */
html.dark-mode img, html.dark-mode video {
    filter: invert(100%) hue-rotate(180deg);
}

/* Estado normal (sidebar aberta) - mantém sombra e fundo */
.nav-link.active .icon {
    background-color: #cb0c9f !important; /* cor ativa */
    color: white !important;
}

aside {
    overflow-y: auto; /* mantém o scroll funcionando */
    scrollbar-width: none; /* Firefox */
}

/* Chrome, Edge, Safari */
aside::-webkit-scrollbar {
    width: 0px;
    background: transparent; /* opcional: remove fundo */
}

/* shimmer básico */
.skeleton-box {
    height: 50px;
    border-radius: 6px;
    background: linear-gradient(90deg, #eee 25%, #f6f6f6 37%, #eee 63%);
    background-size: 400% 100%;
    animation: shimmer 1.2s infinite linear;
}
@keyframes shimmer {
    0% { background-position: 100% 0; }
    100% { background-position: 0 0; }
}

/* overlay que cobre o corpo da tabela */
.dt-skeleton-overlay {
    position: absolute;
    inset: 0;                /* top/right/bottom/left: 0 */
    padding: 8px 0;
    background: white;       /* combine com o fundo da tabela/cartão */
    display: none;           /* inicia oculto */
}
.dt-skeleton-overlay.active { display: block; }

.dt-skeleton-grid {
    display: grid;
    row-gap: 12px;
}
.dt-skeleton-row {
    display: grid;
    column-gap: 12px;
    align-items: center;
}

