/* --- IDENTIDADE VISUAL EPB TECNOLOGIA 2026 --- */
:root {
    --primaria: #00796b;
    --primaria-dark: #004d40;
    --acento: #00bfa5;
    --fundo: #f4f7f6;
    --texto: #333;
    --branco: #ffffff;
}

body {
    background-color: var(--fundo);
    color: var(--texto);
    font-family: 'Roboto', sans-serif;
}

/* --- COMPONENTES NAVBAR --- */
.navbar {
    border-bottom: 3px solid var(--primaria);
}

.navbar-brand {
    font-weight: 700;
    color: var(--primaria) !important;
    letter-spacing: 1px;
}

/* --- MINI LETREIRO (TICKER) DA NAVBAR --- */
.ticker-box-parent {
    max-width: 120px; /* Tamanho ideal para não empurrar os botões */
    overflow: hidden !important;
    white-space: nowrap !important;
    position: relative;
    display: flex !important; /* Ajuda no alinhamento vertical */
    align-items: center;
}

.ticker-box {
    display: inline-block !important;
    white-space: nowrap !important;
    padding-left: 100%; 
    animation: ticker-move 12s linear infinite !important;
}

.ticker-box span {
    display: inline-block !important;
    padding-right: 50px;
    font-size: 0.8rem;
    font-weight: 500;
}

@keyframes ticker-move {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

.ticker-box-parent:hover .ticker-box {
    animation-play-state: paused;
}

/* --- BOTÕES E CARDS --- */
.btn-primary {
    background-color: var(--primaria) !important;
    border: none !important;
}

.btn-primary:hover {
    background-color: var(--primaria-dark) !important;
}

.card {
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.card-title {
    color: var(--primaria-dark);
    font-weight: bold;
}

/* --- DASHBOARD E ANIMAÇÕES --- */
.animar-entrada {
    animation: fadeInSuave 0.6s ease-out forwards;
}

@keyframes fadeInSuave {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}

.btn-acao-dashboard {
    opacity: 0.7;
    filter: grayscale(80%);
    transition: all 0.3s ease;
    min-width: 90px;
    font-weight: bold;
    font-size: 0.75rem;
}

tr:hover .btn-acao-dashboard, 
.btn-acao-dashboard:hover {
    opacity: 1 !important;
    filter: grayscale(0%) !important;
    transform: scale(1.02);
}

/* --- ACORDEÃO E TABELAS --- */
.table thead {
    background-color: var(--primaria);
    color: white;
}

.accordion-button:not(.collapsed) {
    background-color: rgba(0, 121, 107, 0.05);
    color: var(--primaria);
}

/* --- LIGHTBOX LUMINOUS --- */
.lum-lightbox { background: rgba(0, 0, 0, 0.9) !important; z-index: 10000 !important; }
.lum-img { max-width: 95vw !important; max-height: 90vh !important; object-fit: contain !important; }
.lum-close-button {
    position: fixed !important; top: 20px !important; right: 20px !important;
    width: 45px !important; height: 45px !important;
    background: rgba(255, 255, 255, 0.2) !important;
    border: 2px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 50% !important; color: #fff !important; cursor: pointer !important;
}
.lum-close-button::after { content: "×" !important; font-size: 35px !important; }
/* Versão com prefixo para garantir funcionamento em todos os dispositivos */
@-webkit-keyframes ticker-move {
    0%   { -webkit-transform: translateX(0); transform: translateX(0); }
    100% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
}

@keyframes ticker-move {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

.ticker-box {
    display: inline-block !important;
    white-space: nowrap !important;
    padding-left: 100%; 
    -webkit-animation: ticker-move 12s linear infinite !important;
    animation: ticker-move 12s linear infinite !important;
}

