/* Complementos ao Tailwind - mesmo vocabulario visual de jorgebatista.com */

@keyframes float {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-10px); }
    100% { transform: translateY(0); }
}
.animate-float { animation: float 6s ease-in-out infinite; }

@keyframes pulse-rec {
    0%, 100% { box-shadow: 0 0 0 0 rgba(244, 63, 94, .55); }
    70%      { box-shadow: 0 0 0 14px rgba(244, 63, 94, 0); }
}
.gravando { animation: pulse-rec 1.4s infinite; }

/* Barra de rolagem discreta */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, .35); border-radius: 9999px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(148, 163, 184, .6); background-clip: content-box; }

/* Linha do tempo do chamado */
.timeline { position: relative; }
.timeline::before {
    content: ""; position: absolute; left: 19px; top: 8px; bottom: 8px;
    width: 2px; background: rgba(148, 163, 184, .25);
}

/* Area de arrastar arquivos */
.dropzone.dragover { border-color: #0084ff; background: rgba(0, 132, 255, .07); }

/* Lightbox de imagens */
#lightbox { position: fixed; inset: 0; z-index: 60; display: none; place-items: center;
            background: rgba(2, 6, 23, .92); padding: 2rem; }
#lightbox.aberto { display: grid; }
#lightbox img { max-width: 100%; max-height: 90vh; border-radius: 1rem; box-shadow: 0 25px 50px -12px rgba(0,0,0,.6); }

/* Impressao dos relatorios */
@media print {
    header, footer, .nao-imprime { display: none !important; }
    body { background: #fff !important; color: #000 !important; }
}
