body {
    background-color: #FCF6F6 !important; /* Creme Rosado */
    color: #2B1A1E !important;
    transition: background-color 0.3s ease, color 0.3s ease;
    -webkit-font-smoothing: antialiased;
}

.dark body {
    background-color: #0D1714 !important; /* Fundo Floresta Escura */
    color: #F0E6E8 !important;
}

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background-color: #F4D0D5; border-radius: 10px; }
.dark ::-webkit-scrollbar-thumb { background-color: #243B35; }

/* --- EFEITO VIDRO FOSCO NOS CARTÕES --- */
.glass-card {
    background: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    box-shadow: 0 8px 32px rgba(158, 71, 89, 0.08) !important;
}

.dark .glass-card {
    background: rgba(21, 36, 32, 0.6) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(217, 136, 149, 0.15) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

/* --- EFEITO VIDRO NOS INPUTS E DROPDOWNS --- */
input:not([type="password"]), select, textarea {
    background-color: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
}

.dark input, .dark textarea, .dark select {
    background-color: rgba(18, 31, 28, 0.6) !important;
    color: #F0E6E8 !important;
    border-color: rgba(217, 136, 149, 0.2) !important;
}

.dark input::placeholder, .dark textarea::placeholder {
    color: rgba(240, 230, 232, 0.4);
}

.dark .glass-card h1, .dark .glass-card h2, .dark .glass-card h3, .dark .glass-card h4, .dark .glass-card p, .dark .glass-card span, .dark .glass-card label {
    color: inherit;
}

.nav-link.active {
    color: #9E4759; font-weight: 600;
    border-bottom: 2px solid #9E4759;
}
.dark .nav-link.active {
    color: #D98895 !important; border-bottom-color: #D98895 !important;
}

.dark .nav-link { color: rgba(240, 230, 232, 0.6) !important; }
.dark .nav-link:hover { color: #D98895 !important; }

/* --- BARRA DE PROGRESSO COM NOVO GRADIENTE --- */
progress {
    border-radius: 9999px; width: 100%; height: 12px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}
progress::-webkit-progress-bar { background-color: rgba(255,255,255,0.6); border-radius: 9999px; }
.dark progress::-webkit-progress-bar { background-color: #0D1714; }
progress::-webkit-progress-value {
    background: linear-gradient(90deg, #D98895, #9E4759);
    border-radius: 9999px; transition: width 1s ease-in-out;
}

.dark button:not(.nav-link):not(#logout-btn):not(#theme-toggle) { color: inherit; }
.dark .bg-white, .dark .bg-gray-50 { background-color: transparent !important; }
.dark .text-gray-400, .dark .text-gray-500, .dark .text-gray-600 { color: rgba(240, 230, 232, 0.6) !important; }
.dark .border-gray-100, .dark .border-gray-200, .dark .border-gray-300 { border-color: rgba(217, 136, 149, 0.15) !important; }
.dark .bg-gray-100, .dark .bg-gray-200 { background-color: rgba(217, 136, 149, 0.1) !important; }
.dark .hover\:bg-gray-50:hover, .dark .hover\:bg-gray-100:hover { background-color: rgba(217, 136, 149, 0.15) !important; }

#toast-container { z-index: 9999; }
.toast { transform: translateY(100%); opacity: 0; transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.toast.show { transform: translateY(0); opacity: 1; }
.roulette-spinning { animation: pulse 0.5s infinite alternate; filter: blur(1px); }
.hide-scroll::-webkit-scrollbar { display: none; }
.hide-scroll { -ms-overflow-style: none; scrollbar-width: none; }

/* Correção do tamanho dos emojis gerados pelo Twemoji */
img.emoji {
    height: 1em !important;
    width: 1em !important;
    margin: 0 .05em 0 .1em !important;
    vertical-align: -0.1em !important;
    display: inline !important;
}

/* --- CABEÇALHO UNIFICADO SÓLIDO (CLARO E ESCURO) --- */
.sticky.top-0 {
    background-color: #FCF6F6 !important;
    border-color: rgba(0, 0, 0, 0.06) !important;
}

.dark .sticky.top-0 {
    background-color: #0D1714 !important;
    border-color: rgba(217, 136, 149, 0.15) !important;
}

nav {
    position: static !important;
    background: transparent !important;
    backdrop-filter: none !important;
}