body { font-family: 'Inter', sans-serif; }
.gradient-bg { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.card-shadow { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); }
.hover-scale { transition: transform 0.2s ease-in-out; }
.hover-scale:hover { transform: scale(1.02); }
.fade-in { animation: fadeIn 0.6s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.slide-in { animation: slideIn 0.5s ease-out; }
@keyframes slideIn { from { transform: translateX(-100%); } to { transform: translateX(0); } }

/* Melhorias para os resultados */
#results {
    transition: opacity 0.3s ease-in-out;
}

#results:not(.hidden) {
    opacity: 1;
    visibility: visible;
}

#results.hidden {
    opacity: 0;
    visibility: hidden;
}

/* Garantir que os resultados permaneçam visíveis */
#successResult:not(.hidden),
#errorResult:not(.hidden) {
    display: block !important;
}

/* Melhorar a transição dos resultados */
.result-transition {
    transition: all 0.3s ease-in-out;
}

/* Botão de contraste */
.contrast-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
    background: rgb(66, 153, 225);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
    padding: 12px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contrast-btn:hover {
    background: rgb(49, 130, 206);
    transform: scale(1.1);
}

/* Tema escuro */
body.dark-theme {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    color: #ffffff;
}

body.dark-theme .bg-white {
    background-color: #2d3748 !important;
    color: #ffffff;
}

body.dark-theme .text-gray-800 {
    color: #ffffff !important;
}

body.dark-theme .text-gray-600 {
    color: #cbd5e0 !important;
}

body.dark-theme .text-gray-700 {
    color: #e2e8f0 !important;
}

body.dark-theme .border-gray-200 {
    border-color: #4a5568 !important;
}

body.dark-theme .bg-gray-50 {
    background-color: #2d3748 !important;
}

body.dark-theme .bg-blue-50 {
    background-color: #2c5282 !important;
}

body.dark-theme .bg-purple-50 {
    background-color: #553c9a !important;
}

body.dark-theme .bg-amber-50 {
    background-color: #744210 !important;
}

body.dark-theme .bg-emerald-50 {
    background-color: #22543d !important;
}

body.dark-theme .bg-green-50 {
    background-color: #22543d !important;
}

body.dark-theme .bg-cyan-50 {
    background-color: #234e52 !important;
}

body.dark-theme .bg-indigo-50 {
    background-color: #2c5282 !important;
}

body.dark-theme .border-blue-100 {
    border-color: #4a5568 !important;
}

body.dark-theme .border-purple-100 {
    border-color: #4a5568 !important;
}

body.dark-theme .border-amber-100 {
    border-color: #4a5568 !important;
}

body.dark-theme .border-emerald-100 {
    border-color: #4a5568 !important;
}

body.dark-theme .border-green-100 {
    border-color: #4a5568 !important;
}

body.dark-theme .border-cyan-100 {
    border-color: #4a5568 !important;
}

body.dark-theme .bg-gray-900 {
    background-color: #1a202c !important;
}

body.dark-theme .text-gray-400 {
    color: #a0aec0 !important;
}

body.dark-theme .text-gray-500 {
    color: #a0aec0 !important;
}

body.dark-theme .border-gray-800 {
    border-color: #4a5568 !important;
}

/* Melhorias adicionais para o tema escuro */
body.dark-theme input[type="text"] {
    background-color: #4a5568 !important;
    border-color: #718096 !important;
    color: #ffffff !important;
}

body.dark-theme input[type="text"]::placeholder {
    color: #a0aec0 !important;
}

body.dark-theme input[type="text"]:focus {
    border-color: #4299e1 !important;
    box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1) !important;
}

body.dark-theme button {
    background-color: #4299e1 !important;
    color: #ffffff !important;
}

body.dark-theme button:hover {
    background-color: #3182ce !important;
}

body.dark-theme button:disabled {
    background-color: #4a5568 !important;
    color: #a0aec0 !important;
}

/* Melhorar contraste dos ícones no tema escuro */
body.dark-theme .text-blue-600 {
    color: #63b3ed !important;
}

body.dark-theme .text-purple-600 {
    color: #b794f4 !important;
}

body.dark-theme .text-amber-600 {
    color: #f6ad55 !important;
}

body.dark-theme .text-emerald-600 {
    color: #68d391 !important;
}

body.dark-theme .text-green-600 {
    color: #68d391 !important;
}

body.dark-theme .text-cyan-600 {
    color: #7dd3fc !important;
}

/* Melhorar contraste das mensagens */
body.dark-theme .text-blue-700 {
    color: #90cdf4 !important;
}

body.dark-theme .text-blue-800 {
    color: #63b3ed !important;
}

