/* Icon Helper Classes */
.icon {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    vertical-align: middle;
}

.icon-sm {
    width: 1rem;
    height: 1rem;
}

.icon-md {
    width: 1.5rem;
    height: 1.5rem;
}

.icon-lg {
    width: 2rem;
    height: 2rem;
}

.icon-xl {
    width: 2.5rem;
    height: 2.5rem;
}

.icon-primary {
    color: #3B82F6;
}

.icon-success {
    color: #10B981;
}

.icon-warning {
    color: #F59E0B;
}

.icon-danger {
    color: #EF4444;
}

.icon-gray {
    color: #64748B;
}

/* Icon in buttons */
.btn .icon {
    margin-right: 0.5rem;
}

/* Icon in cards */
.card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.card-icon .icon {
    width: 24px;
    height: 24px;
}

.card-icon.primary {
    background: #EFF6FF;
    color: #3B82F6;
}

.card-icon.success {
    background: #ECFDF5;
    color: #10B981;
}

.card-icon.warning {
    background: #FFF7ED;
    color: #F59E0B;
}

.card-icon.danger {
    background: #FEE2E2;
    color: #EF4444;
}
