body, 
.dark-element, 
.dark-bg-sub, 
.dark-input, 
.dark-border, 
.dark-text, 
.sticky-date,
h1, h2, h3, h4, p, span, a, button, input, select, textarea, label {
    transition-property: background-color, border-color, color, box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

/* GLOBAL STYLES */
body { font-family: 'Inter', sans-serif; }

/* NAVIGATION */
.nav-item { color: #9CA3AF; border-bottom: 3px solid transparent; transition: all 0.3s; cursor: pointer; }
.nav-active { color: #2563EB; border-bottom: 3px solid #2563EB; font-weight: bold; cursor: pointer; }

/* ANIMATIONS */
.fade-in { animation: fadeIn 0.3s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

/* UTILITIES */
.sticky-date { position: sticky; top: 0; z-index: 10; background: rgba(241, 245, 249, 0.95); backdrop-filter: blur(4px); }
.no-scrollbar::-webkit-scrollbar { display: none; }
.clickable-card:active { transform: scale(0.98); }
.blur-bg { backdrop-filter: blur(5px); }

/* --- DARK MODE OVERRIDES --- */
body.dark-mode { background-color: #0f172a; } /* Slate 900 */

/* Backgrounds for Cards/Modals */
body.dark-mode .dark-element { background-color: #1e293b; color: #f8fafc; } /* Slate 800 */
body.dark-mode .dark-bg-sub { background-color: #334155; } /* Slate 700 */

/* Inputs/Selects */
body.dark-mode .dark-input { 
    background-color: #334155; 
    border-color: #475569; 
    color: white; 
}

/* Borders */
body.dark-mode .dark-border { border-color: #334155; }

/* Sticky Headers */
body.dark-mode .sticky-date { 
    background: rgba(15, 23, 42, 0.95); 
    border-color: #334155; 
    color: #94a3b8; 
}

/* Text */
body.dark-mode .dark-text { color: white; }
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3 { color: white !important; }
body.dark-mode .text-gray-700 { color: #cbd5e1; }
body.dark-mode .text-gray-500 { color: #94a3b8; }
body.dark-mode .text-gray-600 { color: #94a3b8; }
body.dark-mode .bg-white { background-color: #1e293b; border-color: #334155; }