body {
    font-family: 'Kanit', 'Be Vietnam Pro', sans-serif;
    background-color: #f8f9ff;
}
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.custom-scrollbar::-webkit-scrollbar { width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 10px; }

.stat-card-gradient {
    background: linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(248,250,252,1) 100%);
}

/* Main content shifts smoothly when sidebar collapses */
#mainContent {
    margin-left: 260px;
    transition: margin-left 0.3s ease-in-out;
}

/* Mobile: sidebar hidden off-canvas by default */
@media (max-width: 1024px) {
    #sidebar { transform: translateX(-100%); width: 260px !important; }
    #sidebar.mobile-open { transform: translateX(0); }
    #mainContent { margin-left: 0 !important; }
    #sidebarOverlay.active { display: block; }
}
#sidebarOverlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 40;
}

.status-badge-new     { padding: 4px 12px; background: rgba(187,0,19,0.1); color: #bb0013; border-radius: 9999px; font-size: 12px; font-weight: 700; }
.status-badge-done    { padding: 4px 12px; background: #dcfce7; color: #15803d; border-radius: 9999px; font-size: 12px; font-weight: 700; }
.status-badge-progress{ padding: 4px 12px; background: #ffedd5; color: #c2410c; border-radius: 9999px; font-size: 12px; font-weight: 700; }
.status-badge-reject  { padding: 4px 12px; background: #fee2e2; color: #b91c1c; border-radius: 9999px; font-size: 12px; font-weight: 700; }
