/* Lucide Icons Global Styles */
[data-lucide] {
    width: 1em;
    height: 1em;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    vertical-align: -0.125em;
}

/* Sidebar Navigation Icons */
.sidebar [data-lucide] {
    width: 20px;
    height: 20px;
    margin-right: 0.75rem;
}

/* Button Icons */
.btn [data-lucide] {
    width: 16px;
    height: 16px;
    margin-right: 0.5rem;
    vertical-align: middle;
}

.btn-sm [data-lucide] {
    width: 14px;
    height: 14px;
    margin-right: 0.25rem;
}

/* Card Icons */
.card-icon [data-lucide] {
    width: 24px;
    height: 24px;
}

/* Meta Item Icons */
.meta-item [data-lucide] {
    width: 16px;
    height: 16px;
    margin-right: 0.25rem;
}

/* Search Bar Icons */
.search-container [data-lucide],
.search-bar [data-lucide] {
    width: 20px;
    height: 20px;
    color: #6b7280;
}

/* Status Badge Icons */
.status-badge [data-lucide] {
    width: 14px;
    height: 14px;
    margin-right: 0.25rem;
}

/* Modal Icons */
.modal-header [data-lucide] {
    width: 20px;
    height: 20px;
}

/* Activity Icon Badges */
.activity-icon-badge {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.activity-icon-badge [data-lucide] {
    width: 16px;
    height: 16px;
    stroke-width: 2;
}

/* Activity Type Specific Colors */
.activity-upload {
    background-color: #bfdbfe;
}

.activity-upload [data-lucide] {
    color: #1e40af;
}

.activity-comment {
    background-color: #ddd6fe;
}

.activity-comment [data-lucide] {
    color: #6b21a8;
}

.activity-submission {
    background-color: #bfdbfe;
}

.activity-submission [data-lucide] {
    color: #1e40af;
}

.activity-grading {
    background-color: #e6f7ec;
}

.activity-grading [data-lucide] {
    color: #2e7d32;
}

.activity-material_share {
    background-color: #a5f3fc;
}

.activity-material_share [data-lucide] {
    color: #0e7490;
}

.activity-session_scheduled {
    background-color: #bbf7d0;
}

.activity-session_scheduled [data-lucide] {
    color: #16a34a;
}

.activity-session_completed {
    background-color: #86efac;
}

.activity-session_completed [data-lucide] {
    color: #15803d;
}

.activity-task_completed {
    background-color: #bef264;
}

.activity-task_completed [data-lucide] {
    color: #65a30d;
}

/* Timeline Icon Badges */
.timeline-marker {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.timeline-marker [data-lucide] {
    width: 16px;
    height: 16px;
    stroke-width: 2;
}

/* Timeline Type Specific Colors */
.timeline-marker.timeline-upload {
    background-color: #bfdbfe;
}

.timeline-marker.timeline-upload [data-lucide] {
    color: #1e40af;
}

.timeline-marker.timeline-comment {
    background-color: #ddd6fe;
}

.timeline-marker.timeline-comment [data-lucide] {
    color: #6b21a8;
}

.timeline-marker.timeline-created {
    background-color: #fef3c7;
}

.timeline-marker.timeline-created [data-lucide] {
    color: #d97706;
}

.timeline-marker.timeline-scored {
    background-color: #d4edda;
}

.timeline-marker.timeline-scored [data-lucide] {
    color: #155724;
}

/* Dropdown Icons */
.dropdown-toggle [data-lucide] {
    width: 16px;
    height: 16px;
    margin-left: 0.25rem;
}

/* Empty State Icons */
.empty-state [data-lucide] {
    width: 48px;
    height: 48px;
    color: #9ca3af;
}

/* Form Icons */
.form-group [data-lucide] {
    width: 16px;
    height: 16px;
    color: #6b7280;
}

/* Table Icons */
table [data-lucide] {
    width: 16px;
    height: 16px;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    [data-lucide] {
        width: 1em;
        height: 1em;
    }
    
    .sidebar [data-lucide] {
        width: 18px;
        height: 18px;
        margin-right: 0.5rem;
    }
    
    .activity-icon-badge {
        width: 28px;
        height: 28px;
        min-width: 28px;
    }
    
    .activity-icon-badge [data-lucide] {
        width: 14px;
        height: 14px;
    }
    
    .timeline-marker {
        width: 28px;
        height: 28px;
    }
    
    .timeline-marker [data-lucide] {
        width: 14px;
        height: 14px;
    }
}

/* Icon-only Buttons */
.btn-icon-only [data-lucide] {
    margin: 0;
}

/* Inline Icons */
.inline-icon [data-lucide] {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin: 0 0.25rem;
    vertical-align: middle;
}

/* Hub Selector Icon */
.hub-selector [data-lucide] {
    width: 16px;
    height: 16px;
    margin-left: 0.5rem;
}

/* Material Card Icons */
.material-card [data-lucide] {
    width: 20px;
    height: 20px;
}

/* Student Card Icons */
.student-card [data-lucide] {
    width: 16px;
    height: 16px;
    margin-right: 0.25rem;
}