@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700&display=swap');

body {
    font-family: 'Sarabun', sans-serif;
    background-color: #0f172a;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.card-shadow {
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.3);
}

@media (min-width: 1280px) {
    .aspect-16-9-container {
        aspect-ratio: 16 / 9;
        max-height: 92vh;
    }
}

/* Light Theme Overrides */
body.light-theme {
    background-color: #f1f5f9;
    color: #1e293b;
}

body.light-theme #mainDashboard {
    background-color: #ffffff;
    border-color: #cbd5e1;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
}

body.light-theme header, 
body.light-theme footer {
    border-color: #e2e8f0;
}

body.light-theme .bg-slate-950\/40, 
body.light-theme .bg-slate-950\/30,
body.light-theme .bg-slate-900\/50,
body.light-theme .bg-slate-900\/40 {
    background-color: #f8fafc;
    border-color: #e2e8f0;
}

body.light-theme .text-slate-100,
body.light-theme .text-slate-200,
body.light-theme .text-slate-300 {
    color: #0f172a;
}

body.light-theme .text-slate-400 {
    color: #475569;
}

body.light-theme .text-slate-500 {
    color: #64748b;
}

body.light-theme .timeframe-btn:not(.bg-sky-600) {
    color: #475569;
}

body.light-theme .timeframe-btn:not(.bg-sky-600):hover {
    background-color: #e2e8f0;
}

body.light-theme .divide-slate-800\/60 tr {
    border-color: #e2e8f0;
}

body.light-theme input[type="date"] {
    background-color: #ffffff;
    color: #0f172a;
    border-color: #cbd5e1;
}