:root {

	--cor-fundo-primaria: var(--bs-blue);
    --cor-fundo-secundaria: var(--bs-cyan);
    --cor-fundo-terciaria: var(--bs-white);
    --cor-letra-primaria: var(--bs-black);
    --cor-letra-secundaria: var(--bs-white);
    --cor-letra-terciaria: var(--bs-blue);
    
}

.tema-claro {
	
	--cor-fundo-primaria: var(--bs-blue);
	--cor-fundo-secundaria: var(--bs-cyan);
	--cor-fundo-terciaria: var(--bs-white);
	--cor-letra-primaria: var(--bs-black);
	--cor-letra-secundaria: var(--bs-white);
	--cor-letra-terciaria: var(--bs-blue);
	
}

.tema-escuro {
	
	--cor-fundo-primaria: var(--bs-black);
	--cor-fundo-secundaria: var(--bs-gray-800);
	--cor-fundo-terciaria: var(--bs-black);
	--cor-letra-primaria: var(--bs-cyan);
	--cor-letra-secundaria: var(--bs-white);
	--cor-letra-terciaria: var(--bs-gray-800);
	
}

::-webkit-scrollbar {
	width: 1px;
	height: 12px;
}

::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 10px;
}

::-webkit-scrollbar-thumb {
	background-color: #212529;
	border-radius: 10px;
	border: 2px solid #f1f1f1;
}

::-webkit-scrollbar-thumb:active {
	background-color: #0056b3;
}

* {
	scrollbar-width: thin;
	scrollbar-color: var(--cor-fundo-primaria) #f1f1f1;
}

#manutencao {
	position: fixed;
	z-index: 999;
	background: #1E2226;
	width: 100%;
	height: 100%;
}

#manutencao #imagem {
	top: 50%;
	width: 100%;
	position: relative;
	margin-top: -175px;
	padding: 0px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

#manutencao #imagem img {
	width: 250px;
}

#manutencao span {
	color: #FFF;
	font-weight: bold;
	top: 50%;
	display: block;
	padding: 0px;
	margin: 0px;
	font-size: 20px;
	padding-top: 10px;
}

#manutencao #logopr {
	width: 150px;
	right: 0px;
	position: absolute;
	margin-left: -100px;
	margin-top: -100px;
	bottom: 0;
	padding: 20px;
}

#loading {

	position: absolute;
	background: var(--cor-fundo-secundaria);
	opacity: 0.95;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	z-index: 9999;
	position: fixed;
	display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.loading img {

	opacity: 1;
	position: absolute;
	width: 150px;
	height: 126px;
	top: 50%;
	left: 50%;
	margin-top: -90px;
	margin-left: -63px;
}

.loading span {

	opacity: 1;
	position: absolute;
	width: 150px;
	height: 20px;
	top: 50%;
	left: 50%;
	color: #FFFFFF;
	margin-top: 60px;
	margin-left: -65px;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
}

/* Container principal */


/* Pulsos Digitais */
.digital-pulses {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    height: 80px;
}

.pulse-bar {
    width: 30px;
    height: 20px;
    background: linear-gradient(to top, var(--cor-fundo-primaria), var(--cor-fundo-secundaria));
    border-radius: 2px;
    animation: pulse-basic 1.2s ease-in-out infinite;
}

/* Delay sequencial para cada barra */
.pulse-bar:nth-child(2) { animation-delay: 0.1s; }
.pulse-bar:nth-child(3) { animation-delay: 0.2s; }
.pulse-bar:nth-child(4) { animation-delay: 0.3s; }
.pulse-bar:nth-child(5) { animation-delay: 0.4s; }
.pulse-bar:nth-child(6) { animation-delay: 0.5s; }
.pulse-bar:nth-child(7) { animation-delay: 0.6s; }
.pulse-bar:nth-child(8) { animation-delay: 0.7s; }

@keyframes pulse-basic {
    0%, 100% { 
        height: 20px;
        opacity: 0.6;
        box-shadow: 0 0 10px var(--cor-letra-secundaria);
    }
    50% { 
        height: 70px;
        opacity: 1;
        box-shadow: 0 0 20px var(--cor-letra-primaria);
    }
}

/* Texto estilizado */
.loading-text {
    margin-top: 30px;
    font-family: 'Segoe UI', sans-serif;
    font-size: 1.2rem;
    color: var(--cor-letra-primaria);
    font-weight: 600;
    letter-spacing: 2px;
    text-shadow: 0 0 10px var(--cor-letra-secundaria);
    animation: text-pulse 1.5s ease-in-out infinite;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Container para os três pontos */
.loading-dots {
    display: inline-block;
    width: 40px;
    text-align: left;
    margin-left: 5px;
}

/* Estilo para os pontos */
.dots {
    font-weight: bold;
    color: var(--cor-letra-primaria);
    text-shadow: 0 0 10px var(--cor-letra-primaria);
    animation: dots-animation 1.5s infinite;
}

/* Opção 1: Pontos pulsando */
@keyframes dots-animation {
    0%, 100% {
        opacity: 0.3;
        transform: scale(0.9);
    }
    50% {
        opacity: 1;
        transform: scale(1.1);
    }
}

/* Opção 2: Pontos em digitação (mais simples) */
@keyframes typing-dots {
    0% { content: ''; }
    33% { content: '.'; }
    66% { content: '..'; }
    100% { content: '...'; }
}

/* Se quiser usar pseudo-elemento */
.loading-text::after {
    content: '...';
    animation: typing-dots 1.5s infinite;
}

@keyframes text-pulse {
    0%, 100% { 
        opacity: 0.7;
        text-shadow: 0 0 10px var(--cor-letra-primaria);
    }
    50% { 
        opacity: 1;
        text-shadow: 0 0 15px var(--cor-letra-primaria), 0 0 25px rgba(0, 217, 255, 0.5);
    }
}