body { font-family: 'Inter', sans-serif; background: #f8fafc; }
.glass { background: rgba(255, 255, 255, 0.75); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.4); }
.sidebar-active { background: rgba(99, 102, 241, 0.12); border-left: 3px solid #6366f1; }
.card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card:hover { transform: translateY(-4px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); }
.animate-fade { animation: fadeIn 0.6s ease-out forwards; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.dot-pulse { position: relative; }
.dot-pulse::before { content: ''; position: absolute; top: 50%; left: -20px; width: 8px; height: 8px; background: #6366f1; border-radius: 50%; animation: pulse 1.5s infinite; }
@keyframes pulse { 0%, 100% { opacity: 0; } 50% { opacity: 1; } }
.status-present { background-color: #dcfce7; color: #166534; }
.status-late { background-color: #fef3c7; color: #92400e; }
.status-absent { background-color: #fee2e2; color: #991b1b; }
.status-pass { background-color: #dcfce7; color: #166534; }
.status-fail { background-color: #fee2e2; color: #991b1b; }
.status-pending { background-color: #f3f4f6; color: #374151; }
.zebra-table tr:nth-child(even) { background-color: #f9fafb; }
.view-container { display: none; }
#profileView { display: block; }
.nav-active { background: rgba(99, 102, 241, 0.12); border-left: 3px solid #6366f1; background-color: rgb(238 242 255); }

/* MOBILE MENU FIXES */
.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 280px;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    z-index: 100;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    border-right: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.sidebar.open {
    transform: translateX(0);
}

/* MOBILE OVERLAY */
.mobile-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}
.mobile-overlay.show {
    opacity: 1;
    visibility: visible;
}

/* Desktop styles */
@media (min-width: 1024px) {
    .sidebar {
        transform: translateX(0) !important;
        position: fixed;
        width: 16rem;
    }
    .mobile-overlay {
        display: none !important;
    }
    #mobile-menu-btn {
        display: none;
    }
}

.meeting-today {
    border-left: 4px solid #10b981 !important;
    background: linear-gradient(to right, #f0fdf4, #ffffff);
}
.meeting-upcoming {
    border-left: 4px solid #3b82f6 !important;
}

/* Improved meeting card styling */
.meeting-card {
    transition: all 0.3s ease;
    border-radius: 12px;
    overflow: hidden;
}
.meeting-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

.section-header {
    padding: 1rem 0;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #e5e7eb;
}

/* Ensure color classes work properly */
.bg-red-100 { background-color: #fee2e2; }
.bg-red-600 { background-color: #dc2626; }
.text-red-600 { color: #dc2626; }
.bg-blue-100 { background-color: #dbeafe; }
.bg-blue-600 { background-color: #2563eb; }
.text-blue-600 { color: #2563eb; }
.bg-green-100 { background-color: #dcfce7; }
.bg-green-600 { background-color: #16a34a; }
.text-green-600 { color: #16a34a; }
.bg-orange-100 { background-color: #ffedd5; }
.bg-orange-600 { background-color: #ea580c; }
.text-orange-600 { color: #ea580c; }
.bg-purple-100 { background-color: #f3e8ff; }
.bg-purple-600 { background-color: #9333ea; }
.text-purple-600 { color: #9333ea; }
.bg-yellow-100 { background-color: #fef3c7; }
.bg-yellow-600 { background-color: #d97706; }
.text-yellow-600 { color: #d97706; }