/* Header no tema escuro */
body.dark-theme .gradient-bg {
    background: linear-gradient(135deg, #2d3748 0%, #4a5568 50%, #718096 100%) !important;
}

body.dark-theme header {
    background: linear-gradient(135deg, #2d3748 0%, #4a5568 50%, #718096 100%) !important;
}

body.dark-theme .text-white {
    color: #ffffff !important;
}

body.dark-theme .text-white\/90 {
    color: rgba(255, 255, 255, 0.9) !important;
}

body.dark-theme .text-white\/80 {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Melhorar contraste dos elementos do header no tema escuro */
body.dark-theme .bg-white\/20 {
    background-color: rgba(255, 255, 255, 0.2) !important;
}

body.dark-theme .backdrop-blur-sm {
    backdrop-filter: blur(8px) !important;
}

/* Ajustar cores dos ícones no header para melhor contraste */
body.dark-theme header .fas {
    color: #ffffff !important;
}

body.dark-theme header .text-blue-400 {
    color: #63b3ed !important;
}

/* Footer no tema escuro */
body.dark-theme footer {
    background-color: #1a202c !important;
}

body.dark-theme footer .text-gray-400 {
    color: #a0aec0 !important;
}

body.dark-theme footer .text-gray-500 {
    color: #a0aec0 !important;
}

body.dark-theme footer .border-gray-800 {
    border-color: #4a5568 !important;
}

body.dark-theme footer .text-blue-400 {
    color: #63b3ed !important;
}

/* Melhorar contraste geral no tema escuro */
body.dark-theme .bg-gradient-to-br {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%) !important;
}

body.dark-theme .from-slate-50 {
    background-color: #1a1a2e !important;
}

body.dark-theme .via-blue-50 {
    background-color: #16213e !important;
}

body.dark-theme .to-indigo-100 {
    background-color: #0f3460 !important;
}

body.dark-theme .text-indigo-600 {
    color: #7dd3fc !important;
}

body.dark-theme .card-comunidado {
    background-image: none !important;
}

body.dark-theme .button-accordion {
    background-color: transparent !important;
}
body.dark-theme .button-accordion:hover {
    background-color: transparent !important;
}

/* Estilos para expandir/recolher conteúdo */
.content-collapsed {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.content-expanded {
    max-height: 1000px;
    transition: max-height 0.3s ease-in;
}

.icon-rotated {
    transform: rotate(180deg);
    transition: transform 0.3s ease;
}

.icon-normal {
    transform: rotate(0deg);
    transition: transform 0.3s ease;
}

/* Estilos para botões de toggle no tema escuro */
body.dark-theme .text-blue-600 {
    color: #63b3ed !important;
}

body.dark-theme .text-green-600 {
    color: #68d391 !important;
}

body.dark-theme .text-purple-600 {
    color: #b794f4 !important;
}

body.dark-theme .text-amber-600 {
    color: #f6ad55 !important;
}

body.dark-theme .text-indigo-600 {
    color: #7dd3fc !important;
}

body.dark-theme .hover\:text-blue-800:hover {
    color: #4299e1 !important;
}

body.dark-theme .hover\:text-green-800:hover {
    color: #48bb78 !important;
}

body.dark-theme .hover\:text-purple-800:hover {
    color: #9f7aea !important;
}

body.dark-theme .hover\:text-amber-800:hover {
    color: #ed8936 !important;
}

body.dark-theme .hover\:text-indigo-800:hover {
    color: #4299e1 !important;
}

/* Estilos para o comunicado no tema escuro */
body.dark-theme .from-red-50 {
    background-color: #2d1b1b !important;
}

body.dark-theme .to-orange-50 {
    background-color: #2d1b1b !important;
}

body.dark-theme .border-red-500 {
    border-color: #f56565 !important;
}

body.dark-theme .bg-red-100 {
    background-color: #742a2a !important;
}

body.dark-theme .text-red-600 {
    color: #f56565 !important;
}

body.dark-theme .text-red-800 {
    color: #fed7d7 !important;
}

body.dark-theme .text-red-700 {
    color: #feb2b2 !important;
}

body.dark-theme .border-red-200 {
    border-color: #742a2a !important;
}

body.dark-theme .bg-white\/50 {
    background-color: rgba(45, 27, 27, 0.5) !important;
}

.cursor-pointer{
    cursor: pointer;
}

.logo-rodape{
    max-width: 250px;
}

body.dark-theme .container-img, .container-img{
    background-image: url('/img/banner_rbc.png')!important;
    background-size: cover!important;
    background-color: rgba(0,0,0,0.7)!important;
    background-blend-mode: overlay!important;
    background-repeat: no-repeat!important;
    background-position: center!important;
}

.logo-app-container{
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s ease;
}

.logo-app-container:hover {
    transform: scale(1.05);
}

.logo-app-container:hover .logo-app-link{
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.3);
}

.logo-app-link{
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
    background: rgb(255 255 255 / 0.5);
    padding: 10px;
    border-radius: 20px;
    max-width: 350px;
}

.container-img-agendamento{
    background-image: url('/img/banner_rbc.png')!important;
    background-size: cover!important;
    background-color: rgb(54 4 4 / 70%)!important;
    background-blend-mode: overlay!important;
    background-repeat: no-repeat!important;
    background-position: center!important;
}